guarantees load events do not fire before event listeners are registered.
This change does not affect test results.
* media/progress-event.html:
* media/video-autoplay.html:
* media/video-buffered.html:
* media/video-currentTime-set.html:
* media/video-currentTime-set2.html:
* media/video-currentTime.html:
* media/video-dom-autoplay.html:
* media/video-error-abort.html:
* media/video-error-does-not-exist.html:
* media/video-load-networkState.html:
* media/video-load-readyState.html:
* media/video-no-autoplay.html:
* media/video-seekable.html:
* media/video-seeking.html:
* media/video-size.html:
* media/video-src.html:
* media/video-start.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-11-23 Antti Koivisto <antti@apple.com>
+
+ Set video src from script, not from the element attribute. This
+ guarantees load events do not fire before event listeners are registered.
+ This change does not affect test results.
+
+ * media/progress-event.html:
+ * media/video-autoplay.html:
+ * media/video-buffered.html:
+ * media/video-currentTime-set.html:
+ * media/video-currentTime-set2.html:
+ * media/video-currentTime.html:
+ * media/video-dom-autoplay.html:
+ * media/video-error-abort.html:
+ * media/video-error-does-not-exist.html:
+ * media/video-load-networkState.html:
+ * media/video-load-readyState.html:
+ * media/video-no-autoplay.html:
+ * media/video-seekable.html:
+ * media/video-seeking.html:
+ * media/video-size.html:
+ * media/video-src.html:
+ * media/video-start.html:
+
2007-11-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
-<video src="content/test.mp4"></video>
+<video></video>
<script src=video-test.js></script>
<script>
waitForEventAndTest("begin", "!event.lengthComputable && event.loaded==0 && event.total==0");
waitForEventTestAndEnd("load", "event.lengthComputable && event.loaded>0 && event.total>0");
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.buffered.length == 0");
endTest();
}
);
+video.src = "content/test.mp4";
</script>
});
waitForEventAndEnd('ended');
});
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
waitForEvent('load',
test("video.currentTime.toFixed(1) == 3.1");
endTest();
});
-
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.currentTime == 0")
test("video.currentTime > 0")
endTest();
}
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("!video.autoplay");
test("video.autoplay");
test("video.getAttribute('autoplay') != null");
waitForEventTestAndEnd('play', "!video.paused");
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("!video.error");
waitForEvent("begin", function () { if (didLoad) return; didLoad = true; video.load(); });
waitForEventAndTest("abort", "video.error.code == MediaError.MEDIA_ERR_ABORTED");
waitForEventTestAndEnd("load", "!video.error");
+video.src = "content/test.mp4";
</script>
-<video src=content/does-not-exist.mpeg></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("!video.error");
waitForEventAndTest("load", "false");
waitForEventTestAndEnd("emptied", "video.error.code == MediaError.MEDIA_ERR_NETWORK");
+video.src = "content/does-not-exist.mpeg";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.networkState == HTMLMediaElement.EMPTY");
waitForEventAndTest("loadedmetadata", "video.networkState == HTMLMediaElement.LOADED_METADATA");
waitForEventAndTest("loadedfirstframe", "video.networkState == HTMLMediaElement.LOADED_FIRST_FRAME");
waitForEventTestAndEnd("load", "video.networkState == HTMLMediaElement.LOADED");
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.readyState == HTMLMediaElement.DATA_UNAVAILABLE");
waitForEventAndTest("loadedfirstframe", "video.readyState == HTMLMediaElement.CAN_SHOW_CURRENT_FRAME");
waitForEventAndTest("canshowcurrentframe", "video.readyState == HTMLMediaElement.CAN_SHOW_CURRENT_FRAME");
waitForEventTestAndEnd("canplaythrough", "video.readyState == HTMLMediaElement.CAN_PLAY_THROUGH");
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.paused");
waitForEventAndTest("play", "false");
waitForEvent("load", function () { setTimeout(testAndEnd('video.paused', 500)) });
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.seekable.length == 0");
endTest();
}
);
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<p>Test that seeking attribute is true in timeupdate event after seek and goes back to false when seeking completes </p>
<script src=video-test.js></script>
<script>
run("video.currentTime = 2");
}
);
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
test("video.videoWidth == 0 && video.videoHeight == 0");
waitForEventTestAndEnd('loadedmetadata', "video.videoWidth > 0 && video.videoHeight > 0");
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4></video>
+<video></video>
<script src=video-test.js></script>
<script>
waitForEventTestAndEnd('begin', "relativeURL(video.currentSrc) == 'content/test.mp4'");
+video.src = "content/test.mp4";
</script>
-<video src=content/test.mp4 start=1s></video>
+<video start=1s></video>
<script src=video-test.js></script>
<script>
test("video.start == 1.0");
waitForEventTestAndEnd('canplaythrough', "video.currentTime == 1.0");
+video.src = "content/test.mp4";
</script>