Move Geolocation out from fast/dom.

Geolocation API isn't a part of DOM.
This CL has no behavior changes.

BUG=685886
[email protected]

Review-Url: https://codereview.chromium.org/2671933003
Cr-Commit-Position: refs/heads/master@{#448422}
diff --git a/third_party/WebKit/LayoutTests/geolocation-api/notimer-after-unload.html b/third_party/WebKit/LayoutTests/geolocation-api/notimer-after-unload.html
new file mode 100644
index 0000000..9f927f1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/geolocation-api/notimer-after-unload.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../resources/js-test.js"></script>
+<script src="../resources/mojo-helpers.js"></script>
+<script src="resources/geolocation-mock.js"></script>
+</head>
+<body>
+<script>
+description("Tests that no timers will trigger for navigator.geolocation object after onunload.");
+
+if (!window.testRunner)
+  debug('This test can not run without testRunner');
+
+geolocationServiceMock.then(mock => {
+    mock.setGeolocationPermission(true);
+
+    location = "data:text/html,You should have seen one unload alert appear.<script>window.setTimeout('if (window.testRunner) testRunner.notifyDone();', 100);</" + "script>";
+});
+
+document.body.onunload = function() {
+    navigator.geolocation.getCurrentPosition(
+        function(p) {alert('FAIL: Unexpected Geolocation success callback.');},
+        function(e) {alert('FAIL: Unexpected Geolocation error callback.' + e.code + e.message);},
+        {timeout: 0, maximumAge:0}
+    );
+    alert("unload-called");
+}
+
+window.jsTestIsAsync = true;
+</script>
+</body>
+</html>