[webkit-changes] [WebKit/WebKit] 66c45d: [WebDriver][BiDi] Implement the log module
Lauro Moura
noreply at github.com
Thu Dec 19 21:20:47 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 66c45d7c64726e3b9d5700305bd2945c7a978e4d
https://github.com/WebKit/WebKit/commit/66c45d7c64726e3b9d5700305bd2945c7a978e4d
Author: Lauro Moura <lmoura at igalia.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
A Source/WebCore/automation/AutomationInstrumentation.cpp
A Source/WebCore/automation/AutomationInstrumentation.h
M Source/WebCore/page/PageConsoleClient.cpp
M Source/WebCore/workers/WorkerGlobalScope.cpp
M Source/WebDriver/Session.cpp
M Source/WebDriver/Session.h
M Source/WebDriver/SessionHost.cpp
M Source/WebDriver/SessionHost.h
M Source/WebDriver/WebDriverService.cpp
M Source/WebDriver/WebDriverService.h
M Source/WebDriver/WebSocketServer.cpp
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Shared/JavaScriptCore.serialization.in
M Source/WebKit/UIProcess/Automation/Automation.json
M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
M Source/WebKit/UIProcess/Automation/WebAutomationSession.h
A Source/WebKit/UIProcess/Automation/WebAutomationSession.messages.in
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp
M Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.h
M Source/cmake/OptionsWPE.cmake
Log Message:
-----------
[WebDriver][BiDi] Implement the log module
https://bugs.webkit.org/show_bug.cgi?id=271956
Reviewed by BJ Burg and Devin Rousso.
Adds the basic infrastructure for global WebDriver BiDi events,
using the `log.entryAdded` event as the first event implemented.
Console logging is supported through a new client class that gets
notified of console messages by the new `AutomationInstrumentation`,
based on the existing `InspectorInstrumentation` class.
This version supports text console messages, missing advanced
information like stacktraces, extra args and realm id.
This commit also adds back the WebAutomationSession.messages.in, so the
WebProcess can notify the UIProcess when a new console message arrives.
It was originally removed in 286516 at main. It also includes follow up
fixes after the AbstractRefCounted changes from 287239 at main. Note that
as we don't have a preference for WebDriver yet, these messages are
marked as ExceptionForEnabledBy.
Also, WebDriver BiDi is enabled in developer builds for WPE, so we can
actually test it on CI.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/automation/AutomationInstrumentation.cpp: Added.
(WebCore::Inspector::automationClient):
(WebCore::AutomationInstrumentation::setClient):
(WebCore::AutomationInstrumentation::clearClient):
(WebCore::logEntryLevelForMessage):
(WebCore::logEntryMethodNameForMessage):
(WebCore::AutomationInstrumentation::addMessageToConsole):
* Source/WebCore/automation/AutomationInstrumentation.h: Added.
* Source/WebCore/page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
* Source/WebDriver/Session.cpp:
(WebDriver::Session::Session):
(WebDriver::Session::dispatchEvent):
(WebDriver::Session::doLogEntryAdded):
(WebDriver::Session::emitEvent):
(WebDriver::Session::eventIsEnabled):
(WebDriver::Session::enableGlobalEvent):
(WebDriver::Session::disableGlobalEvent):
(WebDriver::Session::toInternalEventName):
* Source/WebDriver/Session.h:
(WebDriver::Session::create):
* Source/WebDriver/SessionHost.cpp:
(WebDriver::SessionHost::dispatchMessage):
(WebDriver::SessionHost::dispatchEvent):
* Source/WebDriver/SessionHost.h:
* Source/WebDriver/WebDriverService.cpp:
(WebDriver::WebDriverService::bidiSessionSubscribe):
(WebDriver::WebDriverService::bidiSessionUnsubscribe):
* Source/WebDriver/WebDriverService.h:
* Source/WebDriver/WebSocketServer.cpp:
(WebDriver::WebSocketMessageHandler::Message::fail):
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/Shared/JavaScriptCore.serialization.in:
* Source/WebKit/UIProcess/Automation/Automation.json:
* Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::setProcessPool):
(WebKit::WebAutomationSession::logEntryAdded):
* Source/WebKit/UIProcess/Automation/WebAutomationSession.h:
* Source/WebKit/UIProcess/Automation/WebAutomationSession.messages.in: Copied from Source/WebKit/Shared/JavaScriptCore.serialization.in.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::WebAutomationSessionProxy):
(WebKit::WebAutomationSessionProxy::~WebAutomationSessionProxy):
(WebKit::WebAutomationSessionProxy::addMessageToConsole):
* Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.h:
* Source/cmake/OptionsWPE.cmake:
Canonical link: https://commits.webkit.org/288145@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