Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

  • This test has a WPT meta file that expects 1 subtest issues.
  • This WPT test may be referenced by the following Test IDs:
    • /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html - WPT Dashboard Interop Dashboard
<!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>