<!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>