Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fullscreen / trusted-event.js
1 // Invokes callback from a trusted event.
2 // When testing manually, a button is added to the container.
3 function trusted_event(callback, container)
4 {
5     var document = container.ownerDocument;
6
7     if (window.testRunner) {
8         // Running under LayoutTests. Use timeout to be async.
9         setTimeout(function()
10         {
11             document.addEventListener("click", callback);
12             eventSender.mouseDown();
13             eventSender.mouseUp();
14             document.removeEventListener("click", callback);
15         }, 0);
16     } else {
17         // Running as manual test. Show a button to click.
18         var button = document.createElement("button");
19         button.textContent = "click to run test";
20         button.style.display = "block";
21         button.style.fontSize = "20px";
22         button.style.padding = "10px";
23         button.onclick = function()
24         {
25             callback();
26             button.onclick = null;
27             container.removeChild(button);
28         };
29         container.appendChild(button);
30     }
31 }
32
33 // Invokes element.requestFullscreen() from a trusted event.
34 // When testing manually, a button is added to the container,
35 // or to element's parent if no container is provided.
36 function trusted_request(element, container)
37 {
38     var request = element.requestFullscreen.bind(element);
39     trusted_event(request, container || element.parentNode);
40 }