OLD | NEW |
| 1 <!DOCTYPE html> |
| 2 <title>Test that hiding volume / mute button works as expected.</title> |
| 3 <script src="../resources/testharness.js"></script> |
| 4 <script src="../resources/testharnessreport.js"></script> |
| 5 <script src="media-controls.js"></script> |
| 6 <script src="media-file.js"></script> |
1 <video controls></video> | 7 <video controls></video> |
2 <p>Test that hiding volume / mute buttons works as expected.</p> | |
3 <script src=media-file.js></script> | |
4 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 | |
5 (Please avoid writing new tests using video-test.js) --> | |
6 <script src=video-test.js></script> | |
7 <script src=media-controls.js></script> | |
8 <script> | 8 <script> |
9 video.src = findMediaFile("video", "content/test"); | 9 async_test(function(t) { |
10 run("video.load()"); | 10 var video = document.querySelector("video"); |
11 waitForEvent("canplaythrough", function () { | 11 |
| 12 video.oncanplaythrough = t.step_func_done(function() { |
12 // Enable hidden audio preferences to take effect. | 13 // Enable hidden audio preferences to take effect. |
13 run("window.internals.setAllowHiddenVolumeControls(video, true)"); | 14 internals.setAllowHiddenVolumeControls(video, true); |
14 // Request non-hidden audio controls. | 15 // Request non-hidden audio controls. |
15 run("window.internals.settings.setPreferHiddenVolumeControls(false)"); | 16 internals.settings.setPreferHiddenVolumeControls(false); |
16 run("video.muted = false"); | 17 video.muted = false; |
17 muteButton = mediaControlsButton(video, "mute-button"); | 18 muteButton = mediaControlsButton(video, "mute-button"); |
18 volumeSlider = mediaControlsButton(video, "volume-slider"); | 19 volumeSlider = mediaControlsButton(video, "volume-slider"); |
19 | 20 |
20 // Make sure that both are visible. | 21 // Make sure that both are visible. |
21 testExpected("getComputedStyle(muteButton).display", "none", '!='); | 22 assert_not_equals(getComputedStyle(muteButton).display, "none"); |
22 testExpected("getComputedStyle(volumeSlider).display", "none", '!='); | 23 assert_not_equals(getComputedStyle(volumeSlider).display, "none"); |
23 | 24 |
24 // Switch to muted video. Both should still be visible. | 25 // Switch to muted video. Both should still be visible. |
25 run("video.muted = true"); | 26 video.muted = true; |
26 testExpected("getComputedStyle(muteButton).display", "none", '!='); | 27 assert_not_equals(getComputedStyle(muteButton).display, "none"); |
27 testExpected("getComputedStyle(volumeSlider).display", "none", '!='); | 28 assert_not_equals(getComputedStyle(volumeSlider).display, "none"); |
28 | 29 |
29 run("window.internals.settings.setPreferHiddenVolumeControls(true)"); | 30 internals.settings.setPreferHiddenVolumeControls(true); |
30 | 31 |
31 // Switch back to unmuted video. | 32 // Switch back to unmuted video. |
32 run("video.muted = false"); | 33 video.muted = false; |
| 34 assert_not_equals(getComputedStyle(muteButton).display, "none"); |
| 35 assert_equals(getComputedStyle(volumeSlider).display, "none"); |
33 | 36 |
34 testExpected("getComputedStyle(muteButton).display", "none", '!='); | 37 // For muted video, the volume slider will hide but the mute button |
35 testExpected("getComputedStyle(volumeSlider).display", "none", '=='); | 38 // should stay, since we always have it present for media which have aud
io. |
| 39 video.muted = true; |
| 40 assert_not_equals(getComputedStyle(muteButton).display, "none"); |
| 41 assert_equals(getComputedStyle(volumeSlider).display, "none"); |
| 42 }); |
36 | 43 |
37 // For muted video, the volume slider will hide but the mute | 44 video.src = findMediaFile("video", "content/test"); |
38 // button should stay, since we always have it present for media | 45 }) |
39 // which have audio. | 46 </script> |
40 run("video.muted = true"); | |
41 testExpected("getComputedStyle(muteButton).display", "none", '!='); | |
42 testExpected("getComputedStyle(volumeSlider).display", "none", '=='); | |
43 | |
44 endTest(); | |
45 }); | |
46 </script> | |
OLD | NEW |