Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2afc03180fc116298060b5b592282c471f29225b https://github.com/WebKit/WebKit/commit/2afc03180fc116298060b5b592282c471f29225b Author: Brian Weinstein <bweinst...@apple.com> Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths: M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h M Source/WebKit/UIProcess/Extensions/WebExtensionController.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebRequestCocoa.mm M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in Log Message: ----------- Pass information about resource loads from WebPageProxy through the extensions controller machinery (needed for webRequest support) https://bugs.webkit.org/show_bug.cgi?id=267882 rdar://114823223 Reviewed by Timothy Hatcher. The events still aren't fired in the extensions' web process yet, but they will be in the next PR. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm: (WebKit::WebExtensionContext::hasPermissionToSendWebRequestEvent): Check that: - The extension can see the tab - The extension has access to the page URL - The extension has access to the resource URL - The extension has access to the URL specified in the ResourceLoadInfo object (WebKit::WebExtensionContext::resourceLoadDidSendRequest): Send a message to the WebExtensionContextProxy. (WebKit::WebExtensionContext::resourceLoadDidPerformHTTPRedirection): Ditto. (WebKit::WebExtensionContext::resourceLoadDidReceiveChallenge): Ditto. (WebKit::WebExtensionContext::resourceLoadDidReceiveResponse): Ditto. (WebKit::WebExtensionContext::resourceLoadDidCompleteWithError): Ditto. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm: (WebKit::WebExtensionController::resourceLoadDidSendRequest): Call into each WebExtensionContext. (WebKit::WebExtensionController::resourceLoadDidPerformHTTPRedirection): Ditto. (WebKit::WebExtensionController::resourceLoadDidReceiveChallenge): Ditto. (WebKit::WebExtensionController::resourceLoadDidReceiveResponse): Ditto. (WebKit::WebExtensionController::resourceLoadDidCompleteWithError): Ditto. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp: (WebKit::WebExtensionContext::processes const): Update the method to get all processes for an event to take a set of events. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: (WebKit::WebExtensionContext::sendToProcessesForEvents): * Source/WebKit/UIProcess/Extensions/WebExtensionController.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resourceLoadDidSendRequest): Call into the WebExtensionController if it exists. (WebKit::WebPageProxy::resourceLoadDidPerformHTTPRedirection): Ditto. (WebKit::WebPageProxy::resourceLoadDidReceiveChallenge): Ditto. (WebKit::WebPageProxy::resourceLoadDidReceiveResponse): Ditto. (WebKit::WebPageProxy::resourceLoadDidCompleteWithError): Ditto. * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebRequestCocoa.mm: (WebKit::WebExtensionContextProxy::resourceLoadDidSendRequest): Add a FIXME to implement this. (WebKit::WebExtensionContextProxy::resourceLoadDidPerformHTTPRedirection): Ditto. (WebKit::WebExtensionContextProxy::resourceLoadDidReceiveChallenge): Ditto. (WebKit::WebExtensionContextProxy::resourceLoadDidReceiveResponse): Ditto. (WebKit::WebExtensionContextProxy::resourceLoadDidCompleteWithError): Ditto. * Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h: * Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in: Canonical link: https://commits.webkit.org/273335@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes