Index: LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html |
diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html b/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a34fe89fd6f216449e7ce4f4185ed7d34c89cf05 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html |
@@ -0,0 +1,29 @@ |
+<!doctype html> |
+<title>inserting another source before the candidate</title> |
+<script src="../../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../../resources/testharnessreport.js"></script> |
+<div id=log></div> |
+<script> |
+var v; |
+function createSource(src) { |
+ var source = document.createElement('source'); |
+ source.src = src; |
+ return source; |
+} |
+var t = async_test(function(t) { |
+ v = document.createElement('video'); |
+ v.addEventListener('loadstart', t.step_func(function() { |
+ assert_equals(v.currentSrc.substr(v.currentSrc.lastIndexOf('#')), '#a'); |
+ t.done(); |
+ }), false); |
+ v.appendChild(createSource('#a')); // invokes resource selection |
+}); |
+</script> |
+<!-- now resource selection algorithm will continue its sync section (the </script> tag below provides a stable state) --> |
+<!-- #a is candidate --> |
+<!-- pointer is between #a and the end of the list --> |
+<script> |
+t.step(function() { |
+ v.insertBefore(createSource('#b'), v.firstChild); // pointer is unchanged, #a is still candidate |
+}); |
+</script> |