Title: [220107] trunk
Revision
220107
Author
beid...@apple.com
Date
2017-08-01 12:03:59 -0700 (Tue, 01 Aug 2017)

Log Message

API test URLSchemeHandler.Exceptions is Exiting out early on macOS Debug..
https://bugs.webkit.org/show_bug.cgi?id=175030

Reviewed by Andy Estes.

Source/WebKit:

* UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm:
(WebKit::WebURLSchemeHandlerCocoa::platformTaskCompleted): Release the API wrapped on the next
  spin of the runloop.

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[TaskSchemeHandler webView:startURLSchemeTask:]): Stop calling an invalid NSError constructor.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (220106 => 220107)


--- trunk/Source/WebKit/ChangeLog	2017-08-01 18:50:45 UTC (rev 220106)
+++ trunk/Source/WebKit/ChangeLog	2017-08-01 19:03:59 UTC (rev 220107)
@@ -1,5 +1,16 @@
 2017-08-01  Brady Eidson  <beid...@apple.com>
 
+        API test URLSchemeHandler.Exceptions is Exiting out early on macOS Debug..
+        https://bugs.webkit.org/show_bug.cgi?id=175030
+
+        Reviewed by Andy Estes.
+
+        * UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm:
+        (WebKit::WebURLSchemeHandlerCocoa::platformTaskCompleted): Release the API wrapped on the next
+          spin of the runloop.
+
+2017-08-01  Brady Eidson  <beid...@apple.com>
+
         Part 2 of: Rename DatabaseProcess to StorageProcess.
         https://bugs.webkit.org/show_bug.cgi?id=174880
 

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm (220106 => 220107)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm	2017-08-01 18:50:45 UTC (rev 220106)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm	2017-08-01 19:03:59 UTC (rev 220107)
@@ -32,6 +32,7 @@
 #import "WKURLSchemeTaskInternal.h"
 #import "WKWebViewInternal.h"
 #import "WebURLSchemeTask.h"
+#import <wtf/RunLoop.h>
 
 using namespace WebCore;
 
@@ -79,7 +80,9 @@
 void WebURLSchemeHandlerCocoa::platformTaskCompleted(WebURLSchemeTask& task)
 {
 #if WK_API_ENABLED
-    m_apiTasks.remove(task.identifier());
+    // Release the last reference to this API task on the next spin of the runloop.
+    RunLoop::main().dispatch([takenTask = m_apiTasks.take(task.identifier())] {
+    });
 #else
     UNUSED_PARAM(task);
 #endif

Modified: trunk/Tools/ChangeLog (220106 => 220107)


--- trunk/Tools/ChangeLog	2017-08-01 18:50:45 UTC (rev 220106)
+++ trunk/Tools/ChangeLog	2017-08-01 19:03:59 UTC (rev 220107)
@@ -1,5 +1,15 @@
 2017-08-01  Brady Eidson  <beid...@apple.com>
 
+        API test URLSchemeHandler.Exceptions is Exiting out early on macOS Debug..
+        https://bugs.webkit.org/show_bug.cgi?id=175030
+
+        Reviewed by Andy Estes.
+
+        * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
+        (-[TaskSchemeHandler webView:startURLSchemeTask:]): Stop calling an invalid NSError constructor.
+
+2017-08-01  Brady Eidson  <beid...@apple.com>
+
         Part 2 of: Rename DatabaseProcess to StorageProcess.
         https://bugs.webkit.org/show_bug.cgi?id=174880
 

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm (220106 => 220107)


--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm	2017-08-01 18:50:45 UTC (rev 220106)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm	2017-08-01 19:03:59 UTC (rev 220107)
@@ -312,7 +312,7 @@
                 [task didFinish];
                 break;
             case Command::Error:
-                [task didFailWithError:[[[NSError alloc] init] autorelease]];
+                [task didFailWithError:[NSError errorWithDomain:@"WebKit" code:1 userInfo:nil]];
                 break;
             }
         }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to