dom/tests/mochitest/general/test_idleapi_permissions.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/tests/mochitest/general/test_idleapi_permissions.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,52 @@
     1.4 +<!DOCTYPE HTML>
     1.5 +<html>
     1.6 +<head>
     1.7 +  <title>Test for idle api permissions</title>
     1.8 +  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     1.9 +  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
    1.10 +</head>
    1.11 +<body>
    1.12 +<p id="display"></p>
    1.13 +<div id="content" style="display: none">
    1.14 +</div>
    1.15 +<pre id="test">
    1.16 +<script type="application/javascript">
    1.17 +
    1.18 +var idleObserver = {
    1.19 +  onidle: null,
    1.20 +  onactive: null
    1.21 +};
    1.22 +
    1.23 +function doAddIdleObserver(obs) {
    1.24 +  var i = document.createElement("iframe");
    1.25 +  document.body.appendChild(i);
    1.26 +  var added = false;
    1.27 +  try {
    1.28 +    i.contentWindow.navigator.addIdleObserver(obs);
    1.29 +    added = true;
    1.30 +  } catch (e) { }
    1.31 +  i.remove();
    1.32 +  return added;
    1.33 +}
    1.34 +
    1.35 +function run_test() {
    1.36 +  // addIdleObserver checks whether time is > 0.
    1.37 +  this.idleObserver.time = 100;
    1.38 +
    1.39 +  var added = doAddIdleObserver(this.idleObserver, false);
    1.40 +  ok(!added, "Should not be able to add idle observer without permission");
    1.41 +  
    1.42 +  SpecialPowers.addPermission("idle", true, document);
    1.43 +
    1.44 +  added = doAddIdleObserver(this.idleObserver, true);
    1.45 +  ok(added, "Should be able to add idle observer with permission.");
    1.46 +  
    1.47 +  SimpleTest.finish();
    1.48 +}
    1.49 +
    1.50 +SimpleTest.waitForExplicitFinish();
    1.51 +addLoadEvent(run_test);
    1.52 +</script>
    1.53 +</pre>
    1.54 +</body>
    1.55 +</html>

mercurial