summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/chrome/test_MozDomFullscreen_event.xhtml
blob: 2a5227a84177f1f0df92b33e13115b41f625ec1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<!--
  Test that "MozShowFullScreenWarning" is dispatched to chrome on restricted keypress.
  -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" width="400" height="400">

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>      

<script>
SimpleTest.waitForExplicitFinish();

// Ensure the full-screen api is enabled, and will be disabled on test exit.
var gPrevEnabled = SpecialPowers.getBoolPref("full-screen-api.enabled");
var gPrevTrusted = SpecialPowers.getBoolPref("full-screen-api.allow-trusted-requests-only");
var newwindow;

function make_uri(url) {
  var ios = Cc["@mozilla.org/network/io-service;1"].
            getService(Ci.nsIIOService);
  return ios.newURI(url);
}

// Ensure "fullscreen" permissions are not present on the test URI.
var pm = Cc["@mozilla.org/permissionmanager;1"].getService(Ci.nsIPermissionManager);
var uri = make_uri("http://mochi.test:8888");
var ssm = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
                            .getService(Ci.nsIScriptSecurityManager);
var principal = ssm.createContentPrincipal(uri, {});
pm.removeFromPrincipal(principal, "fullscreen");

SpecialPowers.pushPrefEnv({"set": [
  ['full-screen-api.enabled', true],
  ['full-screen-api.allow-trusted-requests-only', false],
  ['full-screen-api.transition-duration.enter', '0 0'],
  ['full-screen-api.transition-duration.leave', '0 0']
]}, setup);

function setup() {
   newwindow = window.browsingContext.topChromeWindow.openDialog(
      "MozDomFullscreen_chrome.xhtml", "_blank","chrome,dialog=no,resizable=yes,width=400,height=400", window);
}

function done()
{
  newwindow.close();
  SimpleTest.finish();
}

</script>

<body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>

</window>