[gtk-osx] Upgrade WebKit2Gtk3 to latest 2.30.2 release.



commit bb83596435664514f6fb087478926911898a7b1f
Author: John Ralls <jralls ceridwen us>
Date:   Mon Nov 9 10:47:40 2020 -0800

    Upgrade WebKit2Gtk3 to latest 2.30.2 release.

 modulesets-stable/gtk-osx-network.modules          | 31 +++++----
 modulesets-unstable/gtk-osx-network.modules        | 31 +++++----
 modulesets/gtk-osx-network.modules                 | 31 +++++----
 ...2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch | 25 ++++++++
 ...2.30.1-Disable-WebKitGenericCueAPIEnabled.patch | 32 +++++++++
 ...-and-fix-build-of-JSCustomXPathNSResolver.patch | 75 ++++++++++++++++++++++
 ...OMAIN_SOCKETS-precedence-over-Mac-and-Win.patch | 40 ++++++++++++
 ...t-signal-defines-for-Darwin-and-maybe-BSD.patch | 35 ++++++++++
 ...-Force-FindICU-instead-of-inserting-heade.patch | 26 ++++++++
 9 files changed, 293 insertions(+), 33 deletions(-)
---
diff --git a/modulesets-stable/gtk-osx-network.modules b/modulesets-stable/gtk-osx-network.modules
index 568a119..b513190 100644
--- a/modulesets-stable/gtk-osx-network.modules
+++ b/modulesets-stable/gtk-osx-network.modules
@@ -193,23 +193,26 @@
   </autotools>
 
   <!-- This is the stable release of WebKitGTK, for GTK 3.x. Use it if you need
-      the WebKit2 API (most applications do.)
+      the WebKit2 API.
     ENABLE_MINIBROWSER: This is enabled because it's an easy test of whether the
       library is working correctly: run "jhbuild run MiniBrowser".
-    ENABLE_PLUGIN_PROCESS_GTK2: Requires both GTK 2.x and 3.x. Currently not
-      supported.
+    USE_SYSTEMD: macOS doesn't have systemd.
     ENABLE_VIDEO, ENABLE_WEB_AUDIO: Requires gstreamer. If you want video and
       audio, fix this in your .jhbuildrc-custom. You may need some extra
       patches, this is untested.
-    ENABLE_CREDENTIAL_STORAGE: Requires libsecret. No module for this yet.
-    ENABLE_GEOLOCATION: Requires geoclue. No module for this yet.
-    ENABLE_OPENGL: Known to not work with Quartz.
-    USE_LIBNOTIFY: Requires libnotify. No module for this yet.
-    USE_LIBHYPHEN: Requires libhyphen. No module for this yet.
-  -->
+    ENABLE_CREDENTIAL_STORAGE: Requires libsecret. No module for this.
+    ENABLE_GEOLOCATION: Requires geoclue. No module for this.
+    ENABLE_GRAPHICS_CONTEXT_GL: Known to not work with quartz.
+    USE_LIBNOTIFY: Requires libnotify. No module for this.
+    USE_LIBHYPHEN: Requires libhyphen. No module for this.
+    USE_LIBSECRET: Requires libsecret. No module for this.
+    ENABLE_TOUCH_EVENTS: Seems not to be needed.
+    USE_OPENJPEG: Requires openjpeg. No module for this.
+    USE_WOFF2: Requires Woff2. No module for this
+    USE_WPE_RENDERER: For embedded systems, not Macs.  -->
   <cmake id="webkit2gtk3"
-         cmakeargs='-DPORT=GTK -DENABLE_X11_TARGET=OFF -DENABLE_QUARTZ_TARGET=ON -DENABLE_INTROSPECTION=OFF  
-DENABLE_OPENGL=OFF -DENABLE_VIDEO=OFF -DENABLE_WEB_AUDIO=OFF -DENABLE_GEOLOCATION=OFF -DUSE_LIBNOTIFY=OFF 
-DUSE_LIBHYPHEN=OFF -DUSE_LIBSECRET=OFF -DENABLE_TOUCH_EVENTS=OFF  -DUSE_OPENJPEG=OFF -DUSE_WOFF2=OFF 
-DUSE_WPE_RENDERER=OFF -DENABLE_GRAPHICS_CONTEXT_GL=OFF -DCMAKE_CXX_FLAGS="-stdlib=libc++" 
-DCMAKE_MACOSX_RPATH=OFF'>
-    <branch repo="webkit.org" module="webkitgtk-2.28.2.tar.xz" version="2.28.2">
+         cmakeargs='-DPORT=GTK -DENABLE_X11_TARGET=OFF -DENABLE_QUARTZ_TARGET=ON -DENABLE_MINIBROWSER=ON 
-DENABLE_INTROSPECTION=OFF  -DUSE_SYSTEMD=OFF -DENABLE_VIDEO=OFF -DENABLE_WEB_AUDIO=OFF 
-DENABLE_GEOLOCATION=OFF -DUSE_LIBNOTIFY=OFF -DUSE_LIBHYPHEN=OFF -DUSE_LIBSECRET=OFF 
-DENABLE_TOUCH_EVENTS=OFF  -DUSE_OPENJPEG=OFF -DUSE_WOFF2=OFF -DUSE_WPE_RENDERER=OFF 
-DENABLE_GRAPHICS_CONTEXT_GL=OFF -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_MACOSX_RPATH=OFF'>
+    <branch repo="webkit.org" module="webkitgtk-2.30.2.tar.xz" version="2.30.2">
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-macports.diff"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-272-macports.diff"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-2282-unprotected-egl-changes.diff";
 strip="0"/>
@@ -217,6 +220,12 @@
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-bundle-link-webcore.diff"; 
strip="0"/>
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/webkit-clang-fixes.patch"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/0001-Prevent-WebKitWebProcess-from-being-in-the-dock-or-p.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Disable-WebKitGenericCueAPIEnabled.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Enable-and-fix-build-of-JSCustomXPathNSResolver.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Extend-UNIX_DOMAIN_SOCKETS-precedence-over-Mac-and-Win.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Fix-Socket-signal-defines-for-Darwin-and-maybe-BSD.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Force-FindICU-instead-of-inserting-heade.patch";
 strip="1"/>
     </branch>
     <dependencies>
       <dep package="libwebp"/>
diff --git a/modulesets-unstable/gtk-osx-network.modules b/modulesets-unstable/gtk-osx-network.modules
index 321f74e..e3306b5 100644
--- a/modulesets-unstable/gtk-osx-network.modules
+++ b/modulesets-unstable/gtk-osx-network.modules
@@ -190,23 +190,26 @@
   </autotools>
 
   <!-- This is the stable release of WebKitGTK, for GTK 3.x. Use it if you need
-      the WebKit2 API (most applications do.)
+      the WebKit2 API.
     ENABLE_MINIBROWSER: This is enabled because it's an easy test of whether the
       library is working correctly: run "jhbuild run MiniBrowser".
-    ENABLE_PLUGIN_PROCESS_GTK2: Requires both GTK 2.x and 3.x. Currently not
-      supported.
+    USE_SYSTEMD: macOS doesn't have systemd.
     ENABLE_VIDEO, ENABLE_WEB_AUDIO: Requires gstreamer. If you want video and
       audio, fix this in your .jhbuildrc-custom. You may need some extra
       patches, this is untested.
-    ENABLE_CREDENTIAL_STORAGE: Requires libsecret. No module for this yet.
-    ENABLE_GEOLOCATION: Requires geoclue. No module for this yet.
-    ENABLE_OPENGL: Known to not work with Quartz.
-    USE_LIBNOTIFY: Requires libnotify. No module for this yet.
-    USE_LIBHYPHEN: Requires libhyphen. No module for this yet.
-  -->
+    ENABLE_CREDENTIAL_STORAGE: Requires libsecret. No module for this.
+    ENABLE_GEOLOCATION: Requires geoclue. No module for this.
+    ENABLE_GRAPHICS_CONTEXT_GL: Known to not work with quartz.
+    USE_LIBNOTIFY: Requires libnotify. No module for this.
+    USE_LIBHYPHEN: Requires libhyphen. No module for this.
+    USE_LIBSECRET: Requires libsecret. No module for this.
+    ENABLE_TOUCH_EVENTS: Seems not to be needed.
+    USE_OPENJPEG: Requires openjpeg. No module for this.
+    USE_WOFF2: Requires Woff2. No module for this
+    USE_WPE_RENDERER: For embedded systems, not Macs.  -->
   <cmake id="webkit2gtk3"
-         cmakeargs='-DPORT=GTK -DENABLE_X11_TARGET=OFF -DENABLE_QUARTZ_TARGET=ON -DENABLE_INTROSPECTION=OFF  
-DENABLE_OPENGL=OFF -DENABLE_VIDEO=OFF -DENABLE_WEB_AUDIO=OFF -DENABLE_GEOLOCATION=OFF -DUSE_LIBNOTIFY=OFF 
-DUSE_LIBHYPHEN=OFF -DUSE_LIBSECRET=OFF -DENABLE_TOUCH_EVENTS=OFF  -DUSE_OPENJPEG=OFF -DUSE_WOFF2=OFF 
-DUSE_WPE_RENDERER=OFF -DENABLE_GRAPHICS_CONTEXT_GL=OFF -DCMAKE_CXX_FLAGS="-stdlib=libc++" 
-DCMAKE_MACOSX_RPATH=OFF'>
-    <branch repo="webkit.org" module="webkitgtk-2.28.2.tar.xz" version="2.28.2">
+         cmakeargs='-DPORT=GTK -DENABLE_X11_TARGET=OFF -DENABLE_QUARTZ_TARGET=ON -DENABLE_MINIBROWSER=ON 
-DENABLE_INTROSPECTION=OFF  -DUSE_SYSTEMD=OFF -DENABLE_VIDEO=OFF -DENABLE_WEB_AUDIO=OFF 
-DENABLE_GEOLOCATION=OFF -DUSE_LIBNOTIFY=OFF -DUSE_LIBHYPHEN=OFF -DUSE_LIBSECRET=OFF 
-DENABLE_TOUCH_EVENTS=OFF  -DUSE_OPENJPEG=OFF -DUSE_WOFF2=OFF -DUSE_WPE_RENDERER=OFF 
-DENABLE_GRAPHICS_CONTEXT_GL=OFF -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_MACOSX_RPATH=OFF'>
+    <branch repo="webkit.org" module="webkitgtk-2.30.2.tar.xz" version="2.30.2">
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-macports.diff"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-272-macports.diff"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-2282-unprotected-egl-changes.diff";
 strip="0"/>
@@ -214,6 +217,12 @@
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-bundle-link-webcore.diff"; 
strip="0"/>
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/webkit-clang-fixes.patch"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/0001-Prevent-WebKitWebProcess-from-being-in-the-dock-or-p.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Disable-WebKitGenericCueAPIEnabled.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Enable-and-fix-build-of-JSCustomXPathNSResolver.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Extend-UNIX_DOMAIN_SOCKETS-precedence-over-Mac-and-Win.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Fix-Socket-signal-defines-for-Darwin-and-maybe-BSD.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Force-FindICU-instead-of-inserting-heade.patch";
 strip="1"/>
     </branch>
     <dependencies>
       <dep package="libwebp"/>
diff --git a/modulesets/gtk-osx-network.modules b/modulesets/gtk-osx-network.modules
index a0c7208..68ae2dd 100644
--- a/modulesets/gtk-osx-network.modules
+++ b/modulesets/gtk-osx-network.modules
@@ -195,23 +195,26 @@
   </autotools>
 
   <!-- This is the stable release of WebKitGTK, for GTK 3.x. Use it if you need
-      the WebKit2 API (most applications do.)
+      the WebKit2 API.
     ENABLE_MINIBROWSER: This is enabled because it's an easy test of whether the
       library is working correctly: run "jhbuild run MiniBrowser".
-    ENABLE_PLUGIN_PROCESS_GTK2: Requires both GTK 2.x and 3.x. Currently not
-      supported.
+    USE_SYSTEMD: macOS doesn't have systemd.
     ENABLE_VIDEO, ENABLE_WEB_AUDIO: Requires gstreamer. If you want video and
       audio, fix this in your .jhbuildrc-custom. You may need some extra
       patches, this is untested.
-    ENABLE_CREDENTIAL_STORAGE: Requires libsecret. No module for this yet.
-    ENABLE_GEOLOCATION: Requires geoclue. No module for this yet.
-    ENABLE_OPENGL: Known to not work with quartz.
-    USE_LIBNOTIFY: Requires libnotify. No module for this yet.
-    USE_LIBHYPHEN: Requires libhyphen. No module for this yet.
-  -->
+    ENABLE_CREDENTIAL_STORAGE: Requires libsecret. No module for this.
+    ENABLE_GEOLOCATION: Requires geoclue. No module for this.
+    ENABLE_GRAPHICS_CONTEXT_GL: Known to not work with quartz.
+    USE_LIBNOTIFY: Requires libnotify. No module for this.
+    USE_LIBHYPHEN: Requires libhyphen. No module for this.
+    USE_LIBSECRET: Requires libsecret. No module for this.
+    ENABLE_TOUCH_EVENTS: Seems not to be needed.
+    USE_OPENJPEG: Requires openjpeg. No module for this.
+    USE_WOFF2: Requires Woff2. No module for this
+    USE_WPE_RENDERER: For embedded systems, not Macs.  -->
   <cmake id="webkit2gtk3"
-         cmakeargs='-DPORT=GTK -DENABLE_X11_TARGET=OFF -DENABLE_QUARTZ_TARGET=ON -DENABLE_INTROSPECTION=OFF  
-DENABLE_OPENGL=OFF -DENABLE_VIDEO=OFF -DENABLE_WEB_AUDIO=OFF -DENABLE_GEOLOCATION=OFF -DUSE_LIBNOTIFY=OFF 
-DUSE_LIBHYPHEN=OFF -DUSE_LIBSECRET=OFF -DENABLE_TOUCH_EVENTS=OFF  -DUSE_OPENJPEG=OFF -DUSE_WOFF2=OFF 
-DUSE_WPE_RENDERER=OFF -DENABLE_GRAPHICS_CONTEXT_GL=OFF -DCMAKE_CXX_FLAGS="-stdlib=libc++" 
-DCMAKE_MACOSX_RPATH=OFF'>
-    <branch repo="webkit.org" module="webkitgtk-2.28.2.tar.xz" version="2.28.2">
+         cmakeargs='-DPORT=GTK -DENABLE_X11_TARGET=OFF -DENABLE_QUARTZ_TARGET=ON -DENABLE_MINIBROWSER=ON 
-DENABLE_INTROSPECTION=OFF  -DUSE_SYSTEMD=OFF -DENABLE_VIDEO=OFF -DENABLE_WEB_AUDIO=OFF 
-DENABLE_GEOLOCATION=OFF -DUSE_LIBNOTIFY=OFF -DUSE_LIBHYPHEN=OFF -DUSE_LIBSECRET=OFF 
-DENABLE_TOUCH_EVENTS=OFF  -DUSE_OPENJPEG=OFF -DUSE_WOFF2=OFF -DUSE_WPE_RENDERER=OFF 
-DENABLE_GRAPHICS_CONTEXT_GL=OFF -DCMAKE_CXX_FLAGS="-stdlib=libc++" -DCMAKE_MACOSX_RPATH=OFF'>
+    <branch repo="webkit.org" module="webkitgtk-2.30.2.tar.xz" version="2.30.2">
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-macports.diff"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-272-macports.diff"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-webkit2gtk-2282-unprotected-egl-changes.diff";
 strip="0"/>
@@ -219,6 +222,12 @@
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/patch-bundle-link-webcore.diff"; 
strip="0"/>
       <patch file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/webkit-clang-fixes.patch"; 
strip="0"/>
       <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/0001-Prevent-WebKitWebProcess-from-being-in-the-dock-or-p.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Disable-WebKitGenericCueAPIEnabled.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Enable-and-fix-build-of-JSCustomXPathNSResolver.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Extend-UNIX_DOMAIN_SOCKETS-precedence-over-Mac-and-Win.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Fix-Socket-signal-defines-for-Darwin-and-maybe-BSD.patch";
 strip="1"/>
+      <patch 
file="https://gitlab.gnome.org/GNOME/gtk-osx/raw/master/patches/WebKit2Gtk3-2.30.1-Force-FindICU-instead-of-inserting-heade.patch";
 strip="1"/>
     </branch>
     <dependencies>
       <dep package="libwebp"/>
diff --git a/patches/WebKit2Gtk3-2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch 
b/patches/WebKit2Gtk3-2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch
new file mode 100644
index 0000000..29090f6
--- /dev/null
+++ b/patches/WebKit2Gtk3-2.30.1-Disable-AUDIT_TOKEN-for-Gtk-builds.patch
@@ -0,0 +1,25 @@
+From c4c4a0b4ff33baad5e859f69ecdf8d41f343cca4 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Mon, 9 Nov 2020 09:27:37 -0800
+Subject: [PATCH 4/7] Disable AUDIT_TOKEN for Gtk builds.
+
+---
+ Source/WTF/wtf/PlatformHave.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h
+index 4ec77e7..5a83520 100644
+--- a/Source/WTF/wtf/PlatformHave.h
++++ b/Source/WTF/wtf/PlatformHave.h
+@@ -190,7 +190,7 @@
+ #define HAVE_SYS_TIMEB_H 1
+ #endif
+ 
+-#if OS(DARWIN)
++#if !PLATFORM(GTK) && OS(DARWIN)
+ #define HAVE_AUDIT_TOKEN 1
+ #endif
+ 
+-- 
+2.2.2
+
diff --git a/patches/WebKit2Gtk3-2.30.1-Disable-WebKitGenericCueAPIEnabled.patch 
b/patches/WebKit2Gtk3-2.30.1-Disable-WebKitGenericCueAPIEnabled.patch
new file mode 100644
index 0000000..4e16605
--- /dev/null
+++ b/patches/WebKit2Gtk3-2.30.1-Disable-WebKitGenericCueAPIEnabled.patch
@@ -0,0 +1,32 @@
+From 7b21876d03f66bfb273508b45e97192170ff927b Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Mon, 9 Nov 2020 09:41:08 -0800
+Subject: [PATCH 6/7] Disable WebKitGenericCueAPIEnabled.
+
+Not defined in Gtk builds.
+---
+ Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 
b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
+index 61326f2..daa478d 100644
+--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
++++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
+@@ -236,12 +236,14 @@ void InjectedBundle::overrideBoolPreferenceForTestRunner(WebPageGroupProxy* page
+         RuntimeEnabledFeatures::sharedFeatures().setWebRTCMDNSICECandidatesEnabled(enabled);
+ #endif
+ 
++#if ENABLE(TEXT_TRACK_CUE)
+     if (preference == "WebKitGenericCueAPIEnabled") {
+         WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::genericCueAPIEnabledKey(), enabled);
+         for (auto* page : pages)
+             page->settings().setGenericCueAPIEnabled(enabled);
+         return;
+     }
++#endif
+ 
+ #if ENABLE(GPU_PROCESS)
+     if (preference == "WebKitUseGPUProcessForMedia" || preference == 
"WebKitCaptureAudioInGPUProcessEnabledKey") {
+-- 
+2.2.2
+
diff --git a/patches/WebKit2Gtk3-2.30.1-Enable-and-fix-build-of-JSCustomXPathNSResolver.patch 
b/patches/WebKit2Gtk3-2.30.1-Enable-and-fix-build-of-JSCustomXPathNSResolver.patch
new file mode 100644
index 0000000..48edc75
--- /dev/null
+++ b/patches/WebKit2Gtk3-2.30.1-Enable-and-fix-build-of-JSCustomXPathNSResolver.patch
@@ -0,0 +1,75 @@
+From 88fc37d02280e3be62b76af5fd11adeb21e8f95a Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Mon, 9 Nov 2020 09:24:52 -0800
+Subject: [PATCH 3/7] Enable and fix build of JSCustomXPathNSResolver.
+
+Required by JSDocument and JSDOMConvertXPathNSResolver.
+---
+ Source/WebCore/Sources.txt                               |  2 +-
+ Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp   | 13 ++++++-------
+ Source/WebCore/bindings/js/JSDOMConvertXPathNSResolver.h |  2 +-
+ 3 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt
+index 1cecdb0..a05c306 100644
+--- a/Source/WebCore/Sources.txt
++++ b/Source/WebCore/Sources.txt
+@@ -3124,7 +3124,7 @@ JSNavigatorStorageQuota.cpp
+ JSNavigatorWebDriver.cpp
+ JSNode.cpp
+ JSNodeFilter.cpp
+-JSCustomXPathNSResolver.cpp
++bindings/js/JSCustomXPathNSResolver.cpp
+ JSNodeIterator.cpp
+ JSNodeList.cpp
+ JSNonDocumentTypeChildNode.cpp
+diff --git a/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp 
b/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+index 4903853..57c28bd 100644
+--- a/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
++++ b/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+@@ -74,11 +74,10 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
+     VM& vm = lexicalGlobalObject->vm();
+         
+     JSValue function = m_customResolver->get(lexicalGlobalObject, Identifier::fromString(vm, 
"lookupNamespaceURI"));
+-    CallData callData;
+-    CallType callType = getCallData(vm, function, callData);
+-    if (callType == CallType::None) {
+-        callType = m_customResolver->methodTable(vm)->getCallData(m_customResolver.get(), callData);
+-        if (callType == CallType::None) {
++    CallData callData{getCallData(vm, function)};
++    if (callData.type == CallData::Type::None) {
++        callData = m_customResolver->methodTable(vm)->getCallData(m_customResolver.get());
++        if (callData.type == CallData::Type::None) {
+             if (PageConsoleClient* console = m_globalObject->wrapped().console())
+                 console->addMessage(MessageSource::JS, MessageLevel::Error, "XPathNSResolver does not have 
a lookupNamespaceURI method."_s);
+             return String();
+@@ -89,11 +88,11 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
+     Ref<JSCustomXPathNSResolver> protectedThis(*this);
+ 
+     MarkedArgumentBuffer args;
+-    args.append(jsStringWithCache(lexicalGlobalObject, prefix));
++    args.append(jsStringWithCache(vm, prefix));
+     ASSERT(!args.hasOverflowed());
+ 
+     NakedPtr<JSC::Exception> exception;
+-    JSValue retval = JSExecState::call(lexicalGlobalObject, function, callType, callData, 
m_customResolver.get(), args, exception);
++    JSValue retval = JSExecState::call(lexicalGlobalObject, function, callData, m_customResolver.get(), 
args, exception);
+ 
+     String result;
+     if (exception)
+diff --git a/Source/WebCore/bindings/js/JSDOMConvertXPathNSResolver.h 
b/Source/WebCore/bindings/js/JSDOMConvertXPathNSResolver.h
+index f57ea45..1fcd2c1 100644
+--- a/Source/WebCore/bindings/js/JSDOMConvertXPathNSResolver.h
++++ b/Source/WebCore/bindings/js/JSDOMConvertXPathNSResolver.h
+@@ -48,7 +48,7 @@ template<> struct Converter<IDLInterface<XPathNSResolver>> : DefaultConverter<ID
+         if (object->inherits<JSXPathNSResolver>(vm))
+             return &JSC::jsCast<JSXPathNSResolver*>(object)->wrapped();
+ 
+-        return JSCustomXPathNSResolver::create(object, 
JSC::jsCast<JSDOMGlobalObject*>(&lexicalGlobalObject));
++        return JSCustomXPathNSResolver::create(lexicalGlobalObject, value).releaseReturnValue();
+     }
+ };
+ 
+-- 
+2.2.2
+
diff --git a/patches/WebKit2Gtk3-2.30.1-Extend-UNIX_DOMAIN_SOCKETS-precedence-over-Mac-and-Win.patch 
b/patches/WebKit2Gtk3-2.30.1-Extend-UNIX_DOMAIN_SOCKETS-precedence-over-Mac-and-Win.patch
new file mode 100644
index 0000000..5da454a
--- /dev/null
+++ b/patches/WebKit2Gtk3-2.30.1-Extend-UNIX_DOMAIN_SOCKETS-precedence-over-Mac-and-Win.patch
@@ -0,0 +1,40 @@
+From c53d0d90151eee296aa636d05b7ac2d27283155b Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Mon, 9 Nov 2020 09:39:19 -0800
+Subject: [PATCH 5/7] Extend UNIX_DOMAIN_SOCKETS precence over Mac and Windows
+ IPC to Shared Memory.
+
+---
+ Source/WebKit/Platform/SharedMemory.h                             | 2 +-
+ Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Source/WebKit/Platform/SharedMemory.h b/Source/WebKit/Platform/SharedMemory.h
+index 7cd44db..cae19ac 100644
+--- a/Source/WebKit/Platform/SharedMemory.h
++++ b/Source/WebKit/Platform/SharedMemory.h
+@@ -73,7 +73,7 @@ public:
+ 
+         bool isNull() const;
+ 
+-#if OS(DARWIN) || OS(WINDOWS)
++#if !USE(UNIX_DOMAIN_SOCKETS) && (OS(DARWIN) || OS(WINDOWS))
+         size_t size() const { return m_size; }
+ #endif
+ 
+diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp 
b/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
+index 528fa47..4268457 100644
+--- a/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
++++ b/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
+@@ -409,7 +409,7 @@ RefPtr<WebCore::SharedBuffer> WebPlatformStrategies::readBufferFromPasteboard(si
+     
WebProcess::singleton().parentProcessConnection()->sendSync(Messages::WebPasteboardProxy::ReadBufferFromPasteboard(index,
 pasteboardType, pasteboardName), Messages::WebPasteboardProxy::ReadBufferFromPasteboard::Reply(handle, 
size), 0);
+     if (handle.isNull())
+         return nullptr;
+-#if OS(DARWIN) || OS(WINDOWS)
++#if !USE(UNIX_DOMAIN_SOCKETS) && (OS(DARWIN) || OS(WINDOWS))
+     // SharedMemory::Handle::size() is rounded up to the nearest page.
+     if (!size || size > handle.size())
+         return nullptr;
+-- 
+2.2.2
+
diff --git a/patches/WebKit2Gtk3-2.30.1-Fix-Socket-signal-defines-for-Darwin-and-maybe-BSD.patch 
b/patches/WebKit2Gtk3-2.30.1-Fix-Socket-signal-defines-for-Darwin-and-maybe-BSD.patch
new file mode 100644
index 0000000..5c6c5a3
--- /dev/null
+++ b/patches/WebKit2Gtk3-2.30.1-Fix-Socket-signal-defines-for-Darwin-and-maybe-BSD.patch
@@ -0,0 +1,35 @@
+From 5f2c208df57203fe0149bd588a5b9528ad7cdd6a Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Mon, 9 Nov 2020 09:42:08 -0800
+Subject: [PATCH 7/7] Fix Socket signal defines for Darwin (and maybe BSD).
+
+---
+ Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 
b/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
+index 3d54402..b053dd1 100644
+--- a/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
++++ b/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
+@@ -31,6 +31,7 @@
+ #include "DataReference.h"
+ #include "SharedMemory.h"
+ #include "UnixMessage.h"
++#include <sys/types.h>
+ #include <sys/socket.h>
+ #include <unistd.h>
+ #include <errno.h>
+@@ -56,6 +57,10 @@
+ #endif
+ #endif // SOCK_SEQPACKET
+ 
++#ifndef MSG_NOSIGNAL // Not defined in Darwin's socket implementation.
++#define MSG_NOSIGNAL 0x2000
++#endif
++
+ namespace IPC {
+ 
+ static const size_t messageMaxSize = 4096;
+-- 
+2.2.2
+
diff --git a/patches/WebKit2Gtk3-2.30.1-Force-FindICU-instead-of-inserting-heade.patch 
b/patches/WebKit2Gtk3-2.30.1-Force-FindICU-instead-of-inserting-heade.patch
new file mode 100644
index 0000000..02e1b6e
--- /dev/null
+++ b/patches/WebKit2Gtk3-2.30.1-Force-FindICU-instead-of-inserting-heade.patch
@@ -0,0 +1,26 @@
+From 5bbb4c1d93218117e90997df8b770d2d1a493f10 Mon Sep 17 00:00:00 2001
+From: John Ralls <jralls ceridwen us>
+Date: Sat, 31 Oct 2020 17:01:17 -0700
+Subject: [PATCH 2/7] WebKit2Gtk3 Force FindICU instead of inserting headers
+ and using the ICU Framework.
+
+---
+ Source/cmake/WebKitFindPackage.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/cmake/WebKitFindPackage.cmake b/Source/cmake/WebKitFindPackage.cmake
+index a35d15a..7e9552c 100644
+--- a/Source/cmake/WebKitFindPackage.cmake
++++ b/Source/cmake/WebKitFindPackage.cmake
+@@ -86,7 +86,7 @@ macro(find_package package)
+     endif ()
+ 
+     # Apple builds have a unique location for ICU
+-    if (APPLE AND "${package}" STREQUAL "ICU")
++    if (APPLE AND "${package}" STREQUAL "ICU" AND NOT PORT STREQUAL "GTK")
+         set(_found_package ON)
+ 
+         set(ICU_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/ICU/Headers)
+-- 
+2.2.2
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]