Title: [273853] trunk/LayoutTests
- Revision
- 273853
- Author
- peng.l...@apple.com
- Date
- 2021-03-03 15:54:50 -0800 (Wed, 03 Mar 2021)
Log Message
[GPUP] Two tests related to media element state are flaky when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=221688
Reviewed by Jer Noble.
This patch fixes two flaky tests by updating the expected value of a media element's "networkState"
in a "loadstart" event handler.
A video/audio element's network state may have changed from LOADING to IDLE before the "loadstart"
event handler executes. That will happen when the media player notifies the element with a network
state change (by calling HTMLMediaElement::setNetworkState()) from LOADING to LOADED quickly.
The code snippet is below:
```
void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
{
...
if (state == MediaPlayer::NetworkState::Loaded) {
if (m_networkState != NETWORK_IDLE)
changeNetworkStateFromLoadingToIdle();
m_completelyLoaded = true;
}
}
```
* media/W3C/audio/networkState/networkState_during_loadstart-expected.txt:
* media/W3C/audio/networkState/networkState_during_loadstart.html:
* media/W3C/video/networkState/networkState_during_loadstart-expected.txt:
* media/W3C/video/networkState/networkState_during_loadstart.html:
* platform/mac/TestExpectations:
* platform/wk2/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (273852 => 273853)
--- trunk/LayoutTests/ChangeLog 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/ChangeLog 2021-03-03 23:54:50 UTC (rev 273853)
@@ -1,3 +1,37 @@
+2021-03-03 Peng Liu <peng.l...@apple.com>
+
+ [GPUP] Two tests related to media element state are flaky when media in GPU Process is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=221688
+
+ Reviewed by Jer Noble.
+
+ This patch fixes two flaky tests by updating the expected value of a media element's "networkState"
+ in a "loadstart" event handler.
+
+ A video/audio element's network state may have changed from LOADING to IDLE before the "loadstart"
+ event handler executes. That will happen when the media player notifies the element with a network
+ state change (by calling HTMLMediaElement::setNetworkState()) from LOADING to LOADED quickly.
+ The code snippet is below:
+
+ ```
+ void HTMLMediaElement::setNetworkState(MediaPlayer::NetworkState state)
+ {
+ ...
+ if (state == MediaPlayer::NetworkState::Loaded) {
+ if (m_networkState != NETWORK_IDLE)
+ changeNetworkStateFromLoadingToIdle();
+ m_completelyLoaded = true;
+ }
+ }
+ ```
+
+ * media/W3C/audio/networkState/networkState_during_loadstart-expected.txt:
+ * media/W3C/audio/networkState/networkState_during_loadstart.html:
+ * media/W3C/video/networkState/networkState_during_loadstart-expected.txt:
+ * media/W3C/video/networkState/networkState_during_loadstart.html:
+ * platform/mac/TestExpectations:
+ * platform/wk2/TestExpectations:
+
2021-03-03 Amir Mark Jr <amir_m...@apple.com>
[BigSur WK1 Release] media/video-aspect-ratio.html is a flakey timeout
Modified: trunk/LayoutTests/media/W3C/audio/networkState/networkState_during_loadstart-expected.txt (273852 => 273853)
--- trunk/LayoutTests/media/W3C/audio/networkState/networkState_during_loadstart-expected.txt 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/media/W3C/audio/networkState/networkState_during_loadstart-expected.txt 2021-03-03 23:54:50 UTC (rev 273853)
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS "2" is "2"
+PASS true is true
TEST COMPLETE
spec reference
Modified: trunk/LayoutTests/media/W3C/audio/networkState/networkState_during_loadstart.html (273852 => 273853)
--- trunk/LayoutTests/media/W3C/audio/networkState/networkState_during_loadstart.html 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/media/W3C/audio/networkState/networkState_during_loadstart.html 2021-03-03 23:54:50 UTC (rev 273853)
@@ -15,8 +15,7 @@
var a = document.getElementById("a");
a.addEventListener("loadstart", function() {
t.step(function() {
- assert_equals(a.networkState,
- a.NETWORK_LOADING);
+ assert_true(a.networkState == a.NETWORK_LOADING || a.networkState == a.NETWORK_IDLE);
});
t.done();
a.pause();
Modified: trunk/LayoutTests/media/W3C/video/networkState/networkState_during_loadstart-expected.txt (273852 => 273853)
--- trunk/LayoutTests/media/W3C/video/networkState/networkState_during_loadstart-expected.txt 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/media/W3C/video/networkState/networkState_during_loadstart-expected.txt 2021-03-03 23:54:50 UTC (rev 273853)
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS "2" is "2"
+PASS true is true
TEST COMPLETE
spec reference
Modified: trunk/LayoutTests/media/W3C/video/networkState/networkState_during_loadstart.html (273852 => 273853)
--- trunk/LayoutTests/media/W3C/video/networkState/networkState_during_loadstart.html 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/media/W3C/video/networkState/networkState_during_loadstart.html 2021-03-03 23:54:50 UTC (rev 273853)
@@ -14,8 +14,7 @@
var v = document.getElementById("v");
v.addEventListener("loadstart", function() {
t.step(function() {
- assert_equals(v.networkState,
- v.NETWORK_LOADING);
+ assert_true(v.networkState == v.NETWORK_LOADING || v.networkState == v.NETWORK_IDLE);
});
t.done();
v.pause();
Modified: trunk/LayoutTests/platform/mac/TestExpectations (273852 => 273853)
--- trunk/LayoutTests/platform/mac/TestExpectations 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2021-03-03 23:54:50 UTC (rev 273853)
@@ -731,7 +731,6 @@
webkit.org/b/122042 media/media-controller-playback.html [ Pass Timeout ]
webkit.org/b/122126 media/click-volume-bar-not-pausing.html [ Pass Timeout ]
webkit.org/b/122507 media/track/track-cue-rendering.html [ Pass Failure ]
-webkit.org/b/123010 media/W3C/audio/networkState/networkState_during_loadstart.html [ Pass Failure ]
webkit.org/b/123099 media/media-controller-time-clamp.html [ Pass Timeout ]
webkit.org/b/123522 media/track/track-in-band-legacy-api.html [ Pass Failure Crash ]
webkit.org/b/131855 media/event-attributes.html [ Pass Failure Timeout ]
Modified: trunk/LayoutTests/platform/wk2/TestExpectations (273852 => 273853)
--- trunk/LayoutTests/platform/wk2/TestExpectations 2021-03-03 23:46:37 UTC (rev 273852)
+++ trunk/LayoutTests/platform/wk2/TestExpectations 2021-03-03 23:54:50 UTC (rev 273853)
@@ -219,10 +219,6 @@
# webkit.org/b/221697
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html [ Failure ]
-# webkit.org/b/221688
-media/W3C/video/networkState/networkState_during_loadstart.html [ Failure Pass ]
-media/W3C/video/readyState/readyState_during_loadedmetadata.html [ Crash Pass ]
-
# webkit.org/b/221685
media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-video.html [ Timeout Failure Pass ]
media/modern-media-controls/fullscreen-support/fullscreen-support-press.html [ Timeout Pass ]
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes