[webkit-changes] [WebKit/WebKit] 588870: TestWebKitAPI::Utils::* runloop related implementa...

Kimmo Kinnunen noreply at github.com
Mon Sep 12 08:08:25 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 58887089c1f99919a7879162547ec7cf53548bbe
      https://github.com/WebKit/WebKit/commit/58887089c1f99919a7879162547ec7cf53548bbe
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2022-09-12 (Mon, 12 Sep 2022)

  Changed paths:
    M Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp
    M Source/WTF/wtf/RunLoop.h
    M Source/WTF/wtf/generic/RunLoopGeneric.cpp
    M Source/WTF/wtf/win/RunLoopWin.cpp
    M Tools/TestWebKitAPI/DebugUtilities.h
    M Tools/TestWebKitAPI/PlatformGTK.cmake
    M Tools/TestWebKitAPI/PlatformJSCOnly.cmake
    M Tools/TestWebKitAPI/PlatformPlayStation.cmake
    M Tools/TestWebKitAPI/PlatformWPE.cmake
    M Tools/TestWebKitAPI/PlatformWin.cmake
    M Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
    M Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm
    M Tools/TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm
    M Tools/TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash_Bundle.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm
    M Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm
    M Tools/TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm
    M Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly_Bundle.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/SleepDisabler.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenRemoveNodeBeforeEnter.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaDocument.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebLocks.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm
    M Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm
    M Tools/TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm
    M Tools/TestWebKitAPI/Tests/mac/FullscreenPointerLeave.mm
    M Tools/TestWebKitAPI/Tests/mac/HIDGamepads.mm
    A Tools/TestWebKitAPI/Utilities.cpp
    M Tools/TestWebKitAPI/Utilities.h
    M Tools/TestWebKitAPI/cocoa/TestWKWebView.mm
    M Tools/TestWebKitAPI/cocoa/UtilitiesCocoa.mm
    R Tools/TestWebKitAPI/generic/UtilitiesGeneric.cpp
    R Tools/TestWebKitAPI/glib/UtilitiesGLib.cpp
    R Tools/TestWebKitAPI/win/UtilitiesWin.cpp

  Log Message:
  -----------
  TestWebKitAPI::Utils::* runloop related implementations are redundant across platforms
https://bugs.webkit.org/show_bug.cgi?id=244991

Reviewed by Michael Catanzaro.

The WTF::RunLoop interface can support all the features needed by Utils runloop
functions.

Change the Utils:: functions to input duration as WTF:Seconds instead of double.

Change the Utils::sleep() to Utils::runFor() to match what it actually does.
One of the implementations was wrong even though the implementation matched
more correctly to the name. The function Utils::sleep() was implemented
incorrectly as a "sleep" as opposed to the correct "run".

Based on the existing WINDOWS, UNIX implementation, it is expected that Util::run* spins
the WTF::RunLoop. Thus change these implementations.

Based on the existing COCOA implementation, it is not clear if Util::run* spins
the WTF::RunLoop or just NSRunLoop, conceptually. Thus this patch does
not change these implementations.

* Source/WTF/wtf/RunLoop.h:
* Source/WTF/wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::cycle):
(WTF::RunLoop::iterate): Deleted.
* Source/WTF/wtf/win/RunLoopWin.cpp:
(WTF::RunLoop::iterate): Deleted.
* Tools/TestWebKitAPI/DebugUtilities.h:
* Tools/TestWebKitAPI/PlatformGTK.cmake:
* Tools/TestWebKitAPI/PlatformJSCOnly.cmake:
* Tools/TestWebKitAPI/PlatformPlayStation.cmake:
* Tools/TestWebKitAPI/PlatformWPE.cmake:
* Tools/TestWebKitAPI/PlatformWin.cmake:
* Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::runGetFileModificationTimeTest):
(TestWebKitAPI::TEST_F):
* Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
* Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::MediaSessionCoordinatorTest::executeUntil):
* Tools/TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash_Bundle.cpp:
(TestWebKitAPI::MouseMoveAfterCrashTest::didReceiveMessage):
* Tools/TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST_F):
* Tools/TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly_Bundle.cpp:
(TestWebKitAPI::ResponsivenessTimerDoesntFireEarlyTest::didReceiveMessage):
* Tools/TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(SleepDisabler::hasSleepDisablerShouldBecomeEqualTo):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm:
(TestWebKitAPI::waitForBufferSizeChange):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm:
(AudioRoutingArbitration::statusShouldBecomeEqualTo):
(TEST_F):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(runDeviceOrientationTest):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenRemoveNodeBeforeEnter.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm:
(-[DisplayCaptureObserver waitForDisplayCaptureState:]):
(-[DisplayCaptureObserver waitForDisplayCaptureSurfaces:]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
(waitUntilBufferingPolicyIsEqualTo):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaDocument.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm:
(TestWebKitAPI::MediaSessionTest::waitForEventListenerToBeCalled):
(TestWebKitAPI::MediaSessionTest::waitForSessionHandlerToBeCalled):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(loadPictureInPicture):
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebLocks.mm:
(TestWebKitAPI::runLockRequestWaitingOnAnotherPage):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
* Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
(TestWebKitAPI::waitUntilAudioSessionCategoryIsEqualTo):
* Tools/TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(TestWebKitAPI::waitUntilInnerHeightIs):
* Tools/TestWebKitAPI/Tests/mac/FullscreenPointerLeave.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/mac/HIDGamepads.mm:
* Tools/TestWebKitAPI/Utilities.cpp: Renamed from Tools/TestWebKitAPI/glib/UtilitiesGLib.cpp.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
(TestWebKitAPI::Util::runFor):
* Tools/TestWebKitAPI/Utilities.h:
* Tools/TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView waitUntilClientWidthIs:]):
* Tools/TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
* Tools/TestWebKitAPI/generic/UtilitiesGeneric.cpp: Removed.
* Tools/TestWebKitAPI/win/UtilitiesWin.cpp: Removed.

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




More information about the webkit-changes mailing list