mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-23 08:57:34 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
83
dom/tests/mochitest/geolocation/test_cachedPosition.html
Normal file
83
dom/tests/mochitest/geolocation/test_cachedPosition.html
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=850442
|
||||
-->
|
||||
<head>
|
||||
<title>Test for getCurrentPosition </title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript" src="geolocation_common.js"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=850442">Mozilla Bug 850442</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
/*
|
||||
The request cache vs. the PositionOptions cache is confusing to the reader, to explain:
|
||||
|
||||
Testing uses mochitest httpd, so the network cache must be disabled in order for requests
|
||||
to propagate to mochitest httpd. Otherwise, every request looks like a geoip request,
|
||||
and the network request cache sees no reason to make a web request for location for geoip
|
||||
if it has already made geoip (or better) requests.
|
||||
|
||||
We should investigate providing fake wifi and cell scans to the
|
||||
network location provider, then the network cache does not need to be shut off
|
||||
AND it will get testing coverage.
|
||||
|
||||
*/
|
||||
resume_geolocationProvider(function() {
|
||||
force_prompt(true, function () {
|
||||
set_network_request_cache_enabled(false, test_cachedPosition)
|
||||
});
|
||||
});
|
||||
|
||||
function done() {
|
||||
set_network_request_cache_enabled(true, function() {
|
||||
resume_geolocationProvider(function() {
|
||||
SimpleTest.finish();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function errorCallback(err) {
|
||||
ok(false, "error callback should not have been called");
|
||||
done();
|
||||
}
|
||||
|
||||
function areTimesEqual(loc1, loc2) {
|
||||
return loc1.timestamp === loc2.timestamp;
|
||||
}
|
||||
|
||||
function test_cachedPosition() {
|
||||
var cached = null;
|
||||
navigator.geolocation.getCurrentPosition(function(pos) {
|
||||
// first call is just to warm up the cache
|
||||
|
||||
navigator.geolocation.getCurrentPosition(function(pos) {
|
||||
cached = pos;
|
||||
|
||||
navigator.geolocation.getCurrentPosition(function(pos) {
|
||||
ok(areTimesEqual(pos, cached), "position should be equal to cached position");
|
||||
navigator.geolocation.getCurrentPosition(function(pos) {
|
||||
// force new position, can't be the one we have
|
||||
ok(!areTimesEqual(pos, cached), "position should not be equal to cached position");
|
||||
done();
|
||||
}, errorCallback, {maximumAge: 0});
|
||||
}, errorCallback, {maximumAge: 21600000});
|
||||
}, errorCallback, {maximumAge: 21600000});
|
||||
}, errorCallback, {maximumAge: 21600000});
|
||||
}
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue