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