Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 01f5315190c9623c7a03e449865a45d21554520e
      
https://github.com/WebKit/WebKit/commit/01f5315190c9623c7a03e449865a45d21554520e
  Author: Jamie Murphy <[email protected]>
  Date:   2025-10-16 (Thu, 16 Oct 2025)

  Changed paths:
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.cpp
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.h
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIActionCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPortCocoa.mm
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIRuntimeCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIAction.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIPort.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h
    M 
Source/WebKit/WebProcess/Extensions/Bindings/Cocoa/JSWebExtensionWrapperCocoa.mm
    M Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.h
    M 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm
    M Source/WebKit/WebProcess/Extensions/Bindings/Scripts/IDLAttributes.json
    M 
Source/WebKit/WebProcess/Extensions/Cocoa/WebExtensionControllerProxyCocoa.mm
    M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIAction.idl

  Log Message:
  -----------
  Provide support for WTF::String in WebExtension JavaScript APIs
https://bugs.webkit.org/show_bug.cgi?id=300606

Reviewed by Timothy Hatcher.

This implements support for WTF::String in WebExtension’s JavaScript
APIs. While nothing is ported to C++, this provides a good starting point
for porting the APIs.

NSString is still supported in the JavaScript APIs, and most APIs still
use NSString at the moment, with the exception of the Action APIs, which
have been ported to using WTF::String.

No new tests are required, all existing WebExtension JavaScript tests
will test these changes.

* Source/WebKit/Shared/Extensions/WebExtensionUtilities.cpp:
(WebKit::toJSError):
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.h:
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm:
(WebKit::toJSError): Deleted.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIActionCocoa.mm:
(WebKit::WebExtensionAPIAction::parseActionDetails):
(WebKit::WebExtensionAPIAction::getTitle):
(WebKit::WebExtensionAPIAction::setTitle):
(WebKit::WebExtensionAPIAction::getBadgeText):
(WebKit::WebExtensionAPIAction::setBadgeText):
(WebKit::WebExtensionAPIAction::getBadgeBackgroundColor):
(WebKit::WebExtensionAPIAction::setBadgeBackgroundColor):
(WebKit::WebExtensionAPIAction::isEnabled):
(WebKit::WebExtensionAPIAction::setIcon):
(WebKit::WebExtensionAPIAction::getPopup):
(WebKit::WebExtensionAPIAction::setPopup):
(WebKit::WebExtensionAPIAction::openPopup):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPortCocoa.mm:
(WebKit::WebExtensionAPIPort::postMessage):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIRuntimeCocoa.mm:
(WebKit::WebExtensionAPIRuntimeBase::reportError):
(WebKit::WebExtensionAPIRuntime::parseConnectOptions):
(WebKit::WebExtensionAPIRuntime::getURL):
(WebKit::WebExtensionAPIRuntime::getVersion):
(WebKit::WebExtensionAPIRuntime::runtimeIdentifier):
(WebKit::WebExtensionAPIRuntime::sendMessage):
(WebKit::WebExtensionAPIRuntime::connect):
(WebKit::WebExtensionAPIRuntime::sendNativeMessage):
(WebKit::WebExtensionAPIRuntime::connectNative):
(WebKit::WebExtensionAPIWebPageRuntime::sendMessage):
(WebKit::WebExtensionAPIWebPageRuntime::connect):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::WebExtensionAPITabs::sendMessage):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIAction.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIPort.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h:
* 
Source/WebKit/WebProcess/Extensions/Bindings/Cocoa/JSWebExtensionWrapperCocoa.mm:
(WebKit::WebExtensionCallbackHandler::reportError):
(WebKit::toString):
(WebKit::toNSDictionary):
(WebKit::toJSValueRef):
(WebKit::deserializeJSONString):
(WebKit::serializeJSObject):
(WebKit::toJSError):
(WebKit::toJSString):
(WebKit::toNSString): Deleted.
* Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.h:
* 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm:
(_generateImplementationFile):
(_installArgumentTypeExceptions):
(_installAutomaticExceptions):
(_platformType):
(_platformTypeConstructor):
(_platformTypeVariableDeclaration):
* Source/WebKit/WebProcess/Extensions/Bindings/Scripts/IDLAttributes.json:
* Source/WebKit/WebProcess/Extensions/Cocoa/WebExtensionControllerProxyCocoa.mm:
(WebKit::WebExtensionControllerProxy::globalObjectIsAvailableForFrame):
(WebKit::WebExtensionControllerProxy::serviceWorkerGlobalObjectIsAvailableForFrame):
(WebKit::WebExtensionControllerProxy::addBindingsToWebPageFrameIfNecessary):
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIAction.idl:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to