Skip to content

Commit

Permalink
Add geolocation-API idl file
Browse files Browse the repository at this point in the history
  • Loading branch information
Luke Bjerring committed Mar 2, 2018
1 parent a7fa11a commit 67447dc
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions interfaces/geolocation-API.idl
@@ -0,0 +1,52 @@
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;
};

0 comments on commit 67447dc

Please sign in to comment.