Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a008139f445d37c9609c0929e5fd72615d89d2c4
      
https://github.com/WebKit/WebKit/commit/a008139f445d37c9609c0929e5fd72615d89d2c4
  Author: Jamie Murphy <[email protected]>
  Date:   2026-09-02 (Wed, 02 Sep 2026)

  Changed paths:
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/DerivedSources-output.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/Platform/cocoa/CocoaHelpers.h
    M Source/WebKit/Platform/cocoa/CocoaHelpers.mm
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.cpp
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.h
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm
    M Source/WebKit/Sources.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    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/WebExtensionAPIEvent.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIKeys.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIPort.h
    A Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.cpp
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.h
    M Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.cpp
    M Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.h
    M 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm
    M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIPort.idl
    M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIRuntime.idl
    M 
Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebPageRuntime.idl
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h

  Log Message:
  -----------
  Port WebExtensionAPIRuntime to C++
https://bugs.webkit.org/show_bug.cgi?id=321731

Reviewed by Timothy Hatcher.

Ports WebProcess WebExtensionAPIRuntime and WebPageRuntime to C++.
This adjusts some of the functionality for WebExtensionAPIPort, namely message 
sending,
and generally ports most runtime messaging sending functionality to C++.

Test coverage provided by existing Cocoa tests.

* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.h:
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm:
(WebKit::toJSRejectedPromise):
* Source/WebKit/Sources.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPortCocoa.mm:
(WebKit::WebExtensionAPIPort::sender):
(WebKit::WebExtensionAPIPort::error):
(WebKit::WebExtensionAPIPort::setError):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIRuntimeCocoa.mm:
(WebKit::toWebAPI):
(WebKit::WebExtensionContextProxy::internalDispatchRuntimeMessageEvent):
(WebKit::WebExtensionAPIRuntimeBase::reportError): Deleted.
(WebKit::WebExtensionAPIRuntime::parseConnectOptions): Deleted.
(WebKit::WebExtensionAPIRuntime::isPropertyAllowed): Deleted.
(WebKit::WebExtensionAPIRuntime::getURL): Deleted.
(WebKit::WebExtensionAPIRuntime::getManifest): Deleted.
(WebKit::WebExtensionAPIRuntime::getVersion): Deleted.
(WebKit::WebExtensionAPIRuntime::runtimeIdentifier): Deleted.
(WebKit::WebExtensionAPIRuntime::getPlatformInfo): Deleted.
(WebKit::WebExtensionAPIRuntime::getBackgroundPage): Deleted.
(WebKit::WebExtensionAPIRuntime::getFrameId): Deleted.
(WebKit::WebExtensionAPIRuntime::getDocumentId): Deleted.
(WebKit::WebExtensionAPIRuntime::setUninstallURL): Deleted.
(WebKit::WebExtensionAPIRuntime::openOptionsPage): Deleted.
(WebKit::WebExtensionAPIRuntime::reload): Deleted.
(WebKit::WebExtensionAPIRuntime::lastError): Deleted.
(WebKit::WebExtensionAPIRuntime::sendMessage): Deleted.
(WebKit::WebExtensionAPIRuntime::connect): Deleted.
(WebKit::WebExtensionAPIRuntime::sendNativeMessage): Deleted.
(WebKit::WebExtensionAPIRuntime::connectNative): Deleted.
(WebKit::WebExtensionAPIWebPageRuntime::sendMessage): Deleted.
(WebKit::WebExtensionAPIWebPageRuntime::connect): Deleted.
(WebKit::WebExtensionAPIRuntime::onMessage): Deleted.
(WebKit::WebExtensionAPIRuntime::onConnect): Deleted.
(WebKit::WebExtensionAPIRuntime::onInstalled): Deleted.
(WebKit::WebExtensionAPIRuntime::onStartup): Deleted.
(WebKit::WebExtensionAPIRuntime::onConnectExternal): Deleted.
(WebKit::WebExtensionAPIRuntime::onMessageExternal): Deleted.
(WebKit::matches): Deleted.
(WebKit::WebExtensionContextProxy::dispatchRuntimeMessageEvent): Deleted.
(WebKit::WebExtensionContextProxy::internalDispatchRuntimeConnectEvent): 
Deleted.
(WebKit::WebExtensionContextProxy::dispatchRuntimeConnectEvent): Deleted.
(WebKit::WebExtensionContextProxy::dispatchRuntimeInstalledEvent): Deleted.
(WebKit::WebExtensionContextProxy::dispatchRuntimeStartupEvent): Deleted.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::WebExtensionAPITabs::connect):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIKeys.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIPort.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.cpp: Copied 
from 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIRuntimeCocoa.mm.
(WebKit::makeErrorValue):
(WebKit::WebExtensionAPIRuntimeBase::reportError):
(WebKit::WebExtensionAPIRuntime::parseConnectOptions):
(WebKit::WebExtensionAPIRuntime::isPropertyAllowed):
(WebKit::WebExtensionAPIRuntime::getManifest):
(WebKit::WebExtensionAPIRuntime::getURL):
(WebKit::WebExtensionAPIRuntime::getVersion):
(WebKit::WebExtensionAPIRuntime::runtimeIdentifier):
(WebKit::WebExtensionAPIRuntime::getPlatformInfo):
(WebKit::WebExtensionAPIRuntime::getBackgroundPage):
(WebKit::WebExtensionAPIRuntime::getFrameId):
(WebKit::WebExtensionAPIRuntime::getDocumentId):
(WebKit::WebExtensionAPIRuntime::setUninstallURL):
(WebKit::WebExtensionAPIRuntime::openOptionsPage):
(WebKit::WebExtensionAPIRuntime::reload):
(WebKit::WebExtensionAPIRuntime::lastError):
(WebKit::WebExtensionAPIRuntime::sendMessage):
(WebKit::WebExtensionAPIRuntime::connect):
(WebKit::WebExtensionAPIRuntime::sendNativeMessage):
(WebKit::WebExtensionAPIRuntime::connectNative):
(WebKit::WebExtensionAPIWebPageRuntime::sendMessage):
(WebKit::WebExtensionAPIWebPageRuntime::connect):
(WebKit::WebExtensionAPIRuntime::onMessage):
(WebKit::WebExtensionAPIRuntime::onConnect):
(WebKit::WebExtensionAPIRuntime::onInstalled):
(WebKit::WebExtensionAPIRuntime::onStartup):
(WebKit::WebExtensionAPIRuntime::onConnectExternal):
(WebKit::WebExtensionAPIRuntime::onMessageExternal):
(WebKit::WebExtensionContextProxy::matchesTarget):
(WebKit::WebExtensionContextProxy::dispatchRuntimeMessageEvent):
(WebKit::WebExtensionContextProxy::internalDispatchRuntimeConnectEvent):
(WebKit::WebExtensionContextProxy::dispatchRuntimeConnectEvent):
(WebKit::toWebAPI):
(WebKit::WebExtensionContextProxy::dispatchRuntimeInstalledEvent):
(WebKit::WebExtensionContextProxy::dispatchRuntimeStartupEvent):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIRuntime.h:
* Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.cpp:
(WebKit::toJSValueRef):
* Source/WebKit/WebProcess/Extensions/Bindings/JSWebExtensionWrapper.h:
* 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm:
(_generateImplementationFile):
(_installAutomaticExceptions):
(_platformType):
(_platformTypeConstructor):
(_platformTypeVariableDeclaration):
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIPort.idl:
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIRuntime.idl:
* 
Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIWebPageRuntime.idl:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIEvent.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h:
* Source/WebKit/Platform/cocoa/CocoaHelpers.h:
* Source/WebKit/Platform/cocoa/CocoaHelpers.mm:
(WebKit::callAfterRandomDelay): Deleted.
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.cpp:
(WebKit::callAfterRandomDelay):

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



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

Reply via email to