Title: [194265] branches/safari-601-branch/Source/WebKit2
Revision
194265
Author
[email protected]
Date
2015-12-18 01:59:38 -0800 (Fri, 18 Dec 2015)

Log Message

Merge r188602. rdar://problem/23905024

Modified Paths

Diff

Modified: branches/safari-601-branch/Source/WebKit2/ChangeLog (194264 => 194265)


--- branches/safari-601-branch/Source/WebKit2/ChangeLog	2015-12-18 08:10:53 UTC (rev 194264)
+++ branches/safari-601-branch/Source/WebKit2/ChangeLog	2015-12-18 09:59:38 UTC (rev 194265)
@@ -1,3 +1,24 @@
+2015-12-18  Matthew Hanson  <[email protected]>
+
+        Merge r188602. rdar://problem/23905024
+
+    2015-08-18  Anders Carlsson  <[email protected]>
+
+            REGRESSION: Playing audio causes near-instant crash
+            https://bugs.webkit.org/show_bug.cgi?id=148059
+            rdar://problem/22282680
+
+            Reviewed by Sam Weinig.
+
+            The version of WebKit that Safari 6.2.8, 7.1.8 and 8.0.8 built against
+            had an ABI incompatible WKPageUIClientV4 struct. Thankfully we're not going to ship any
+            versions of Safari that use the "normal" WKPageUIClientV4 struct so just assume that it's always the
+            broken one and fix it up by converting it to a WKPageUIClientV5 struct and setting that as the page UI client.
+
+            * UIProcess/API/C/WKPage.cpp:
+            (fixUpBotchedPageUIClient):
+            (WKPageSetPageUIClient):
+
 2015-12-17  Babak Shafiei  <[email protected]>
 
         Merge r191343.

Modified: branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp (194264 => 194265)


--- branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp	2015-12-18 08:10:53 UTC (rev 194264)
+++ branches/safari-601-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp	2015-12-18 09:59:38 UTC (rev 194265)
@@ -1332,7 +1332,6 @@
     toImpl(pageRef)->setPolicyClient(std::make_unique<PolicyClient>(wkClient));
 }
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 101000
 static void fixUpBotchedPageUIClient(WKPageRef pageRef, const WKPageUIClientBase& wkClient)
 {
     struct BotchedWKPageUIClientV4 {
@@ -1464,7 +1463,6 @@
 
     WKPageSetPageUIClient(pageRef, &fixedPageUIClient.base);
 }
-#endif
 
 namespace WebKit {
 
@@ -1581,6 +1579,13 @@
 
 void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient)
 {
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 101100
+    if (wkClient && wkClient->version == 4) {
+        fixUpBotchedPageUIClient(pageRef, *wkClient);
+        return;
+    }
+#endif
+
     class UIClient : public API::Client<WKPageUIClientBase>, public API::UIClient {
     public:
         explicit UIClient(const WKPageUIClientBase* client)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to