[webkit-changes] [WebKit/WebKit] ad26ab: Add support for browser.test.sendMessage and onMes...
Timothy Hatcher
noreply at github.com
Mon Dec 16 10:27:11 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ad26abd5c5b3b14a2378a065df67a08df0bf330d
https://github.com/WebKit/WebKit/commit/ad26abd5c5b3b14a2378a065df67a08df0bf330d
Author: Timothy Hatcher <timothy at apple.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M Source/WebKit/Shared/Extensions/WebExtensionEventListenerType.h
M Source/WebKit/Shared/Extensions/WebExtensionEventListenerType.serialization.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContext.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContextPrivate.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionControllerDelegatePrivate.h
M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionControllerAPITestCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
M Source/WebKit/UIProcess/Extensions/WebExtensionController.messages.in
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITestCocoa.mm
M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITest.h
M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITest.idl
M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in
M Tools/TestWebKitAPI/SourcesCocoa.txt
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITest.mm
M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h
M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm
Log Message:
-----------
Add support for browser.test.sendMessage and onMessage.
https://webkit.org/b/284656
rdar://138401321
Reviewed by Brian Weinstein.
Adds simple messaging support to the test namespace that matches the Firefox and Chrome APIs.
This allows tests and the test harness to message bidirectionally. This is done with a new extension
controller delegate method, along with a send test message method on the extension context.
TestWebExtensionManager also has new send test message and run until message methods to handle linear,
message-driven test workflows.
* Source/WebKit/Shared/Extensions/WebExtensionEventListenerType.h:
(WebKit::toAPIString):
* Source/WebKit/Shared/Extensions/WebExtensionEventListenerType.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContext.mm:
(-[WKWebExtensionContext _backgroundWebView]):
(-[WKWebExtensionContext _backgroundContentURL]):
(-[WKWebExtensionContext _sendTestMessage:withArgument:]):
(-[WKWebExtensionContext _protectedWebExtensionContext]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContextPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionControllerDelegatePrivate.h:
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionControllerAPITestCocoa.mm:
(WebKit::WebExtensionController::testSentMessage):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::sendTestMessage):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.messages.in:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITestCocoa.mm:
(WebKit::WebExtensionAPITest::sendMessage):
(WebKit::WebExtensionAPITest::onMessage):
(WebKit::WebExtensionContextProxy::dispatchTestMessageEvent):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITest.h:
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITest.idl:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in:
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITest.mm: Added.
(TestWebKitAPI::TEST(WKWebExtensionAPITest, MessageEvent)):
(TestWebKitAPI::TEST(WKWebExtensionAPITest, MessageEventWithSendMessageReply)):
(TestWebKitAPI::TEST(WKWebExtensionAPITest, SendMessage)):
(TestWebKitAPI::TEST(WKWebExtensionAPITest, SendMessageMultipleTimes)):
(TestWebKitAPI::TEST(WKWebExtensionAPITest, SendMessageOutOfOrder)):
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionManager sendTestMessage:]):
(-[TestWebExtensionManager sendTestMessage:withArgument:]):
(-[TestWebExtensionManager runUntilTestMessage:]):
(-[TestWebExtensionManager _webExtensionController:receivedTestMessage:withArgument:andSourceURL:lineNumber:]):
Canonical link: https://commits.webkit.org/287893@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