summaryrefslogtreecommitdiffstats
path: root/LayoutTests/fast
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-06-09 11:21:20 +0100
committerSteve Block <steveblock@google.com>2010-06-09 11:30:57 +0100
commit27009bcd4f0d3c6fb5f1324521a353c8fdfd168c (patch)
tree2f0622bcff4d1d45bc17d6ba1040ba1db9b7eae7 /LayoutTests/fast
parent3f850c8cca17a6dcd601ed73b9b5ac654b0ec482 (diff)
downloadexternal_webkit-27009bcd4f0d3c6fb5f1324521a353c8fdfd168c.zip
external_webkit-27009bcd4f0d3c6fb5f1324521a353c8fdfd168c.tar.gz
external_webkit-27009bcd4f0d3c6fb5f1324521a353c8fdfd168c.tar.bz2
Cherry-pick WebKit change r60069 to fix a leak in Geolocation
This change was made as a fix for Bug https://bugs.webkit.org/show_bug.cgi?id=39288 but was later rolled back in r60441 pending further discussion. We need this fix, so cherry-pick it to Android until https://bugs.webkit.org/show_bug.cgi?id=39288 is fixed properly. Change-Id: Ie5cc610b841798e42ec1232b4af7674ce425b2c4
Diffstat (limited to 'LayoutTests/fast')
-rw-r--r--LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt1
-rw-r--r--LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html13
-rw-r--r--LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js13
3 files changed, 27 insertions, 0 deletions
diff --git a/LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt b/LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt
new file mode 100644
index 0000000..3fb979f
--- /dev/null
+++ b/LayoutTests/fast/dom/Geolocation/ongoing-request-leak-expected.txt
@@ -0,0 +1 @@
+Exercises a condition where the DOMWindow may leak if Geolocation requests are ongoing when the page is navigated away or closed. Complete.
diff --git a/LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html b/LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html
new file mode 100644
index 0000000..dab385e
--- /dev/null
+++ b/LayoutTests/fast/dom/Geolocation/ongoing-request-leak.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../js/resources/js-test-style.css">
+<script src="../../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/ongoing-request-leak.js"></script>
+<script src="../../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js b/LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js
new file mode 100644
index 0000000..08e6b21
--- /dev/null
+++ b/LayoutTests/fast/dom/Geolocation/script-tests/ongoing-request-leak.js
@@ -0,0 +1,13 @@
+description("Exercises a condition where the DOMWindow may leak if Geolocation requests are ongoing when the page is navigated away or closed. The page should reoload.");
+
+if (window.layoutTestController) layoutTestController.setGeolocationPermission(true);
+if (window.layoutTestController) layoutTestController.setMockGeolocationPosition(51.478, -0.166, 100.0);
+
+navigator.geolocation.watchPosition(function() {}, null);
+
+document.body.onload = function() {
+ location = "data:text/html,Exercises a condition where the DOMWindow may leak if Geolocation requests are ongoing when the page is navigated away or closed. Complete.<script>if (window.layoutTestController) layoutTestController.notifyDone();</" + "script>";
+}
+
+window.jsTestIsAsync = true;
+window.successfullyParsed = true;