mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
browser(webkit): add injected bundle to webkit distribution on linux (#2461)
This commit is contained in:
parent
18aafc361f
commit
1392dcd680
@ -1 +1 @@
|
|||||||
1262
|
1263
|
||||||
|
@ -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
|
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
|
# 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
|
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
|
mkdir -p $tmpdir/gio/modules
|
||||||
cp -t $tmpdir/gio/modules $PWD/WebKitBuild/WPE/DependenciesWPE/Root/lib/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
|
cp -t $tmpdir ./WebKitBuild/GTK/Release/bin/MiniBrowser ./WebKitBuild/GTK/Release/bin/WebKit*Process
|
||||||
# copy all relevant shared objects
|
# 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
|
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
|
# 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
|
ldd WebKitBuild/GTK/Release/bin/MiniBrowser | grep -o '[^ ]*\/libvpx.so.5[^ ]*' | xargs cp -t $tmpdir
|
||||||
mkdir -p $tmpdir/gio/modules
|
mkdir -p $tmpdir/gio/modules
|
||||||
|
@ -7784,7 +7784,7 @@ index 07da96138db1333ce5a49093dc2187fd12032214..fc149b28dc25133f4618a8ac24039abe
|
|||||||
bool canRunBeforeUnloadConfirmPanel() const final { return true; }
|
bool canRunBeforeUnloadConfirmPanel() const final { return true; }
|
||||||
|
|
||||||
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
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
|
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
||||||
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
|
||||||
@@ -119,8 +119,8 @@ enum {
|
@@ -119,8 +119,8 @@ enum {
|
||||||
@ -7807,7 +7807,19 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224
|
|||||||
#if !USE(GTK4)
|
#if !USE(GTK4)
|
||||||
bool useSystemAppearanceForScrollbars;
|
bool useSystemAppearanceForScrollbars;
|
||||||
#endif
|
#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:
|
case PROP_WEBSITE_DATA_MANAGER:
|
||||||
g_value_set_object(value, webkit_web_context_get_website_data_manager(context));
|
g_value_set_object(value, webkit_web_context_get_website_data_manager(context));
|
||||||
break;
|
break;
|
||||||
@ -7819,7 +7831,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224
|
|||||||
#if !USE(GTK4)
|
#if !USE(GTK4)
|
||||||
case PROP_USE_SYSYEM_APPEARANCE_FOR_SCROLLBARS:
|
case PROP_USE_SYSYEM_APPEARANCE_FOR_SCROLLBARS:
|
||||||
g_value_set_boolean(value, webkit_web_context_get_use_system_appearance_for_scrollbars(context));
|
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;
|
context->priv->websiteDataManager = manager ? WEBKIT_WEBSITE_DATA_MANAGER(manager) : nullptr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -7831,7 +7843,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224
|
|||||||
#if !USE(GTK4)
|
#if !USE(GTK4)
|
||||||
case PROP_USE_SYSYEM_APPEARANCE_FOR_SCROLLBARS:
|
case PROP_USE_SYSYEM_APPEARANCE_FOR_SCROLLBARS:
|
||||||
webkit_web_context_set_use_system_appearance_for_scrollbars(context, g_value_get_boolean(value));
|
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;
|
API::ProcessPoolConfiguration configuration;
|
||||||
configuration.setInjectedBundlePath(FileSystem::stringFromFileSystemRepresentation(bundleFilename.get()));
|
configuration.setInjectedBundlePath(FileSystem::stringFromFileSystemRepresentation(bundleFilename.get()));
|
||||||
@ -7841,7 +7853,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224
|
|||||||
#if !USE(GTK4)
|
#if !USE(GTK4)
|
||||||
configuration.setUseSystemAppearanceForScrollbars(priv->useSystemAppearanceForScrollbars);
|
configuration.setUseSystemAppearanceForScrollbars(priv->useSystemAppearanceForScrollbars);
|
||||||
#endif
|
#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()))
|
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())));
|
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 = WebProcessPool::create(configuration);
|
||||||
priv->processPool->setPrimaryDataStore(webkitWebsiteDataManagerGetDataStore(priv->websiteDataManager.get()));
|
priv->processPool->setPrimaryDataStore(webkitWebsiteDataManagerGetDataStore(priv->websiteDataManager.get()));
|
||||||
priv->processPool->setUserMessageHandler([webContext](UserMessage&& message, CompletionHandler<void(UserMessage&&)>&& completionHandler) {
|
priv->processPool->setUserMessageHandler([webContext](UserMessage&& message, CompletionHandler<void(UserMessage&&)>&& 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,
|
WEBKIT_TYPE_WEBSITE_DATA_MANAGER,
|
||||||
static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
|
static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
|
||||||
|
|
||||||
@ -7861,7 +7873,7 @@ index 041bfb545c6af6220a8266d356ac19d90791cb83..60702f314fdd96aa2804efbf9983e224
|
|||||||
/**
|
/**
|
||||||
* WebKitWebContext:process-swap-on-cross-site-navigation-enabled:
|
* 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,
|
FALSE,
|
||||||
static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
|
static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
|
||||||
|
|
||||||
|
@ -30,24 +30,29 @@ function runLinux() {
|
|||||||
if [[ -d $SCRIPT_PATH/$MINIBROWSER_FOLDER ]]; then
|
if [[ -d $SCRIPT_PATH/$MINIBROWSER_FOLDER ]]; then
|
||||||
LD_PATH="$SCRIPT_PATH/$MINIBROWSER_FOLDER"
|
LD_PATH="$SCRIPT_PATH/$MINIBROWSER_FOLDER"
|
||||||
GIO_DIR="$SCRIPT_PATH/$MINIBROWSER_FOLDER/gio/modules"
|
GIO_DIR="$SCRIPT_PATH/$MINIBROWSER_FOLDER/gio/modules"
|
||||||
|
BUNDLE_DIR="$LD_PATH"
|
||||||
MINIBROWSER="$SCRIPT_PATH/$MINIBROWSER_FOLDER/MiniBrowser"
|
MINIBROWSER="$SCRIPT_PATH/$MINIBROWSER_FOLDER/MiniBrowser"
|
||||||
elif [[ -d $SCRIPT_PATH/checkout/$BUILD_FOLDER ]]; then
|
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"
|
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"
|
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"
|
MINIBROWSER="$SCRIPT_PATH/checkout/$BUILD_FOLDER/Release/bin/MiniBrowser"
|
||||||
elif [[ -f $SCRIPT_PATH/MiniBrowser ]]; then
|
elif [[ -f $SCRIPT_PATH/MiniBrowser ]]; then
|
||||||
LD_PATH="$SCRIPT_PATH"
|
LD_PATH="$SCRIPT_PATH"
|
||||||
GIO_DIR="$SCRIPT_PATH/gio/modules"
|
GIO_DIR="$SCRIPT_PATH/gio/modules"
|
||||||
|
BUNDLE_DIR="$SCRIPT_PATH"
|
||||||
MINIBROWSER="$SCRIPT_PATH/MiniBrowser"
|
MINIBROWSER="$SCRIPT_PATH/MiniBrowser"
|
||||||
elif [[ -d $SCRIPT_PATH/$BUILD_FOLDER ]]; then
|
elif [[ -d $SCRIPT_PATH/$BUILD_FOLDER ]]; then
|
||||||
LD_PATH="$SCRIPT_PATH/$BUILD_FOLDER/$DEPENDENCIES_FOLDER/Root/lib:$SCRIPT_PATH/$BUILD_FOLDER/Release/bin"
|
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"
|
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"
|
MINIBROWSER="$SCRIPT_PATH/$BUILD_FOLDER/Release/bin/MiniBrowser"
|
||||||
else
|
else
|
||||||
echo "Cannot find a MiniBrowser.app in neither location" 1>&2
|
echo "Cannot find a MiniBrowser.app in neither location" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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)"
|
SCRIPT_PATH="$(cd "$(dirname "$0")" ; pwd -P)"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user