summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/tests/mochitest/test_bug505915.html
diff options
context:
space:
mode:
Diffstat (limited to 'js/xpconnect/tests/mochitest/test_bug505915.html')
-rw-r--r--js/xpconnect/tests/mochitest/test_bug505915.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/js/xpconnect/tests/mochitest/test_bug505915.html b/js/xpconnect/tests/mochitest/test_bug505915.html
new file mode 100644
index 000000000..04c5da82a
--- /dev/null
+++ b/js/xpconnect/tests/mochitest/test_bug505915.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=505915
+-->
+<head>
+ <title>Test for Bug 505915</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=505915">Mozilla Bug 505915</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test">
+<script type="application/javascript;version=1.7">
+
+/** Test for Bug 505915 **/
+window.addEventListener("message", function () { gen.next() }, false);
+
+function go() {
+ var ifr = $('ifr');
+ try {
+ // NB: the contentDocument getter now returns null for cross-origin
+ // frames, so use SpecialPowers to get a security wrapper to the document.
+ var xdoc = SpecialPowers.unwrap(SpecialPowers.wrap(ifr).contentDocument)
+ document.createTreeWalker(xdoc, 0, null);
+ ok(false, "should have thrown a security exception");
+ } catch (e) {
+ ok(/NS_ERROR_XPC_SECURITY_MANAGER_VETO/.test(e) ||
+ /TypeError: Argument 1 of Document.createTreeWalker does not implement interface Node/.test(e),
+ "threw a security exception or binding exception instead of an " +
+ "invalid child exception");
+ }
+
+ SimpleTest.finish();
+ yield;
+}
+
+SimpleTest.waitForExplicitFinish();
+
+</script>
+</pre>
+
+<iframe id="ifr" onload="gen = go(); gen.next();" src="http://example.org/"></iframe>
+
+</body>
+</html>