Title: [269858] trunk/Source/WebKit
Revision
269858
Author
[email protected]
Date
2020-11-16 10:08:07 -0800 (Mon, 16 Nov 2020)

Log Message

Add didReceiveResponseForResource to WKWebProcessPlugInLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=218925

Patch by Trevor Stevenson <[email protected]> on 2020-11-16
Reviewed by Alex Christensen.

Expose the callback for didReceiveResponseForResource in WKWebProcessPlugInLoadDelegate
for use in the injected bundle.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(didReceiveResponseForResource):
(setUpResourceLoadClient):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (269857 => 269858)


--- trunk/Source/WebKit/ChangeLog	2020-11-16 17:33:15 UTC (rev 269857)
+++ trunk/Source/WebKit/ChangeLog	2020-11-16 18:08:07 UTC (rev 269858)
@@ -1,3 +1,18 @@
+2020-11-16  Trevor Stevenson  <[email protected]>
+
+        Add didReceiveResponseForResource to WKWebProcessPlugInLoadDelegate
+        https://bugs.webkit.org/show_bug.cgi?id=218925
+
+        Reviewed by Alex Christensen.
+
+        Expose the callback for didReceiveResponseForResource in WKWebProcessPlugInLoadDelegate
+        for use in the injected bundle.
+
+        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+        (didReceiveResponseForResource):
+        (setUpResourceLoadClient):
+
 2020-11-16  Carlos Garcia Campos  <[email protected]>
 
         WebDriver: do not focus the main frame when switching to a window

Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h (269857 => 269858)


--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h	2020-11-16 17:33:15 UTC (rev 269857)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h	2020-11-16 18:08:07 UTC (rev 269858)
@@ -62,6 +62,7 @@
 
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller frame:(WKWebProcessPlugInFrame *)frame didInitiateLoadForResource:(uint64_t)resource request:(NSURLRequest *)request pageIsProvisionallyLoading:(BOOL)pageIsProvisionallyLoading;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller frame:(WKWebProcessPlugInFrame *)frame didInitiateLoadForResource:(uint64_t)resource request:(NSURLRequest *)request;
+- (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller frame:(WKWebProcessPlugInFrame *)frame didReceiveResponse:(NSURLResponse *)response forResource:(uint64_t)resource;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller frame:(WKWebProcessPlugInFrame *)frame didFinishLoadForResource:(uint64_t)resource;
 - (void)webProcessPlugInBrowserContextController:(WKWebProcessPlugInBrowserContextController *)controller frame:(WKWebProcessPlugInFrame *)frame didFailLoadForResource:(uint64_t)resource error:(NSError *)error;
 

Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm (269857 => 269858)


--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2020-11-16 17:33:15 UTC (rev 269857)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm	2020-11-16 18:08:07 UTC (rev 269858)
@@ -294,6 +294,15 @@
     }
 }
 
+static void didReceiveResponseForResource(WKBundlePageRef, WKBundleFrameRef frame, uint64_t resourceIdentifier, WKURLResponseRef response, const void* clientInfo)
+{
+    auto pluginContextController = (__bridge WKWebProcessPlugInBrowserContextController *)clientInfo;
+    auto loadDelegate = pluginContextController->_loadDelegate.get();
+
+    if ([loadDelegate respondsToSelector:@selector(webProcessPlugInBrowserContextController:frame:didReceiveResponse:forResource:)])
+        [loadDelegate webProcessPlugInBrowserContextController:pluginContextController frame:wrapper(*WebKit::toImpl(frame)) didReceiveResponse:WebKit::toImpl(response)->resourceResponse().nsURLResponse() forResource:resourceIdentifier];
+}
+
 static void didFinishLoadForResource(WKBundlePageRef, WKBundleFrameRef frame, uint64_t resourceIdentifier, const void* clientInfo)
 {
     auto pluginContextController = (__bridge WKWebProcessPlugInBrowserContextController *)clientInfo;
@@ -323,6 +332,7 @@
     client.base.clientInfo = (__bridge void*) contextController;
     client.willSendRequestForFrame = willSendRequestForFrame;
     client.didInitiateLoadForResource = didInitiateLoadForResource;
+    client.didReceiveResponseForResource = didReceiveResponseForResource;
     client.didFinishLoadForResource = didFinishLoadForResource;
     client.didFailLoadForResource = didFailLoadForResource;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to