c18e909fb990c2724f79d836dff6a55754647fb9
[WebKit-https.git] / LayoutTests / media / media-controls.js
1
2 function mediaControlsElement(first, id)
3 {
4     var controlID = "-webkit-media-controls-" + id;
5     for (var element = first; element; element = element.nextSibling) {
6
7         // Not every element in the media controls has a shadow pseudo ID, eg. the
8         // text nodes for the time values, so guard against exceptions.
9         try {
10             if (internals.shadowPseudoId(element) == controlID)
11                 return element;
12         } catch (exception) { }
13
14         if (element.firstChild) {
15             var childElement = mediaControlsElement(element.firstChild, id);
16             if (childElement)
17                 return childElement;
18         }
19     }
20
21     return null;
22 }
23
24 function mediaControlsButtonCoordinates(element, id)
25 {
26     var button = mediaControlsElement(internals.shadowRoot(element).firstChild, id);
27     if (!button)
28         throw "Failed to find media control element ID '" + id + "'";
29
30     var buttonBoundingRect = button.getBoundingClientRect();
31     var x = buttonBoundingRect.left + buttonBoundingRect.width / 2;
32     var y = buttonBoundingRect.top + buttonBoundingRect.height / 2;
33     return new Array(x, y);
34 }