Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Test data Paramter of Alarm API for Bug 1015540</title>
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
7 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
8 </head>
9 <body>
10 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1015540">Bug 1015540</a>
11 <p id="display"></p>
12 <div id="content" style="display: none"></div>
13 <pre id="test">
14 <script type="application/javascript">
16 "use strict";
18 // Verify passing a cross-origin object for the data paramter
19 function testCrossOriginObject() {
20 var tomorrow = new Date();
21 tomorrow.setDate(tomorrow.getDate() + 1);
23 var data = document.getElementById('ifr').contentWindow;
25 try {
26 navigator.mozAlarms.add(tomorrow, "honorTimezone", data);
27 ok(false, "Adding alarms for cross-origin objects should be prohibited.");
28 } catch (e) {
29 ok(true, "Adding alarms for cross-origin objects is prohibited.");
30 }
32 SimpleTest.finish();
33 }
35 function startTests() {
36 SpecialPowers.pushPrefEnv({
37 "set": [["dom.mozAlarms.enabled", true]]
38 }, function() {
39 SpecialPowers.addPermission("alarms", true, document);
40 var isAllowedToTest = true;
42 if (navigator.appVersion.indexOf("Android") !== -1) {
43 ok(true, "mozAlarms is not allowed on Android for now. " +
44 "TODO Bug 863557.");
45 isAllowedToTest = false;
46 } else if (SpecialPowers.wrap(document).nodePrincipal.appStatus ==
47 SpecialPowers.Ci.nsIPrincipal.APP_STATUS_NOT_INSTALLED) {
48 ok(true, "mozAlarms is not allowed for non-installed apps. " +
49 "TODO Bug 876981.");
50 isAllowedToTest = false;
51 }
53 if (isAllowedToTest) {
54 ok(true, "Start to test...");
55 testCrossOriginObject();
56 } else {
57 // A sanity check to make sure we must run tests on Firefox OS (B2G).
58 if (navigator.userAgent.indexOf("Mobile") != -1 &&
59 navigator.appVersion.indexOf("Android") == -1) {
60 ok(false, "Should run the test on Firefox OS (B2G)!");
61 }
63 SimpleTest.finish();
64 }
65 });
66 }
68 SimpleTest.waitForExplicitFinish();
69 </script>
70 </pre>
71 <iframe id="ifr" onload="startTests()" src="http://example.org/tests/dom/alarm/test/file_empty.html"></iframe>
72 </body>
73 </html>