Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 54145af5747eeeea428693af607908f525d2ca30
      
https://github.com/WebKit/WebKit/commit/54145af5747eeeea428693af607908f525d2ca30
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2025-03-19 (Wed, 19 Mar 2025)

  Changed paths:
    M LayoutTests/accessibility/form-control-value-settable.html
    M LayoutTests/compositing/visible-rect/iframe-and-layers.html
    M LayoutTests/fast/text/font-face-crash.html
    M LayoutTests/http/tests/media/fairplay/fps-init-data-cenc-oob-crash.html
    M 
LayoutTests/http/wpt/webcodecs/videodecoderconfig-detached-description.html
    M 
LayoutTests/js/dom/modules/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror.html
    M 
LayoutTests/js/dom/modules/module-execution-error-should-be-propagated-to-onerror.html
    M LayoutTests/js/dom/rejected-promise-creation-should-check-exception.html
    M LayoutTests/js/throw-large-string-oom-expected.txt
    M LayoutTests/media/audio-no-installed-engines.html
    M LayoutTests/webaudio/decode-audio-data-basic.html
    M Source/WebKit/Shared/WebPageCreationParameters.h
    M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
    M Source/WebKit/UIProcess/API/APIPageConfiguration.h
    M Source/WebKit/UIProcess/API/APIUIClient.h
    M Source/WebKit/UIProcess/API/C/WKPage.cpp
    M Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.cpp
    M Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.h
    M Source/WebKit/UIProcess/API/C/WKPageUIClient.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
    M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
    M Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
    M Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestInvocation.cpp
    M Tools/WebKitTestRunner/TestInvocation.h
    M Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm

  Log Message:
  -----------
  Move WebKitTestRunner's console.log output to UI process
https://bugs.webkit.org/show_bug.cgi?id=290052
rdar://147418844

Reviewed by Charlie Wolfe.

In order for the messages to be ordered correctly with other synchronous 
messages with test output,
I need to use IPC::SendOption::DispatchMessageEvenWhenWaitingForSyncReply.  In 
order to prevent
performance issues, I only do this when 
WKPageConfigurationSetShouldSendConsoleLogsToUIProcessForTesting
has been used.  Applications can already use WKUserScript and 
WKScriptMessageHandler to get console.log
output asynchronously.

A few tests occasionally output things after the test is finished, which used 
to be checked by
InjectedBundle::isTestRunning.  Now I check TestInvocation::gotFinalMessage, 
but that's still a
little racy because right now the source of truth is the web content process.  
To reduce flakyness,
I also add dumpJSConsoleLogInStdErr=true to some tests where it is helpful in 
reducing flakyness.

* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::shouldSendConsoleLogsToUIProcessForTesting const):
(API::PageConfiguration::setShouldSendConsoleLogsToUIProcessForTesting):
* Source/WebKit/UIProcess/API/APIUIClient.h:
(API::UIClient::addMessageToConsoleForTesting):
* Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.cpp:
(WKPageConfigurationSetShouldSendConsoleLogsToUIProcessForTesting):
* Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.h:
* Source/WebKit/UIProcess/API/C/WKPageUIClient.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::addMessageToConsoleForTesting):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::addMessageToConsole):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::dumpToStdErr): Deleted.
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::shouldDumpPixels const):
(WTR::InjectedBundle::dumpJSConsoleLogInStdErr const): Deleted.
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
(WTR::InjectedBundlePage::willAddMessageToConsole): Deleted.
(WTR::lastFileURLPathComponent): Deleted.
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::lastFileURLPathComponent):
(WTR::addMessageToConsole):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::createTestSettingsDictionary):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* Tools/WebKitTestRunner/TestInvocation.h:
* Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to