Index: LayoutTests/media/media-source-append-multiple.html |
diff --git a/LayoutTests/media/media-source-append-multiple.html b/LayoutTests/media/media-source-append-multiple.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5539b63616203841fedb28612e8543a7cd53985b |
--- /dev/null |
+++ b/LayoutTests/media/media-source-append-multiple.html |
@@ -0,0 +1,62 @@ |
+<!DOCTYPE html> |
+<html> |
+ <head> |
+ <script src=media-file.js></script> |
+ <script src=video-test.js></script> |
+ <script> |
+ var audio, sourceA, sourceB; |
+ function logEvent(audio, name) { |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
Remove. You should be using waitForEvent instead.
Srirama
2014/06/23 19:19:26
Done.
|
+ audio.addEventListener(name, function(e) { |
+ consoleWrite("EVENT(" + e.type + ")"); |
+ }); |
+ } |
+ |
+ function canplaythrough(e) { |
+ consoleWrite("EVENT(canplaythrough)"); |
+ endTest(); |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
Add a check before this that makes sure that curre
Srirama
2014/06/23 19:19:26
Done.
|
+ } |
+ |
+ function loadedMetadataA() { |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
nit: { on next line here an every other instance l
Srirama
2014/06/23 19:19:26
Done.
|
+ consoleWrite("loadedMetadataA"); |
+ audio.removeEventListener("loadedmetadata", loadedMetadataA); |
+ audio.removeChild(sourceA); |
+ audio.appendChild(sourceB); |
+ audio.addEventListener("loadedmetadata", loadedMetadataB); |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
nit: Use waitForEventAndFail() here instead.
Srirama
2014/06/23 19:19:26
Done.
|
+ } |
+ |
+ function loadedMetadataB() { |
+ consoleWrite("loadedMetadataB"); |
+ audio.removeEventListener("loadedmetadata", loadedMetadataB); |
+ failTest("Should not load 2nd Source"); |
+ } |
+ |
+ function onWindowLoad(e) |
+ { |
+ audio = document.getElementById('a'); |
+ logEvent(audio, "loadstart"); |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
Why don't you just use waitForEvent() since you ar
Srirama
2014/06/23 19:19:26
Used waitForEvent() but not able to use findMediaE
|
+ logEvent(audio, "progress"); |
+ logEvent(audio, "emptied"); |
+ logEvent(audio, "suspend"); |
+ logEvent(audio, "loadedmetadata"); |
+ logEvent(audio, "loadeddata"); |
+ logEvent(audio, "canplay"); |
+ audio.addEventListener('canplaythrough', canplaythrough); |
+ |
+ sourceA = document.createElement("source"); |
+ var audioFile = findMediaFile("audio", "content/test"); |
+ sourceA.setAttribute("src", audioFile); |
+ sourceB = document.createElement("source"); |
+ audioFile = findMediaFile("audio", "content/silence"); |
+ sourceB.setAttribute("src", audioFile); |
+ |
+ audio.addEventListener("loadedmetadata", loadedMetadataA); |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
nit: Use waitForEventOnce("loadedmetadata", loaded
Srirama
2014/06/23 19:19:26
Done.
|
+ audio.appendChild(sourceA); |
+ } |
+ |
+ window.addEventListener('load', onWindowLoad, false); |
+ </script> |
+ </head> |
+ <body> |
+ <audio id="a" controls></audio> |
acolwell GONE FROM CHROMIUM
2014/06/23 16:49:40
nit: remove controls since it is not needed for th
Srirama
2014/06/23 19:19:26
Done.
|
+ </body> |
+</html> |