summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/tests/mochitest/file_crossOriginObjects.html
diff options
context:
space:
mode:
Diffstat (limited to 'js/xpconnect/tests/mochitest/file_crossOriginObjects.html')
-rw-r--r--js/xpconnect/tests/mochitest/file_crossOriginObjects.html35
1 files changed, 35 insertions, 0 deletions
diff --git a/js/xpconnect/tests/mochitest/file_crossOriginObjects.html b/js/xpconnect/tests/mochitest/file_crossOriginObjects.html
new file mode 100644
index 000000000..c3093ebda
--- /dev/null
+++ b/js/xpconnect/tests/mochitest/file_crossOriginObjects.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<html>
+<head>
+<script>
+ // Override the |frames| property to test that such overrides are
+ // properly ignored cross-origin.
+ window.frames = "override";
+
+ // If we get a postMessage, we grab references to everything and set
+ // document.domain to trim off our topmost subdomain.
+ window.onmessage = function(evt) {
+ window.windowReferences = [];
+ window.locationReferences = [];
+ for (var i = 0; i < parent.length; ++i) {
+ windowReferences.push(parent[i]);
+ locationReferences.push(parent[i].location);
+ }
+ document.domain = document.domain.substring(document.domain.indexOf('.') + 1);
+ evt.source.postMessage('', '*');
+ }
+
+ function checkWindowReferences() {
+ for (var i = 0; i < parent.length; ++i) {
+ if (windowReferences[i] != parent[i])
+ throw new Error("Window references don't match for " + i + " after document.domain");
+ if (locationReferences[i] != parent[i].location)
+ throw new Error("Location references don't match for " + i + " after document.domain");
+ }
+ return true;
+ }
+</script>
+</head>
+<body>
+</body>
+</html>