| Index: third_party/WebKit/LayoutTests/fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html b/third_party/WebKit/LayoutTests/fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
|
| index 00db7bb45a03943f4e22015c33a19dac49deb6f5..b6599d3f7349fe0e0db2705e1ceef70d6910cf3f 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
|
| @@ -6,6 +6,37 @@
|
| <script src="resources/geolocation-mock.js"></script>
|
| </head>
|
| <body>
|
| -<script src="script-tests/remove-remote-context-in-error-callback-crash.js"></script>
|
| +<script>
|
| +description("Tests that we do not crash when a Geolocation request is made from a remote frame, which is then removed from the DOM in the error callback.");
|
| +
|
| +function gc() {
|
| + if (window.GCController) {
|
| + GCController.collect();
|
| + return;
|
| + }
|
| +
|
| + for (var i = 0; i < 10000; i++)
|
| + new String(i);
|
| +}
|
| +
|
| +function onIframeReady() {
|
| + // Make request from remote frame
|
| + iframe.contentWindow.navigator.geolocation.getCurrentPosition(function() {
|
| + testFailed('Success callback invoked unexpectedly');
|
| + finishJSTest();
|
| + }, function() {
|
| + testPassed('Error callback invoked.');
|
| + document.body.removeChild(iframe);
|
| + gc();
|
| + finishJSTest();
|
| + });
|
| +}
|
| +
|
| +var iframe = document.createElement('iframe');
|
| +iframe.src = 'resources/remove-remote-context-in-error-callback-crash-inner.html';
|
| +document.body.appendChild(iframe);
|
| +
|
| +window.jsTestIsAsync = true;
|
| +</script>
|
| </body>
|
| </html>
|
|
|