diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebCore/manual-tests/media-default-playback-rate.html | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebCore/manual-tests/media-default-playback-rate.html')
-rw-r--r-- | Source/WebCore/manual-tests/media-default-playback-rate.html | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/Source/WebCore/manual-tests/media-default-playback-rate.html b/Source/WebCore/manual-tests/media-default-playback-rate.html new file mode 100644 index 0000000..b980edc --- /dev/null +++ b/Source/WebCore/manual-tests/media-default-playback-rate.html @@ -0,0 +1,90 @@ + +<html> + <head> + <!-- LayoutTests location is hard-coded to avoid duplication of code. --> + <script src="http://svn.webkit.org/repository/webkit/trunk/LayoutTests/media/media-file.js"></script> + <script src="http://svn.webkit.org/repository/webkit/trunk/LayoutTests/media/video-test.js"></script> + + <script> + var expectedRates = { "defaultPlaybackRate" : 1, "playbackRate" : 1}; + var playingFromScript = false; + var changedRate = false; + + function absoluteUrl(url) + { + var a = document.createElement('a'); + a.href = url; + return a.href; + } + + function testRates() + { + consoleWrite(""); + var playWithControllerButton = !changedRate && !playingFromScript; + testExpected("video.playbackRate", playWithControllerButton ? expectedRates['defaultPlaybackRate'] : expectedRates['playbackRate']); + testExpected("video.defaultPlaybackRate", expectedRates['defaultPlaybackRate']); + changedRate = false; + } + + function playing() + { + consoleWrite("<br>'playing' event"); + expectedRates['playbackRate'] = playingFromScript ? video.playbackRate : video.defaultPlaybackRate; + testRates(); + playingFromScript = false; + } + + function ratechange() + { + consoleWrite("<br>'ratechange' event"); + testRates(); + } + + function start() + { + findMediaElement(); + video.addEventListener('ratechange', ratechange); + video.addEventListener('playing', playing); + + // Use the video file from the svn repository to avoid duplicating the file. + video.src = absoluteUrl(findMediaFile('video', 'http://svn.webkit.org/repository/webkit/trunk/LayoutTests/media/content/test')); + testRates(); + } + + function play() + { + playingFromScript = true; + video.play(); + } + + function setRate(which, rate) + { + changedRate = true; + video[which] = rate; + expectedRates[which] = rate; + } + + </script> + </head> + + <body onload="start()"> + + <video controls > </video> + <ul> + <li>The current 'playbackRate' and 'defaultPlaybackRate' should be logged every time either changes.</li> + <li>'playbackRate' should be set to 'defaultPlaybackRate' when the Play button in the built-in controls is pressed</li> + <li>'playbackRate' should NOT when play() is called from script.</li> + </ul> + <div> + <button id="controls" onclick="setRate('defaultPlaybackRate', 2)">defaultPlaybackRate = 2</button> + <button id="controls" onclick="setRate('defaultPlaybackRate', 1)">defaultPlaybackRate = 1</button> + <button id="controls" onclick="setRate('playbackRate', 2)">playbackRate = 2</button> + <button id="controls" onclick="setRate('playbackRate', 1)">playbackRate = 1</button> + </div> + <div> + <button id="controls" onclick="play()">play()</button> + <button id="controls" onclick="video.pause()">pause()</button> + </div> + <br> + </body> +</html> |