[webkit-changes] [WebKit/WebKit] 7bd9ef: Use correct tab and frame identifiers in webNaviga...

Brian Weinstein noreply at github.com
Mon Nov 6 16:36:57 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7bd9ef4826d01039cd550fe7804291f62d0d49d1
      https://github.com/WebKit/WebKit/commit/7bd9ef4826d01039cd550fe7804291f62d0d49d1
  Author: Brian Weinstein <bweinstein at apple.com>
  Date:   2023-11-06 (Mon, 06 Nov 2023)

  Changed paths:
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.messages.in
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITestCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITest.h
    M Source/WebKit/WebProcess/Extensions/Cocoa/WebExtensionControllerProxyCocoa.mm
    M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITest.idl
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIWebNavigation.mm

  Log Message:
  -----------
  Use correct tab and frame identifiers in webNavigation events
https://bugs.webkit.org/show_bug.cgi?id=264283
rdar://102820594

Reviewed by Timothy Hatcher.

With this change, we now pass WebExtensionTabIdentifiers and WebExtensionFrameIdentifiers to the webNavigation event
handlers.

With this change, we can get rid of the test function to fire a webNavigation event, and actually use a local HTTP server to
load content and verify that webNavigation events are being fired.

* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm:
(WebKit::WebExtensionController::didStartProvisionalLoadForFrame): Continue early if we don't have a tab, and pass the tab's identifier.
(WebKit::WebExtensionController::didCommitLoadForFrame): Ditto.
(WebKit::WebExtensionController::didFinishLoadForFrame): Ditto.
(WebKit::WebExtensionController::didFailLoadForFrame): Ditto.
* Source/WebKit/UIProcess/Extensions/WebExtensionController.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.messages.in:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITestCocoa.mm:
(WebKit::WebExtensionAPITest::testWebNavigationEvent): Deleted.
(WebKit::WebExtensionAPITest::fireTestWebNavigationEvent): Deleted.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationCocoa.mm:
(WebKit::WebExtensionContextProxy::dispatchWebNavigationEvent): Update for the correct identifiers.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITest.h:
* Source/WebKit/WebProcess/Extensions/Cocoa/WebExtensionControllerProxyCocoa.mm:
(WebKit::WebExtensionControllerProxy::didStartProvisionalLoadForFrame): Pass a WebExtensionFrameIdentifier.
(WebKit::WebExtensionControllerProxy::didCommitLoadForFrame): Ditto.
(WebKit::WebExtensionControllerProxy::didFinishLoadForFrame): Ditto.
(WebKit::WebExtensionControllerProxy::didFailLoadForFrame): Ditto.
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITest.idl:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIWebNavigation.mm:
(TestWebKitAPI::TEST): Update the tests to use actual HTTP servers and remove any use of the test Web Navigation event code.

Canonical link: https://commits.webkit.org/270297@main




More information about the webkit-changes mailing list