| <!DOCTYPE html> |
| <title>Clicking on the overflow closed captions button shows the closed captions menu.</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="media-controls.js"></script> |
| <script src="overflow-menu.js"></script> |
| |
| <!--Padding ensures the overflow menu is visible for the tests. --> |
| <body style="padding-top: 200px; padding-left: 100px"> |
| <video controls></video> |
| <script> |
| async_test(function(t) { |
| // Set up video |
| var video = document.querySelector("video"); |
| video.src = "content/test.ogv"; |
| video.setAttribute("width", "60"); |
| video.setAttribute("height", "100"); |
| // Add captions |
| var track = video.addTextTrack("captions"); |
| |
| video.onloadeddata = t.step_func_done(function() { |
| var overflowList = getOverflowList(video); |
| var overflowMenu = getOverflowMenuButton(video); |
| |
| // Get the menu that displays the list of text tracks |
| var captionsList = mediaControlsElement(internals.shadowRoot(video).firstChild, "-internal-media-controls-text-track-list"); |
| |
| // Initially the list should not be visible |
| assert_equals(getComputedStyle(captionsList).display, "none"); |
| |
| // Click on the overflow menu button |
| var coords = elementCoordinates(overflowMenu); |
| clickAtCoordinates(coords[0], coords[1]); |
| |
| // Click on the closed captions button |
| var coords = elementCoordinates(overflowList.children[OverflowMenuButtons.CLOSED_CAPTIONS]); |
| clickAtCoordinates(coords[0], coords[1]); |
| |
| // Click on anywhere outside the closed captions list will close the list |
| var coords = coordinatesOutsideElement(captionsList); |
| clickAtCoordinates(coords[0], coords[1]); |
| assert_equals(getComputedStyle(captionsList).display, "none"); |
| }); |
| }); |
| </script> |
| </body> |