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