[webkit-changes] [WebKit/WebKit] 0575d0: Hook up IPC for webNavigation APIs

Brian Weinstein noreply at github.com
Fri Nov 10 12:56:32 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0575d062092c09d95db62b0064342021dc06366f
      https://github.com/WebKit/WebKit/commit/0575d062092c09d95db62b0064342021dc06366f
  Author: Brian Weinstein <bweinstein at apple.com>
  Date:   2023-11-10 (Fri, 10 Nov 2023)

  Changed paths:
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/Scripts/webkit/messages.py
    A Source/WebKit/Shared/Extensions/WebExtensionFrameParameters.h
    A Source/WebKit/Shared/Extensions/WebExtensionFrameParameters.serialization.in
    A Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIWebNavigationCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationCocoa.mm

  Log Message:
  -----------
  Hook up IPC for webNavigation APIs
https://bugs.webkit.org/show_bug.cgi?id=264595
rdar://118237023

Reviewed by Timothy Hatcher.

This patch creates a new WebExtensionFrameParameters and adopts it to pass frame data from the UI process
back to the Web process.

* Source/WebKit/DerivedSources-input.xcfilelist: Add the new file.
* Source/WebKit/DerivedSources.make: Ditto.
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared): Ditto.
* Source/WebKit/Shared/Extensions/WebExtensionFrameParameters.h: Added.
* Source/WebKit/Shared/Extensions/WebExtensionFrameParameters.serialization.in: Added.
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIWebNavigationCocoa.mm: Added.
(WebKit::WebExtensionContext::webNavigationGetFrame): Call into the UI process and generate Objective-C objects based on the return value.
(WebKit::WebExtensionContext::webNavigationGetAllFrames): Ditto.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: Add the message handling methods.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in: Ditto.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj: Add the new files.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationCocoa.mm:
(WebKit::toWebAPI): Turn the passed in arguments into NS types.
(WebKit::WebExtensionAPIWebNavigation::getAllFrames): Call into the UI process to perform the work.
(WebKit::WebExtensionAPIWebNavigation::getFrame): Ditto.

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




More information about the webkit-changes mailing list