Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Side by Side Diff: third_party/WebKit/LayoutTests/media/video-autoplay-experiment-just-once.html

Issue 1470153004: Autoplay experiment metric fixes and additions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ...because tests. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/core.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <script src=media-file.js></script> 1 <script src=media-file.js></script>
2 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 2 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956
3 (Please avoid writing new tests using video-test.js) --> 3 (Please avoid writing new tests using video-test.js) -->
4 <script src=video-test.js></script> 4 <script src=video-test.js></script>
5 <script> 5 <script>
6 6
7 function runTest() 7 function runTest()
8 { 8 {
9 var canPlayThroughCount = 0;
10 var videoShouldPlay;
11 var videoShouldNotPlay;
12
13 testRunner.waitUntilDone();
14
15 function canPlayThrough()
16 {
17 canPlayThroughCount++;
18 if (canPlayThroughCount == 2) {
19 // Pause() will clear the autoplaying flag, which should also preven t the
20 // gesture override experiment from autoplaying.
21 videoShouldNotPlay.pause();
22
23 // Mute them both, and see if only one starts.
24 videoShouldPlay.muted = true;
25 videoShouldNotPlay.muted = true;
26 logResult(didPlaybackStart(videoShouldPlay), "First video should pla y");
27 logResult(!didPlaybackStart(videoShouldNotPlay), "Second video shoul d not play");
28 testRunner.notifyDone();
29 }
30 }
31
9 function prepareVideo(parent) 32 function prepareVideo(parent)
10 { 33 {
11 var video = document.createElement("video"); 34 var video = document.createElement("video");
35 video.oncanplaythrough = canPlayThrough;
12 video.src = findMediaFile("video", "content/test"); 36 video.src = findMediaFile("video", "content/test");
13 video.autoplay = true; 37 video.autoplay = true;
14 parent.appendChild(video); 38 parent.appendChild(video);
15 39
16 return video; 40 return video;
17 } 41 }
18 42
19 function didPlaybackStart(element) 43 function didPlaybackStart(element)
20 { 44 {
21 return !element.paused || element.ended; 45 return !element.paused || element.ended;
22 } 46 }
23 47
24 var parent = document.createElement("div"); 48 var parent = document.createElement("div");
25 document.body.appendChild(parent); 49 document.body.appendChild(parent);
26 50
27 // Require a user gesture, but override it for muted videos. 51 // Require a user gesture, but override it for muted videos.
28 internals.settings.setMediaPlaybackRequiresUserGesture(true); 52 internals.settings.setMediaPlaybackRequiresUserGesture(true);
29 internals.settings.setAutoplayExperimentMode("enabled-forvideo-ifmuted"); 53 internals.settings.setAutoplayExperimentMode("enabled-forvideo-ifmuted");
30 54
31 var videoShouldPlay = prepareVideo(parent); 55 videoShouldPlay = prepareVideo(parent);
32 var videoShouldNotPlay = prepareVideo(parent); 56 videoShouldNotPlay = prepareVideo(parent);
33
34 // Pause() will clear the autoplaying flag, which should also prevent the
35 // gesture override experiment from autoplaying.
36 videoShouldNotPlay.pause();
37
38 // Mute them both, and see if only one starts.
39 videoShouldPlay.muted = true;
40 videoShouldNotPlay.muted = true;
41 logResult(didPlaybackStart(videoShouldPlay), "First video should play");
42 logResult(!didPlaybackStart(videoShouldNotPlay), "Second video should not pl ay");
43 testRunner.notifyDone();
44 } 57 }
45 58
46 </script> 59 </script>
47 <p>Test that the autoplay experiment doesn't play media once the media 60 <p>Test that the autoplay experiment doesn't play media once the media
48 is no longer eligible for autoplay.</p> 61 is no longer eligible for autoplay.</p>
49 <body onLoad="runTest()"> 62 <body onLoad="runTest()">
50 </body> 63 </body>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/core.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698