Title: [182267] trunk/Source/WebKit2
Revision
182267
Author
[email protected]
Date
2015-04-01 22:58:20 -0700 (Wed, 01 Apr 2015)

Log Message

[WK2][Cocoa] Add didFailProvisionalLoadWithErrorForFrame callback to WKWebProcessPlugInLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=143319
<rdar://problem/19463834>

Reviewed by Dan Bernstein.

Add didFailProvisionalLoadWithErrorForFrame callback to
WKWebProcessPlugInLoadDelegate so that the client side can track all
types page load completions:
- didFailProvisionalLoadWithErrorForFrame
- didFailLoadWithErrorForFrame
- didFinishLoadForFrame

Note that this event is already exposed on UIProcess side via the
WKPageLoaderClient.didFailLoadWithErrorForFrame callback.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didFailProvisionalLoadWithErrorForFrame):
(setUpPageLoaderClient):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (182266 => 182267)


--- trunk/Source/WebKit2/ChangeLog	2015-04-02 00:22:54 UTC (rev 182266)
+++ trunk/Source/WebKit2/ChangeLog	2015-04-02 05:58:20 UTC (rev 182267)
@@ -1,3 +1,26 @@
+2015-04-01  Chris Dumez  <[email protected]>
+
+        [WK2][Cocoa] Add didFailProvisionalLoadWithErrorForFrame callback to WKWebProcessPlugInLoadDelegate
+        https://bugs.webkit.org/show_bug.cgi?id=143319
+        <rdar://problem/19463834>
+
+        Reviewed by Dan Bernstein.
+
+        Add didFailProvisionalLoadWithErrorForFrame callback to
+        WKWebProcessPlugInLoadDelegate so that the client side can track all
+        types page load completions:
+        - didFailProvisionalLoadWithErrorForFrame
+        - didFailLoadWithErrorForFrame
+        - didFinishLoadForFrame
+
+        Note that this event is already exposed on UIProcess side via the
+        WKPageLoaderClient.didFailLoadWithErrorForFrame callback.
+
+        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+        (didFailProvisionalLoadWithErrorForFrame):
+        (setUpPageLoaderClient):
+
 2015-04-01  Enrica Casucci  <[email protected]>
 
         Injected bundle messages should be at the page level.

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h (182266 => 182267)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h	2015-04-02 00:22:54 UTC (rev 182266)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h	2015-04-02 05:58:20 UTC (rev 182267)
@@ -40,6 +40,7 @@
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didReceiveServerRedirectForProvisionalLoadForFrame:(WKWebProcessPlugInFrame *)frame;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didCommitLoadForFrame:(WKWebProcessPlugInFrame *)frame;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didFinishDocumentLoadForFrame:(WKWebProcessPlugInFrame *)frame;
+- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didFailProvisionalLoadWithErrorForFrame:(WKWebProcessPlugInFrame *)frame error:(NSError *)error;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didFailLoadWithErrorForFrame:(WKWebProcessPlugInFrame *)frame error:(NSError *)error;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didFinishLoadForFrame:(WKWebProcessPlugInFrame *)frame;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController*)controller didSameDocumentNavigation:(_WKSameDocumentNavigationType)navigationType forFrame:(WKWebProcessPlugInFrame *)frame;

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm (182266 => 182267)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2015-04-02 00:22:54 UTC (rev 182266)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2015-04-02 05:58:20 UTC (rev 182267)
@@ -141,6 +141,15 @@
         [loadDelegate webProcessPlugInBrowserContextController:pluginContextController didFinishDocumentLoadForFrame:wrapper(*toImpl(frame))];
 }
 
+static void didFailProvisionalLoadWithErrorForFrame(WKBundlePageRef page, WKBundleFrameRef frame, WKErrorRef wkError, WKTypeRef* userData, const void *clientInfo)
+{
+    WKWebProcessPlugInBrowserContextController *pluginContextController = (WKWebProcessPlugInBrowserContextController *)clientInfo;
+    auto loadDelegate = pluginContextController->_loadDelegate.get();
+
+    if ([loadDelegate respondsToSelector:@selector(webProcessPlugInBrowserContextController:didFailProvisionalLoadWithErrorForFrame:error:)])
+        [loadDelegate webProcessPlugInBrowserContextController:pluginContextController didFailProvisionalLoadWithErrorForFrame:wrapper(*toImpl(frame)) error:wrapper(*toImpl(wkError))];
+}
+
 static void didFailLoadWithErrorForFrame(WKBundlePageRef page, WKBundleFrameRef frame, WKErrorRef wkError, WKTypeRef* userData, const void *clientInfo)
 {
     WKWebProcessPlugInBrowserContextController *pluginContextController = (WKWebProcessPlugInBrowserContextController *)clientInfo;
@@ -229,6 +238,7 @@
     client.didReceiveServerRedirectForProvisionalLoadForFrame = didReceiveServerRedirectForProvisionalLoadForFrame;
     client.didCommitLoadForFrame = didCommitLoadForFrame;
     client.didFinishDocumentLoadForFrame = didFinishDocumentLoadForFrame;
+    client.didFailProvisionalLoadWithErrorForFrame = didFailProvisionalLoadWithErrorForFrame;
     client.didFailLoadWithErrorForFrame = didFailLoadWithErrorForFrame;
     client.didSameDocumentNavigationForFrame = didSameDocumentNavigationForFrame;
     client.didFinishLoadForFrame = didFinishLoadForFrame;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to