[webkit-changes] [WebKit/WebKit] f5a474: Add plumbing for loading web extensions in WebDriver

kiaraarose noreply at github.com
Thu Dec 12 06:47:07 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f5a4740781f10aa763ca8a05def0a18bad18aeb3
      https://github.com/WebKit/WebKit/commit/f5a4740781f10aa763ca8a05def0a18bad18aeb3
  Author: Kiara Rose <kiara_rose at apple.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WTF/wtf/PlatformEnableCocoa.h
    M Source/WTF/wtf/cocoa/FileSystemCocoa.mm
    M Source/WebKit/UIProcess/API/APIAutomationSessionClient.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h
    M Source/WebKit/UIProcess/Automation/Automation.json
    M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
    M Source/WebKit/UIProcess/Automation/WebAutomationSession.h
    M Source/WebKit/UIProcess/Cocoa/AutomationSessionClient.h
    M Source/WebKit/UIProcess/Cocoa/AutomationSessionClient.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm

  Log Message:
  -----------
  Add plumbing for loading web extensions in WebDriver
https://bugs.webkit.org/show_bug.cgi?id=284393
rdar://138045738

Reviewed by Timothy Hatcher and BJ Burg.

This patch adds the plumbing for loading web extensions in WebDriver.
See section Load WebExtension in the index.html file attached to this bug for the proposed
specification for this feature.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WTF/wtf/PlatformEnableCocoa.h:
Add feature flag.

* Source/WTF/wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::extractTemporaryZipArchive):
Move fix for rdar://141179462 into this method so that this method returns the path to the subdirectory
containing the unzipped archive.

* Source/WebKit/UIProcess/API/APIAutomationSessionClient.h:
(API::AutomationSessionClient::loadWebExtensionWithOptions):

* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
Add a delegate method to handle loading the web extension in the browser.

* Source/WebKit/UIProcess/Automation/Automation.json:
Define the loadWebExtension method.

* Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::loadWebExtension):
Parse the resource options and refer to the automation session client to load the web extension.

* Source/WebKit/UIProcess/Automation/WebAutomationSession.h:
* Source/WebKit/UIProcess/Cocoa/AutomationSessionClient.h:
* Source/WebKit/UIProcess/Cocoa/AutomationSessionClient.mm:
(WebKit::AutomationSessionClient::AutomationSessionClient):
(WebKit::toAPI):
(WebKit::AutomationSessionClient::loadWebExtensionWithOptions):
Delegate loading the web extension to the browser.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list