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

Reply via email to