Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 66c45d7c64726e3b9d5700305bd2945c7a978e4d
      
https://github.com/WebKit/WebKit/commit/66c45d7c64726e3b9d5700305bd2945c7a978e4d
  Author: Lauro Moura <[email protected]>
  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@main. It also includes follow up
fixes after the AbstractRefCounted changes from 287239@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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to