summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/geolocation-API/interfaces.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/geolocation-API/interfaces.html')
-rw-r--r--testing/web-platform/tests/geolocation-API/interfaces.html95
1 files changed, 95 insertions, 0 deletions
diff --git a/testing/web-platform/tests/geolocation-API/interfaces.html b/testing/web-platform/tests/geolocation-API/interfaces.html
new file mode 100644
index 000000000..0db420465
--- /dev/null
+++ b/testing/web-platform/tests/geolocation-API/interfaces.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Geolocation API IDL tests</title>
+<link rel="author" title="Intel" href="http://www.intel.com">
+<link rel="help" href="http://www.w3.org/TR/geolocation-API/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/WebIDLParser.js"></script>
+<script src="/resources/idlharness.js"></script>
+
+<h1>Geolocation API IDL tests</h1>
+<div id="log"></div>
+
+<script type=text/plain class=untested>
+interface Navigator {
+};
+
+typedef unsigned long long DOMTimeStamp;
+</script>
+
+<script type=text/plain>
+partial interface Navigator {
+ readonly attribute Geolocation geolocation;
+};
+
+[NoInterfaceObject]
+interface Geolocation {
+ void getCurrentPosition(PositionCallback successCallback,
+ optional PositionErrorCallback errorCallback,
+ optional PositionOptions options);
+
+ long watchPosition(PositionCallback successCallback,
+ optional PositionErrorCallback errorCallback,
+ optional PositionOptions options);
+
+ void clearWatch(long watchId);
+};
+
+callback PositionCallback = void (Position position);
+
+callback PositionErrorCallback = void (PositionError positionError);
+
+dictionary PositionOptions {
+ boolean enableHighAccuracy = false;
+ [Clamp] unsigned long timeout = 0xFFFFFFFF;
+ [Clamp] unsigned long maximumAge = 0;
+};
+
+[NoInterfaceObject]
+interface Position {
+ readonly attribute Coordinates coords;
+ readonly attribute DOMTimeStamp timestamp;
+};
+
+[NoInterfaceObject]
+interface Coordinates {
+ readonly attribute double latitude;
+ readonly attribute double longitude;
+ readonly attribute double? altitude;
+ readonly attribute double accuracy;
+ readonly attribute double? altitudeAccuracy;
+ readonly attribute double? heading;
+ readonly attribute double? speed;
+};
+
+[NoInterfaceObject]
+interface PositionError {
+ const unsigned short PERMISSION_DENIED = 1;
+ const unsigned short POSITION_UNAVAILABLE = 2;
+ const unsigned short TIMEOUT = 3;
+ readonly attribute unsigned short code;
+ readonly attribute DOMString message;
+};
+</script>
+
+<script>
+"use strict";
+var idlArray;
+setup(function() {
+ idlArray = new IdlArray();
+ [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
+ if (node.className == "untested") {
+ idlArray.add_untested_idls(node.textContent);
+ } else {
+ idlArray.add_idls(node.textContent);
+ }
+ });
+ idlArray.add_objects({
+ Navigator: ["navigator"],
+ Geolocation: ["navigator.geolocation"]
+ });
+});
+idlArray.test();
+</script>
+