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