Bug 194979

Summary: [GTK][WPE] Enable PSON
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebKitGTKAssignee: Michael Catanzaro <mcatanzaro>
Status: RESOLVED FIXED    
Severity: Normal CC: agomez, aperez, bugs-noreply, cdumez, cgarcia, clopez, commit-queue, ews-watchlist, ltilve, mcatanzaro, zan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: PC   
OS: Linux   
See Also: https://bugs.webkit.org/show_bug.cgi?id=195005
https://bugs.webkit.org/show_bug.cgi?id=195270
Bug Depends on: 195270, 195273    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch zan: review+

Michael Catanzaro
Reported 2019-02-23 13:06:38 PST
Enable PSON. Seems to work. YOLO, etc.
Attachments
Patch (1.40 KB, patch)
2019-02-23 13:07 PST, Michael Catanzaro
no flags
Patch (1.35 KB, patch)
2019-02-25 07:23 PST, Michael Catanzaro
no flags
Patch (18.62 KB, patch)
2019-06-06 00:37 PDT, Carlos Garcia Campos
zan: review+
Michael Catanzaro
Comment 1 2019-02-23 13:07:55 PST
Zan Dobersek
Comment 2 2019-02-24 06:40:21 PST
WPE output locks up on a backwards navigation. It'd be nice to enable this by default, but there has to be a way to override it at runtime.
Michael Catanzaro
Comment 3 2019-02-24 14:14:53 PST
Hmm, back/forward works in GTK MiniBrowser. We don't want to provide a way to disable it because it's required for Spectre mitigation. If it doesn't work yet, we should just not enable it.
Chris Dumez
Comment 4 2019-02-24 14:25:56 PST
Looks like you may need some fixes specific to your ports. PSON has been enabled on macOS and iOS by default for a while now and works as expected although we are still ironing out a few (minor) quirks.
Michael Catanzaro
Comment 5 2019-02-25 06:47:44 PST
(In reply to Chris Dumez from comment #4) > Looks like you may need some fixes specific to your ports. PSON has been > enabled on macOS and iOS by default for a while now and works as expected > although we are still ironing out a few (minor) quirks. Yeah, I don't have time to look into it soon though, so we can either enable it only for GTK and not for WPE, or just not do it yet. Let's try the former, actually, and see if anyone tries problems.
Michael Catanzaro
Comment 6 2019-02-25 06:48:15 PST
(Note: it's expected that something will be wrong, but at least back/forward does work for me.)
Michael Catanzaro
Comment 7 2019-02-25 07:23:00 PST
Zan Dobersek
Comment 8 2019-02-25 08:58:57 PST
If you can, please open a WPE-specific bug for this. Otherwise I will when I get to it.
WebKit Commit Bot
Comment 9 2019-02-25 10:04:13 PST
Comment on attachment 362902 [details] Patch Clearing flags on attachment: 362902 Committed r242045: <https://trac.webkit.org/changeset/242045>
WebKit Commit Bot
Comment 10 2019-02-25 10:04:15 PST
All reviewed patches have been landed. Closing bug.
Michael Catanzaro
Comment 11 2019-02-25 12:44:14 PST
Before: Failed 2 jsc tests failed 25 failures 2 new passes 4 flakes api tests: 7 failures, 3 crashes, 13 timeouts webdriver-test 48 failures, 7 new passes After: Failed 1 jsc test failed 26 failures 3 new passes 7 flakes api tests: 7 failures, 3 crashes, 12 timeouts webdriver-test 49 failures, 7 new passes 👍
Carlos Garcia Campos
Comment 12 2019-03-04 03:58:48 PST
(In reply to Michael Catanzaro from comment #11) > Before: > > Failed 2 jsc tests failed 25 failures 2 new passes 4 flakes api tests: 7 > failures, 3 crashes, 13 timeouts webdriver-test 48 failures, 7 new passes > > After: > > Failed 1 jsc test failed 26 failures 3 new passes 7 flakes api tests: 7 > failures, 3 crashes, 12 timeouts webdriver-test 49 failures, 7 new passes > > 👍 Layout tests are not a good way to test PSON, since there aren't many cross-site navigations. We are not yet ready to enable PSON.
WebKit Commit Bot
Comment 13 2019-03-04 03:59:31 PST
Re-opened since this is blocked by bug 195273
Michael Catanzaro
Comment 14 2019-03-04 07:14:34 PST
Hm, I indeed never tested compositing mode. I only tested webkitgtk.org in MiniBrowser. I tested several other sites, but in Epiphany, without compositing mode. :(
Michael Catanzaro
Comment 15 2019-03-04 07:15:47 PST
(In reply to Michael Catanzaro from comment #14) > I only tested webkitgtk.org in MiniBrowser. And yeah, in retrospect that sounds pretty dumb, since there's no cross-site navigations involved there.
Carlos Garcia Campos
Comment 16 2019-06-06 00:37:10 PDT
Created attachment 371478 [details] Patch Let's try again now.
Carlos Garcia Campos
Comment 17 2019-06-06 00:48:00 PDT
Chris, do you plan to keep the WebProcessPool configuration option to enable/disable and/or the web preference? I wonder if we should add API to allow disabling PSON and how. What about the other configurations? alwaysKeepAndReuseSwappedProcesses is only for testing/debugging, right? and processSwapsOnWindowOpenWithOpener? I think we always use related views for window.open().
Carlos Garcia Campos
Comment 18 2019-06-06 00:53:02 PDT
*** Bug 195005 has been marked as a duplicate of this bug. ***
Carlos Garcia Campos
Comment 19 2019-06-06 04:34:08 PDT
Michael Catanzaro
Comment 20 2019-06-06 06:24:19 PDT
Great work. (In reply to Carlos Garcia Campos from comment #17) > Chris, do you plan to keep the WebProcessPool configuration option to > enable/disable and/or the web preference? I wonder if we should add API to > allow disabling PSON and how. What about the other configurations? > alwaysKeepAndReuseSwappedProcesses is only for testing/debugging, right? and > processSwapsOnWindowOpenWithOpener? I think we always use related views for > window.open(). I don't think we should expose any of these.
Chris Dumez
Comment 21 2019-06-06 08:18:31 PDT
(In reply to Carlos Garcia Campos from comment #17) > Chris, do you plan to keep the WebProcessPool configuration option to > enable/disable and/or the web preference? I wonder if we should add API to > allow disabling PSON and how. Ideally, PSON becomes de default everywhere and there is no reason to disable it. I do not think we should expose API for this. Apple currently has private API (SPI) but hopefully it will get dropped. > What about the other configurations? > alwaysKeepAndReuseSwappedProcesses is only for testing/debugging, right? Right, solely for debugging and I suspect we'll drop support for this soon because we're not using it and it has some maintenance cost. > and > processSwapsOnWindowOpenWithOpener? I think we always use related views for > window.open(). This is an experiment at this point and does not work yet. No need to expose this.
Carlos Garcia Campos
Comment 22 2019-06-06 22:43:01 PDT
Perfect, thanks Chris!
Note You need to log in before you can comment on or make changes to this bug.