summaryrefslogtreecommitdiffstats
path: root/dom/base/test/test_mozbrowser_apis_allowed.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/test_mozbrowser_apis_allowed.html')
-rw-r--r--dom/base/test/test_mozbrowser_apis_allowed.html46
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>