RESOLVED WONTFIX 210287
[GTK] Disable PSON unless WPE_RENDERER is enabled
https://bugs.webkit.org/show_bug.cgi?id=210287
Summary [GTK] Disable PSON unless WPE_RENDERER is enabled
Michael Catanzaro
Reported 2020-04-09 10:01:41 PDT
I've failed to fix WPE_RENDERER in F32 (bug #209118) and failed to fix WaylandCompositor to work with PSON (bug #209345). We should disable PSON when using WaylandCompositor until bug #209345 is fixed.
Attachments
Patch (2.02 KB, patch)
2020-04-09 10:15 PDT, Michael Catanzaro
no flags
Patch (2.02 KB, patch)
2020-04-09 10:15 PDT, Michael Catanzaro
cgarcia: review-
cgarcia: commit-queue-
Michael Catanzaro
Comment 1 2020-04-09 10:15:12 PDT
Michael Catanzaro
Comment 2 2020-04-09 10:15:30 PDT
EWS Watchlist
Comment 3 2020-04-09 10:16:12 PDT
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Дилян Палаузов
Comment 4 2020-04-09 10:52:46 PDT
Дилян Палаузов
Comment 5 2020-04-09 10:54:19 PDT
Why do I need WPE (renderer)?
Michael Catanzaro
Comment 6 2020-04-09 11:41:38 PDT
(In reply to Дилян Палаузов from comment #4) > https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebContext. > html#WebKitWebContext--process-swap-on-cross-site-navigation-enabled > > why does it say that by default PSON defaults to FALSE? Because it breaks apps that aren't prepared for it. Epiphany enables it because it's an important security feature.
Michael Catanzaro
Comment 7 2020-04-09 13:39:35 PDT
(In reply to Дилян Палаузов from comment #5) > Why do I need WPE (renderer)? You don't. It's just faster.
Michael Catanzaro
Comment 8 2020-04-09 14:14:23 PDT
Backport for 2.28 branch: diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp index 33a9b7d5ad060f275dcf7156a8cff3f37644e736..70b485da05a92caa91bf91b9653740b8e93cf96c 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp @@ -376,6 +376,9 @@ static void webkitWebContextConstructed(GObject* object) API::ProcessPoolConfiguration configuration; configuration.setInjectedBundlePath(FileSystem::stringFromFileSystemRepresentation(bundleFilename.get())); #if PLATFORM(GTK) +// FIXME: PSON is currently broken unless WPE_RENDERER is enabled. +// https://bugs.webkit.org/show_bug.cgi?id=209345 +#if USE(WPE_RENDERER) configuration.setProcessSwapsOnNavigation(priv->psonEnabled); if (!priv->psonEnabled) { const char* useSingleWebProcess = getenv("WEBKIT_USE_SINGLE_WEB_PROCESS"); @@ -387,6 +390,8 @@ static void webkitWebContextConstructed(GObject* object) configuration.setUsesSingleWebProcess(true); } } +#else + configuration.setProcessSwapsOnNavigation(false); #endif if (!priv->websiteDataManager)
Michael Catanzaro
Comment 9 2020-04-09 14:17:43 PDT
Backport is busted, sorry....
Michael Catanzaro
Comment 10 2020-04-09 14:24:54 PDT
Better backport: diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp index 33a9b7d5ad060f275dcf7156a8cff3f37644e736..70b485da05a92caa91bf91b9653740b8e93cf96c 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp @@ -376,7 +376,11 @@ static void webkitWebContextConstructed(GObject* object) API::ProcessPoolConfiguration configuration; configuration.setInjectedBundlePath(FileSystem::stringFromFileSystemRepresentation(bundleFilename.get())); #if PLATFORM(GTK) +#if USE(WPE_RENDERER) + configuration.setProcessSwapsOnNavigation(priv->psonEnabled); +#else configuration.setProcessSwapsOnNavigation(false); +#endif if (!priv->psonEnabled) { const char* useSingleWebProcess = getenv("WEBKIT_USE_SINGLE_WEB_PROCESS"); if (useSingleWebProcess && strcmp(useSingleWebProcess, "0"))
Carlos Garcia Campos
Comment 11 2020-04-10 06:28:29 PDT
Comment on attachment 395971 [details] Patch You know I prefer to fix bugs instead of disabling features to work around them.
Michael Catanzaro
Comment 12 2020-04-10 14:07:27 PDT
:)
Note You need to log in before you can comment on or make changes to this bug.