Changeset 221589 in webkit


Ignore:
Timestamp:
Sep 4, 2017 9:27:38 AM (7 years ago)
Author:
Darin Adler
Message:

REGRESSION (r220052): [Sierra] API test VideoControlsManager.VideoControlsManagerFullSizeVideoInWideMainFrame is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=175329

Reviewed by Wenson Hsieh.

These tests rely on using setTimeout to wait a run loop iteration for the
video controls to appear. With changes to how loading occurs, it can now
take two run loop iterations. The concept here is inherently a bit flaky
and racy -- end users will not be able to tell how many run loop cycles it
takes for controls to come up, and websites can't tell either -- but for now
changing the tests to wait one more run loop should get rid of the flakiness.

  • TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: Re-enable test.
  • TestWebKitAPI/Tests/WebKitCocoa/full-size-autoplaying-video-with-audio.html: Add a

second setTimeout and a comment.

  • TestWebKitAPI/Tests/WebKitCocoa/skinny-autoplaying-video-with-audio.html: Ditto.
  • TestWebKitAPI/Tests/WebKitCocoa/wide-autoplaying-video-with-audio.html: Ditto.
Location:
trunk/Tools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r221567 r221589  
     12017-09-03  Darin Adler  <darin@apple.com>
     2
     3        REGRESSION (r220052): [Sierra] API test VideoControlsManager.VideoControlsManagerFullSizeVideoInWideMainFrame is a flaky failure
     4        https://bugs.webkit.org/show_bug.cgi?id=175329
     5
     6        Reviewed by Wenson Hsieh.
     7
     8        These tests rely on using setTimeout to wait a run loop iteration for the
     9        video controls to appear. With changes to how loading occurs, it can now
     10        take two run loop iterations. The concept here is inherently a bit flaky
     11        and racy -- end users will not be able to tell how many run loop cycles it
     12        takes for controls to come up, and websites can't tell either -- but for now
     13        changing the tests to wait one more run loop should get rid of the flakiness.
     14
     15        * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: Re-enable test.
     16
     17        * TestWebKitAPI/Tests/WebKitCocoa/full-size-autoplaying-video-with-audio.html: Add a
     18        second setTimeout and a comment.
     19        * TestWebKitAPI/Tests/WebKitCocoa/skinny-autoplaying-video-with-audio.html: Ditto.
     20        * TestWebKitAPI/Tests/WebKitCocoa/wide-autoplaying-video-with-audio.html: Ditto.
     21
    1222017-09-03  Sam Weinig  <sam@webkit.org>
    223
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm

    r221151 r221589  
    433433}
    434434
    435 // FIXME: Re-enable this test once <webkit.org/b/175329> is resolved.
    436 TEST(VideoControlsManager, DISABLED_VideoControlsManagerWideMediumSizedVideoInWideMainFrame)
     435TEST(VideoControlsManager, VideoControlsManagerWideMediumSizedVideoInWideMainFrame)
    437436{
    438437    RetainPtr<VideoControlsManagerTestWebView*> webView = setUpWebViewForTestingVideoControlsManager(NSMakeRect(0, 0, 1600, 800));
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/full-size-autoplaying-video-with-audio.html

    r206033 r221589  
    99    </style>
    1010    <script>
    11     function finishTest() {
    12         setTimeout(function() {
    13             try {
    14                 window.webkit.messageHandlers.testHandler.postMessage("playing");
    15             } catch(e) { }
    16         }, 0);
    17     }
    18    </script>
     11        function finishTest()
     12        {
     13            // As of this writing, two times through the run loop is long enough for the controls to come up.
     14            // There's no guarantee; whether the controls are visible is not web exposed, so it doesn't have
     15            // to happen in a certain number of timeouts.
     16            setTimeout(function() {
     17                setTimeout(function() {
     18                    webkit.messageHandlers.testHandler.postMessage("playing");
     19                }, 0);
     20            }, 0);
     21        }
     22    </script>
    1923</head>
    2024<body>
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/skinny-autoplaying-video-with-audio.html

    r206033 r221589  
    99    </style>
    1010    <script>
    11     function finishTest() {
    12         setTimeout(function() {
    13             try {
    14                 window.webkit.messageHandlers.testHandler.postMessage("playing");
    15             } catch(e) { }
    16         }, 0);
    17     }
    18    </script>
     11        function finishTest()
     12        {
     13            // As of this writing, two times through the run loop is long enough for the controls to come up.
     14            // There's no guarantee; whether the controls are visible is not web exposed, so it doesn't have
     15            // to happen in a certain number of timeouts.
     16            setTimeout(function() {
     17                setTimeout(function() {
     18                    webkit.messageHandlers.testHandler.postMessage("playing");
     19                }, 0);
     20            }, 0);
     21        }
     22    </script>
    1923</head>
    2024<body>
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/wide-autoplaying-video-with-audio.html

    r206033 r221589  
    99    </style>
    1010    <script>
    11     function finishTest() {
    12         setTimeout(function() {
    13             try {
    14                 window.webkit.messageHandlers.testHandler.postMessage("playing");
    15             } catch(e) { }
    16         }, 0);
    17     }
    18    </script>
     11        function finishTest()
     12        {
     13            // As of this writing, two times through the run loop is long enough for the controls to come up.
     14            // There's no guarantee; whether the controls are visible is not web exposed, so it doesn't have
     15            // to happen in a certain number of timeouts.
     16            setTimeout(function() {
     17                setTimeout(function() {
     18                    webkit.messageHandlers.testHandler.postMessage("playing");
     19                }, 0);
     20            }, 0);
     21        }
     22    </script>
    1923</head>
    2024<body>
Note: See TracChangeset for help on using the changeset viewer.