diff --git a/browser_patches/webkit/BUILD_NUMBER b/browser_patches/webkit/BUILD_NUMBER index 7c22107007..c2306a4903 100644 --- a/browser_patches/webkit/BUILD_NUMBER +++ b/browser_patches/webkit/BUILD_NUMBER @@ -1 +1 @@ -1262 +1263 diff --git a/browser_patches/webkit/archive.sh b/browser_patches/webkit/archive.sh index fae047b381..b4dc1d471a 100755 --- a/browser_patches/webkit/archive.sh +++ b/browser_patches/webkit/archive.sh @@ -64,6 +64,8 @@ createZipForLinux() { LD_LIBRARY_PATH="$PWD/WebKitBuild/WPE/DependenciesWPE/Root/lib" ldd WebKitBuild/WPE/Release/bin/WPEWebProcess | grep -o '[^ ]*WebKitBuild/WPE/[^ ]*' | xargs cp -t $tmpdir # Copy libvpx.so.5 as Ubuntu 20.04 comes with libvpx.so.6 ldd WebKitBuild/WPE/Release/bin/MiniBrowser | grep -o '[^ ]*\/libvpx.so.5[^ ]*' | xargs cp -t $tmpdir + # Injected bundle is loaded dynamicly via dlopen => not bt listed by ldd. + cp -t $tmpdir WebKitBuild/WPE/Release/lib/libWPEInjectedBundle.so mkdir -p $tmpdir/gio/modules cp -t $tmpdir/gio/modules $PWD/WebKitBuild/WPE/DependenciesWPE/Root/lib/gio/modules/* @@ -75,6 +77,8 @@ createZipForLinux() { cp -t $tmpdir ./WebKitBuild/GTK/Release/bin/MiniBrowser ./WebKitBuild/GTK/Release/bin/WebKit*Process # copy all relevant shared objects LD_LIBRARY_PATH="$PWD/WebKitBuild/GTK/DependenciesGTK/Root/lib" ldd WebKitBuild/GTK/Release/bin/MiniBrowser | grep -o '[^ ]*WebKitBuild/GTK/[^ ]*' | xargs cp -t $tmpdir + # Injected bundle is loaded dynamicly via dlopen => not bt listed by ldd. + cp -t $tmpdir WebKitBuild/GTK/Release/lib/libwebkit2gtkinjectedbundle.so # Copy libvpx.so.5 as Ubuntu 20.04 comes with libvpx.so.6 ldd WebKitBuild/GTK/Release/bin/MiniBrowser | grep -o '[^ ]*\/libvpx.so.5[^ ]*' | xargs cp -t $tmpdir mkdir -p $tmpdir/gio/modules diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index 844fc57f1a..e35a4b5943 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -7784,7 +7784,7 @@ index 07da96138db1333ce5a49093dc2187fd12032214..fc149b28dc25133f4618a8ac24039abe bool canRunBeforeUnloadConfirmPanel() const final { return true; } diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp -index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224d249f10a 100644 +index 041bfb545c6af6220a8266d356ac19d90791cb83..814558c67bfdb9c3cf635f62608349a8e0307229 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp @@ -119,8 +119,8 @@ enum { @@ -7807,7 +7807,19 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224 #if !USE(GTK4) bool useSystemAppearanceForScrollbars; #endif -@@ -335,10 +335,10 @@ static void webkitWebContextGetProperty(GObject* object, guint propID, GValue* v +@@ -306,11 +306,9 @@ WEBKIT_DEFINE_TYPE(WebKitWebContext, webkit_web_context, G_TYPE_OBJECT) + + static const char* injectedBundleDirectory() + { +-#if ENABLE(DEVELOPER_MODE) + const char* bundleDirectory = g_getenv("WEBKIT_INJECTED_BUNDLE_PATH"); + if (bundleDirectory && g_file_test(bundleDirectory, G_FILE_TEST_IS_DIR)) + return bundleDirectory; +-#endif + + #if PLATFORM(GTK) + static const char* injectedBundlePath = LIBDIR G_DIR_SEPARATOR_S "webkit2gtk-" WEBKITGTK_API_VERSION_STRING +@@ -335,10 +333,10 @@ static void webkitWebContextGetProperty(GObject* object, guint propID, GValue* v case PROP_WEBSITE_DATA_MANAGER: g_value_set_object(value, webkit_web_context_get_website_data_manager(context)); break; @@ -7819,7 +7831,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224 #if !USE(GTK4) case PROP_USE_SYSYEM_APPEARANCE_FOR_SCROLLBARS: g_value_set_boolean(value, webkit_web_context_get_use_system_appearance_for_scrollbars(context)); -@@ -365,10 +365,10 @@ static void webkitWebContextSetProperty(GObject* object, guint propID, const GVa +@@ -365,10 +363,10 @@ static void webkitWebContextSetProperty(GObject* object, guint propID, const GVa context->priv->websiteDataManager = manager ? WEBKIT_WEBSITE_DATA_MANAGER(manager) : nullptr; break; } @@ -7831,7 +7843,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224 #if !USE(GTK4) case PROP_USE_SYSYEM_APPEARANCE_FOR_SCROLLBARS: webkit_web_context_set_use_system_appearance_for_scrollbars(context, g_value_get_boolean(value)); -@@ -391,8 +391,8 @@ static void webkitWebContextConstructed(GObject* object) +@@ -391,8 +389,8 @@ static void webkitWebContextConstructed(GObject* object) API::ProcessPoolConfiguration configuration; configuration.setInjectedBundlePath(FileSystem::stringFromFileSystemRepresentation(bundleFilename.get())); @@ -7841,7 +7853,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224 #if !USE(GTK4) configuration.setUseSystemAppearanceForScrollbars(priv->useSystemAppearanceForScrollbars); #endif -@@ -404,6 +404,11 @@ static void webkitWebContextConstructed(GObject* object) +@@ -404,6 +402,11 @@ static void webkitWebContextConstructed(GObject* object) if (!webkit_website_data_manager_is_ephemeral(priv->websiteDataManager.get())) configuration.setHSTSStorageDirectory(FileSystem::stringFromFileSystemRepresentation(webkit_website_data_manager_get_hsts_cache_directory(priv->websiteDataManager.get()))); @@ -7853,7 +7865,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224 priv->processPool = WebProcessPool::create(configuration); priv->processPool->setPrimaryDataStore(webkitWebsiteDataManagerGetDataStore(priv->websiteDataManager.get())); priv->processPool->setUserMessageHandler([webContext](UserMessage&& message, CompletionHandler&& completionHandler) { -@@ -515,7 +520,6 @@ static void webkit_web_context_class_init(WebKitWebContextClass* webContextClass +@@ -515,7 +518,6 @@ static void webkit_web_context_class_init(WebKitWebContextClass* webContextClass WEBKIT_TYPE_WEBSITE_DATA_MANAGER, static_cast(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); @@ -7861,7 +7873,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224 /** * WebKitWebContext:process-swap-on-cross-site-navigation-enabled: * -@@ -539,6 +543,7 @@ static void webkit_web_context_class_init(WebKitWebContextClass* webContextClass +@@ -539,6 +541,7 @@ static void webkit_web_context_class_init(WebKitWebContextClass* webContextClass FALSE, static_cast(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); diff --git a/browser_patches/webkit/pw_run.sh b/browser_patches/webkit/pw_run.sh index 21a6f68b48..8ac019a457 100755 --- a/browser_patches/webkit/pw_run.sh +++ b/browser_patches/webkit/pw_run.sh @@ -30,24 +30,29 @@ function runLinux() { if [[ -d $SCRIPT_PATH/$MINIBROWSER_FOLDER ]]; then LD_PATH="$SCRIPT_PATH/$MINIBROWSER_FOLDER" GIO_DIR="$SCRIPT_PATH/$MINIBROWSER_FOLDER/gio/modules" + BUNDLE_DIR="$LD_PATH" MINIBROWSER="$SCRIPT_PATH/$MINIBROWSER_FOLDER/MiniBrowser" elif [[ -d $SCRIPT_PATH/checkout/$BUILD_FOLDER ]]; then LD_PATH="$SCRIPT_PATH/checkout/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib:$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/bin" GIO_DIR="$SCRIPT_PATH/checkout/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib/gio/modules" + BUNDLE_DIR="$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/lib" MINIBROWSER="$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/bin/MiniBrowser" elif [[ -f $SCRIPT_PATH/MiniBrowser ]]; then LD_PATH="$SCRIPT_PATH" GIO_DIR="$SCRIPT_PATH/gio/modules" + BUNDLE_DIR="$SCRIPT_PATH" MINIBROWSER="$SCRIPT_PATH/MiniBrowser" elif [[ -d $SCRIPT_PATH/$BUILD_FOLDER ]]; then LD_PATH="$SCRIPT_PATH/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib:$SCRIPT_PATH/$BUILD_FOLDER/Release/bin" GIO_DIR="$SCRIPT_PATH/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib/gio/modules" + BUNDLE_DIR="$SCRIPT_PATH/$BUILD_FOLDER/Release/lib" MINIBROWSER="$SCRIPT_PATH/$BUILD_FOLDER/Release/bin/MiniBrowser" else echo "Cannot find a MiniBrowser.app in neither location" 1>&2 exit 1 fi - GIO_MODULE_DIR="$GIO_DIR" LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LD_PATH" "$MINIBROWSER" "$@" + + GIO_MODULE_DIR="$GIO_DIR" LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LD_PATH" WEBKIT_INJECTED_BUNDLE_PATH="$BUNDLE_DIR" "$MINIBROWSER" "$@" } SCRIPT_PATH="$(cd "$(dirname "$0")" ; pwd -P)"