Title: [240828] trunk/Source/WebKit
Revision
240828
Author
jiewen_...@apple.com
Date
2019-01-31 16:34:58 -0800 (Thu, 31 Jan 2019)

Log Message

Unreviewed, build fix after r240805

This patch reverts the BlockPtr change since it breaks iOS builds.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::tryInterceptNavigation):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (240827 => 240828)


--- trunk/Source/WebKit/ChangeLog	2019-02-01 00:17:51 UTC (rev 240827)
+++ trunk/Source/WebKit/ChangeLog	2019-02-01 00:34:58 UTC (rev 240828)
@@ -1,3 +1,12 @@
+2019-01-31  Jiewen Tan  <jiewen_...@apple.com>
+
+        Unreviewed, build fix after r240805
+
+        This patch reverts the BlockPtr change since it breaks iOS builds.
+
+        * UIProcess/Cocoa/NavigationState.mm:
+        (WebKit::tryInterceptNavigation):
+
 2019-01-31  Chris Dumez  <cdu...@apple.com>
 
         Page zoom level is lost after a process swap or a crash

Modified: trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm (240827 => 240828)


--- trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm	2019-02-01 00:17:51 UTC (rev 240827)
+++ trunk/Source/WebKit/UIProcess/Cocoa/NavigationState.mm	2019-02-01 00:34:58 UTC (rev 240828)
@@ -479,16 +479,20 @@
 {
 #if HAVE(APP_LINKS)
     if (navigationAction->shouldOpenAppLinks()) {
-        auto callback = makeBlockPtr([request = navigationAction->request().isolatedCopy(), weakPage = makeWeakPtr(page), completionHandler = WTFMove(completionHandler)] (BOOL success, NSError *) mutable {
-            RunLoop::main().dispatch([request = request.isolatedCopy(), weakPage, completionHandler = WTFMove(completionHandler), success]() mutable {
-                if (!success && weakPage) {
-                    tryOptimizingLoad(request, *weakPage, WTFMove(completionHandler));
-                    return;
-                }
-                completionHandler(success);
+        auto* localCompletionHandler = new WTF::Function<void (bool)>([request = navigationAction->request().isolatedCopy(), weakPage = makeWeakPtr(page), completionHandler = WTFMove(completionHandler)] (bool success) mutable {
+            ASSERT(RunLoop::isMain());
+            if (!success && weakPage) {
+                tryOptimizingLoad(request, *weakPage, WTFMove(completionHandler));
+                return;
+            }
+            completionHandler(success);
+        });
+        [LSAppLink openWithURL:navigationAction->request().url() completionHandler:[localCompletionHandler](BOOL success, NSError *) {
+            dispatch_async(dispatch_get_main_queue(), [localCompletionHandler, success] {
+                (*localCompletionHandler)(success);
+                delete localCompletionHandler;
             });
-        });
-        [LSAppLink openWithURL:navigationAction->request().url() completionHandler:callback.get()];
+        }];
         return;
     }
 #endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to