Created
February 28, 2013 17:11
-
-
Save rafaelbrandao/5058315 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[18:28] <othermaciej> abarth: specifically the reason I'm asking this stuff is I'm wondering if the Chrome model leads to natural memory cache sharing in the "cmd-click a same-site link" case | |
[18:28] <othermaciej> abarth: sounds like no | |
[18:29] <-- noamr has left this server (Read error: No route to host). | |
[18:29] <CoverSlide> does webkit have an equivalent to Firefox's "moz-chunked-arraybuffer" xhr responseType? | |
[18:29] <-- loislo1 has left this server (Ping timeout: 255 seconds). | |
[18:29] <vollick> krit, smfr: It appears that https://bugs.webkit.org/show_bug.cgi?id=108508 is causing some chromium failures. Here's one http://build.chromium.org/p/chromium.webkit/builders/WebKit%20XP%20%28deps%29/builds/3170 | |
[18:30] --> loislo1 has joined this channel (~Adium@178.252.112.146). | |
[18:30] <othermaciej> abarth: I don't know if anyone but Apple will even use the third-party data blocking feature at all - we haven't tried to promote it for other ports in part because we want to ne confident that it's reasonably effective first | |
[18:30] --> steveire has joined this channel (~quassel@g231114202.adsl.alicedsl.de). | |
[18:30] <-- steveire has left this server (Changing host). | |
[18:30] --> steveire has joined this channel (~quassel@kde/skelly). | |
[18:30] <vollick> krit, smfr: In particular, these are the tests that now continue to fail: canvas-currentPath.html canvas-path-constructors.html canvas-currentPath.html canvas-path-constructors.html | |
[18:31] <-- jkjiangDesk has left this server (Remote host closed the connection). | |
[18:31] <vollick> krit, smfr: Do you recommend updating expectations, or should I rollout? | |
[18:31] <-- steveire has left this server (Remote host closed the connection). | |
[18:32] <rouslan> tony^work: should i just change the test to use a word that is going to be marked as misspelling? spellcheck is timing out because i wait until it marks at least one word as a misspelling. gtk and qt do not mark "cheher" misspelled | |
[18:32] <jamesr> vollick, hmm, does that bot not report to the flakiness dashboard? | |
[18:33] <abarth> othermaciej: the process model is a matter of policy. you can use different process models depending on what you'd like to tune for | |
[18:33] <vollick> jamesr: I was wondering the same thing. Dashboard looks as clean as can be. | |
[18:33] <abarth> othermaciej: some of it is technology limited. for example, I don't expect webkit2 to support out-of-process iframes anytime soon | |
[18:34] <tony^work> rouslan: sure. although I think it'll still fail on some platforms because of some testRunner methods that aren't implemented. | |
[18:34] <abarth> othermaciej: but oop iframes unlock a bunch of interesting process models | |
[18:34] <jamesr> vollick, can you find the actual diff? should be in here: http://build.chromium.org/f/chromium/layout_test_results/WebKit_XP__deps_/183788/ | |
[18:34] <rouslan> tony^work: https://bugs.webkit.org/show_bug.cgi?id=108528 says that's the case for efl (they do not have async spellcheck) | |
[18:34] <abarth> othermaciej: even it were effective, people won't don't need to support WebKit1 as an OS API would implement the feature differently | |
[18:35] <abarth> othermaciej: (and it's not effective---just to be clear) | |
[18:35] --> Glan has joined this channel (~glan@2620:149:4:1a01:596f:384b:3854:fc74). | |
[18:35] <othermaciej> abarth: well, my theory was that you wouldn't want to pin links opened in new tabs to the same process because it would be bad for responsiveness and fault isolation; I was curious what Chrome does in that case to understand if you guys had found differently | |
[18:35] <tony^work> rouslan: Yeah, so for EFL, we probably want to keep the Failure tag. Maybe we can use a different misspelled word to get the test to run on Gtk and Qt. | |
[18:35] <esprehn> ojan: ping | |
[18:36] --> jkjiangDesk has joined this channel (~quassel@c73-215.rim.net). | |
[18:36] <ojan> esprehn: pong | |
[18:36] <esprehn> ojan: so new counters seem reasonably fast in some benchmarks, but you can easily construct a pathological case | |
[18:36] <rouslan> tony^work: I think the word "wellcome" should work. it's used in many other spelling tests | |
[18:36] <othermaciej> abarth: I'm more curious about the sidetrack "which process model is best for good cache sharing vs other factors" issue than the cache partitioning feature - I already know you don't like cache partitioning (but are grudgingly ok with landing it in ifdefs) and don't expect to learn anything new about your thoughts on that topic | |
[18:36] <tony^work> rouslan: SGTM | |
[18:37] <rouslan> tony^work: should we mark my earlier spelling tests Failure instead of Skip on efl? | |
[18:37] <-- saki007ster has left this server (Remote host closed the connection). | |
[18:37] <esprehn> ojan: ie. adding a counter and triggering a layout in a loop: for (...) addCounter(); offsetTop; would be crazy slow | |
[18:37] <tony^work> rouslan: I prefer Failure if it doesn't timeout since you can see the results on the waterfall, but Skip is also OK. | |
[18:37] <esprehn> ojan: for some definition of crazy slow | |
[18:38] <ojan> esprehn: that specific case doesn't bother me | |
[18:38] *** jernoble is now known as jernoble|afk. | |
[18:38] *** jernoble|afk is now known as jernoble. | |
[18:38] <pdr> sheriffbot: gardeners | |
[18:38] <ojan> esprehn: did you try the view-source of the html spec? | |
[18:38] <sheriffbot> pdr: The current Chromium Webkit sheriffs are: toyoshim, vollick | |
[18:38] <othermaciej> abarth: I guess the Chromium model that would lead to sharing between explicitly opened tabs on the same site would be the "process-per-site" model | |
[18:38] <WKR> https://trac.webkit.org/r143648 by Philip Rogers (pdr) Fix duplicate TestExpecataions entry for svg/custom/foreign-object-skew.svg Unreviewed gardening of TestExpecations * platform/chromium/TestExpectations: | |
[18:38] <othermaciej> abarth: but I presume you wouldn't recommend that as the best overall approach? | |
[18:39] <pdr> toyoshim, vollick: svg/custom/foreign-object-skew.svg was failing because there were duplicate entries in TestExpectations. Has been fixed while the bots catch up. | |
[18:39] <othermaciej> abarth: I read the Site Isolation design doc too btw http://www.chromium.org/developers/design-documents/site-isolation | |
[18:39] --> abinader has joined this channel (~abinader@share.basyskom.com). | |
[18:39] <othermaciej> abarth: I think it is a good long-term goal though clearly there are hard issues to resolve | |
[18:39] --> isherman-book has joined this channel (Adium@nat/google/x-hzskymwhvvvcgvdv). | |
[18:40] <-- nduca has left this server (Quit: nduca). | |
[18:40] <esprehn> ojan: that's next, just been fixing bugs. Sorting is expensive, I had to add dirty bits and get the deferred update working first. | |
[18:40] <esprehn> ojan: my original attempt made some tests run in 4 seconds :) | |
[18:41] --> krit has joined this channel (~krit@216-75-239-90.static.wiline.com). | |
[18:41] <vollick> pdr: Thanks! | |
[18:41] --> kbrgg has joined this channel (~kbr@216.239.45.77). | |
[18:41] <esprehn> ojan: so far it's 240 lines to implement counters vs 1240 lines with the old stuff | |
[18:42] <abarth> othermaciej: right, that's why the default is process-per-site-instance | |
[18:42] <abarth> or rather, the "instance" part means | |
[18:42] <abarth> that we can have multiple processes for the same site | |
[18:42] <-- lmclister has left this server. | |
[18:42] <abarth> if we consider them to be different instances of that site (e.g., if there isn't any script connection) | |
[18:43] <abarth> process-per-site cannot be implemented without oop iframes | |
[18:43] <abarth> because without oop iframes, child frames must be in the same process as their parent | |
[18:43] <abarth> even if they belong to different sites | |
[18:43] <-- ryumiel has left this server (Ping timeout: 255 seconds). | |
[18:43] <othermaciej> abarth: I think what we do in WebKit2 right now is somewhere between Chromim's process-per-tab and process-per-site-instance -- we swap processes on some but not all UI-process-initiated navigations | |
[18:44] <abarth> process-per-tab is not a good process model | |
[18:44] <abarth> the doc is polite about it | |
[18:44] <abarth> but it's a pretty bad set of trade-offs | |
[18:44] <othermaciej> from what I can tell from the docs, the only difference is whether it swaps processes on navigation | |
[18:44] <othermaciej> but I may be misreading the docs | |
[18:44] <WKR> https://trac.webkit.org/r143649 by Tony Gentilcore (tonyg-cr) Tune BackgroundHTMLParser's pendingTokenLimit based on a benchmark https://webkit.org/b/110408 Reviewed by Adam Barth (abarth). | |
[18:45] <abarth> yes, swapping on navigation makes a big difference :) | |
[18:45] --> ryumiel has joined this channel (~ryumiel@210.217.28.15). | |
[18:45] <esprehn> othermaciej: there's issues with that like <a ... target=" x">Link</a> and then window.open(..., "x") gives access to the window directly | |
[18:45] <othermaciej> and specifically only UI-process-initiated navigation afaict | |
[18:46] <othermaciej> esprehn: yeah, I was thinking particularly of cmd-click (or on windows I guess it's middle click?) to explicitly open a link in a new tab | |
[18:46] --> Zoltan has joined this channel (~Zoltan@83.166.209.226). | |
[18:46] <esprehn> othermaciej: yes, that's what I mean | |
[18:46] <esprehn> othermaciej: you can get access to it with window.open if you specify the same name | |
[18:46] <othermaciej> esprehn: no, I'm thinking of a regular link with no target= | |
[18:46] <othermaciej> esprehn: I realize target= is special | |
[18:47] <othermaciej> like if I go down the Hacker News front page and cmd-click every link to open a new tab | |
[18:47] <abarth> othermaciej: you should try it and see | |
[18:47] <abarth> the task manage in chrome will tell you how the processes are grouped | |
[18:47] <abarth> manager | |
[18:47] <esprehn> ah, then I don't think they're accessible | |
[18:47] <othermaciej> OK, I did not realize there was an easy way to tell in the UI | |
[18:48] <abarth> yes, you can also try different process models with a command line swithc | |
[18:48] <abarth> I think it's --process-model | |
[18:48] <abarth> the doc on the web site might say | |
[18:48] --> nduca has joined this channel (nduca@nat/google/x-aallnmiwisiwyxhu). | |
[18:48] <jamesr> also keep in mind we have overall process count limits based on system memory, etc | |
[18:48] <othermaciej> abarth: anyway, although we call our model process-per-tab, we do swap processes on some UI-initiated navigations and will probably over time do it on all | |
[18:49] <othermaciej> abarth: is there a deep reason Chrome doesn | |
[18:49] <othermaciej> t process-swap on renderer-initiated navigations or is that just implementation accident? | |
[18:49] <abarth> there are compatibility issues | |
[18:50] <othermaciej> jamesr: yes - we have a process count cap for similar reasons (though I think tabs that need to be isolated for security reasons would be able to bust the cap) | |
[18:50] <abarth> because using a new process moves to a different unit of related browsing contexts | |
[18:50] <abarth> which effects things like named window resolution | |
[18:50] <esprehn> othermaciej: Webkit2 will create mere than one Web Content Process now? | |
[18:50] <othermaciej> esprehn: it has a mode where it can do so, yeah - not enabled in any shipping browser yet afaik | |
[18:51] <esprehn> ok | |
[18:51] <jochen__> also, depending on the navigation, we create a new process | |
[18:51] <WKR> https://trac.webkit.org/r143650 by Dean Jackson (dino) Plug-in snapshotting code always accepts first snapshot https://webkit.org/b/110495 Reviewed by Tim Horton (thorton). | |
[18:51] <othermaciej> it sounds like it has ended up surprisingly similar to Chrome's model though not yet as mature or as advanced and perhaps different in some minor details | |
[18:52] --> jbrianceau has joined this channel (52e5b577@gateway/web/freenode/ip.82.229.181.119). | |
[18:52] <esprehn> from a security perspective you'd want all origin changes to process swap | |
[18:52] <esprehn> so you couldn't get a user to go to site A, load up a bunch of autofill data for origin A, navigate to B and compromise it | |
[18:53] <othermaciej> yeah but you can also do that with frames | |
[18:53] <esprehn> I think right now Chrome's process model doesn't sandbox autofill data per origin like that yet | |
[18:53] <othermaciej> which is why <http://www.chromium.org/developers/design-documents/site-isolation> is the presumed security ideal | |
[18:53] <esprehn> right, process per tab is part of that effort | |
[18:53] <esprehn> err frame I mean :) | |
[18:53] <abarth> othermaciej: right, that's why you need out of process iframes | |
[18:53] <jbrianceau> olliej: ping | |
[18:53] --> lmclister has joined this channel (~lmclister@216-75-239-90.static.wiline.com). | |
[18:54] <-- loislo1 has left this server (Quit: Leaving.). | |
[18:55] <jamesr> anyone here know about CachedFrame? | |
[18:55] <jamesr> i'm trying to understand its relationship with a FrameView | |
[18:55] <jamesr> smfr, maybe you know? | |
[18:56] <othermaciej> abarth, esprehn, jamesr: thanks for the discussion, I feel like I learned something |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment