Index: LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html |
diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html b/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2c26f3bf476de0b54594a2e4a45238a2912bb185 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html |
@@ -0,0 +1,22 @@ |
+<!doctype html> |
+<title>invoking resource selection by setting src; await stable state</title> |
+<script src="../../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../../resources/testharnessreport.js"></script> |
+<div id=log></div> |
+<script> |
+var v; |
+var t = async_test(function(t) { |
+ v = document.createElement('video'); |
+ v.onloadstart = t.step_func(function() { assert_unreached(); }); |
+ v.setAttribute('src', ''); // runs resource selection algorithm, but it will wait running the sync section until this script has finished |
+ assert_equals(v.networkState, v.NETWORK_NO_SOURCE); |
+ v.removeAttribute('src'); // will make resource selection algorithm revert to NETWORK_EMPTY and abort (in the sync section) |
+ assert_equals(v.networkState, v.NETWORK_NO_SOURCE); |
+ window.onload = t.step_func(function() { t.done(); }); |
+}); |
+</script> |
+<script> |
+t.step(function() { |
+ assert_equals(v.networkState, v.NETWORK_EMPTY); |
+}); |
+</script> |