Title: [269504] trunk/Source/WebKit
Revision
269504
Author
[email protected]
Date
2020-11-06 01:01:13 -0800 (Fri, 06 Nov 2020)

Log Message

[GTK] dlopen libWPEBackend-fdo-1.0.so.1 instead of libWPEBackend-fdo-1.0.so
https://bugs.webkit.org/show_bug.cgi?id=218584

Patch by Michael Catanzaro <[email protected]> on 2020-11-06
Reviewed by Carlos Garcia Campos.

wpe_loader_init() tries to dlopen a development symlink, but these will not usually be
installed. It only works in the GNOME flatpak runtime because we don't use devel split
rules in the GNOME runtime, but we really ought to, and freedesktop-sdk already does, so
it's going to break upstream too once that gets implemented. It's easier for everyone if
we tackle this now. Since all major distros except Arch Linux use devel split, this patch
is really required for almost every distro to use WPE renderer.

The downside is that this makes it harder to update the wpebackend-fdo library version,
since minor changes there will now unnecessarily break WebKit. This is not good, but it's
better than forcing distros to apply this same patch downstream. I considered trying a bunch
of different library versions in a loop in order to maximize the chance of success in case
the wpebackend-fdo library version increases in the future, but it's probably nicer to just
be careful about not changing its library version until we find a better solution for this.

* UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (269503 => 269504)


--- trunk/Source/WebKit/ChangeLog	2020-11-06 07:27:31 UTC (rev 269503)
+++ trunk/Source/WebKit/ChangeLog	2020-11-06 09:01:13 UTC (rev 269504)
@@ -1,3 +1,27 @@
+2020-11-06  Michael Catanzaro  <[email protected]>
+
+        [GTK] dlopen libWPEBackend-fdo-1.0.so.1 instead of libWPEBackend-fdo-1.0.so
+        https://bugs.webkit.org/show_bug.cgi?id=218584
+
+        Reviewed by Carlos Garcia Campos.
+
+        wpe_loader_init() tries to dlopen a development symlink, but these will not usually be
+        installed. It only works in the GNOME flatpak runtime because we don't use devel split
+        rules in the GNOME runtime, but we really ought to, and freedesktop-sdk already does, so
+        it's going to break upstream too once that gets implemented. It's easier for everyone if
+        we tackle this now. Since all major distros except Arch Linux use devel split, this patch
+        is really required for almost every distro to use WPE renderer.
+
+        The downside is that this makes it harder to update the wpebackend-fdo library version,
+        since minor changes there will now unnecessarily break WebKit. This is not good, but it's
+        better than forcing distros to apply this same patch downstream. I considered trying a bunch
+        of different library versions in a loop in order to maximize the chance of success in case
+        the wpebackend-fdo library version increases in the future, but it's probably nicer to just
+        be careful about not changing its library version until we find a better solution for this.
+
+        * UIProcess/glib/WebProcessPoolGLib.cpp:
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+
 2020-11-05  Said Abou-Hallawa  <[email protected]>
 
         [GPU Process] Use the Ref counting of ImageBuffer to control its life cycle in Web Process and GPU Process

Modified: trunk/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp (269503 => 269504)


--- trunk/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp	2020-11-06 07:27:31 UTC (rev 269503)
+++ trunk/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp	2020-11-06 09:01:13 UTC (rev 269504)
@@ -84,7 +84,7 @@
 #if PLATFORM(WAYLAND)
     if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) {
 #if USE(WPE_RENDERER)
-        wpe_loader_init("libWPEBackend-fdo-1.0.so");
+        wpe_loader_init("libWPEBackend-fdo-1.0.so.1");
         if (AcceleratedBackingStoreWayland::checkRequirements()) {
             parameters.hostClientFileDescriptor = wpe_renderer_host_create_client();
             parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(wpe_loader_get_loaded_implementation_library_name());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to