diff options
Diffstat (limited to 'dom/base/test/test_mozbrowser_apis_allowed.html')
-rw-r--r-- | dom/base/test/test_mozbrowser_apis_allowed.html | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/dom/base/test/test_mozbrowser_apis_allowed.html b/dom/base/test/test_mozbrowser_apis_allowed.html new file mode 100644 index 000000000..86ff3e2ff --- /dev/null +++ b/dom/base/test/test_mozbrowser_apis_allowed.html @@ -0,0 +1,46 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Verify mozbrowser APIs are allowed with browser permission</title> + <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SpawnTask.js"></script> + <script type="text/javascript" src="mozbrowser_api_utils.js"></script> + <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" /> +</head> + +<body> +<script type="application/javascript;version=1.8"> + add_task(function*() { + yield new Promise(resolve => { + SpecialPowers.pushPrefEnv( + { "set": [["dom.mozBrowserFramesEnabled", true], + ["network.disable.ipc.security", true]] }, + resolve); + }); + }); + + add_task(function*() { + // Create <iframe mozbrowser> + let frame = yield loadFrame({ + mozbrowser: "true", + // FIXME: Bug 1270790 + remote: true + }); + + // Verify that mozbrowser APIs are accessible + for (let method in METHODS) { + let { alwaysFails } = METHODS[method]; + if (alwaysFails) { + ok(!(method in frame), `frame does not have method ${method}, ` + + `needs more permissions`); + } else { + ok(method in frame, `frame has method ${method}`); + } + } + for (let attribute of ATTRIBUTES) { + ok(attribute in frame, `frame has attribute ${attribute}`); + } + }); +</script> +</body> +</html> |