| Index: third_party/WebKit/LayoutTests/http/tests/security/cross-origin-access-over-property-descriptor.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-access-over-property-descriptor.html b/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-access-over-property-descriptor.html
|
| index 52f2e94608b32cbb7b6663bbb1aa20678067e4f5..1b468dcb61708bf28fcd7f7ef18377f18726792f 100644
|
| --- a/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-access-over-property-descriptor.html
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-access-over-property-descriptor.html
|
| @@ -4,36 +4,33 @@
|
| <script src="/js-test-resources/js-test.js"></script>
|
| </head>
|
| <body>
|
| -<iframe id="cross-origin-frame" src="http://localhost:8000/resources/dummy.html"></iframe>
|
| <script>
|
| -description("Cross-origin access through 'get' and 'set' in a property descriptor should throw a SecurityError.");
|
| +description("Cross-origin access to 'window.location.pathname' over 'get' and 'set' in property descriptor should throw a SecurityError.");
|
|
|
| window.jsTestIsAsync = true;
|
| +window.testRunner.setCanOpenWindows(true);
|
|
|
| -var targetFrame = window['cross-origin-frame'];
|
| -shouldBeNonNull(targetFrame);
|
| -var targetWindow = targetFrame.contentWindow;
|
| -shouldBeNonNull(targetWindow);
|
| +var targetWindow = window.open("http://localhost:8080/");
|
|
|
| -var pathnameDescriptor = Object.getOwnPropertyDescriptor(location, "pathname");
|
| +var pathnameDescriptor = Object.getOwnPropertyDescriptor(Location.prototype, "pathname");
|
| shouldBeNonNull("pathnameDescriptor");
|
| shouldBe("typeof pathnameDescriptor.get", '"function"');
|
| shouldBe("typeof pathnameDescriptor.set", '"function"');
|
|
|
| -var devicePixelRatioDescriptor = Object.getOwnPropertyDescriptor(window, "devicePixelRatio");
|
| -shouldBeNonNull("devicePixelRatio");
|
| -shouldBe("typeof devicePixelRatioDescriptor.get", '"function"');
|
| -shouldBe("typeof devicePixelRatioDescriptor.set", '"function"');
|
| -
|
| -targetFrame.onload = function() {
|
| - shouldThrow("pathnameDescriptor.get.call(targetWindow.location)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."');
|
| - shouldThrow("pathnameDescriptor.set.call(targetWindow.location, 1)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."');
|
| -
|
| - shouldThrow("devicePixelRatioDescriptor.get.call(targetWindow)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."');
|
| - shouldThrow("devicePixelRatioDescriptor.set.call(targetWindow, 1)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."');
|
| -
|
| - finishJSTest();
|
| -};
|
| +var count = 0;
|
| +var timerId = window.setInterval(function() {
|
| + if (++count > 10) {
|
| + window.clearInterval(timerId);
|
| + finishJSTest();
|
| + return;
|
| + }
|
| + if (targetWindow) {
|
| + shouldThrow("pathnameDescriptor.get.call(targetWindow.location)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."');
|
| + shouldThrow("pathnameDescriptor.set.call(targetWindow.location, 1)", '"SecurityError: Blocked a frame with origin \\"http://127.0.0.1:8000\\" from accessing a cross-origin frame."');
|
| + window.clearInterval(timerId);
|
| + finishJSTest();
|
| + }
|
| +}, 1000);
|
| </script>
|
| </body>
|
| </html>
|
|
|