Files
servo/components/script_bindings/webidls/Geolocation.webidl
Ashwin Naren 2c96178ff1 geolocation: Support errorCallback (#42295)
Support `errorCallback` in geolocation position request functions and
throw the necessary errors.

Testing: Passes 3 more WPT tests
Fixes: Partially #38903

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2026-02-03 02:33:39 +00:00

48 lines
1.5 KiB
Plaintext

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
/*
* The origin of this IDL file is
* https://www.w3.org/TR/geolocation/#geolocation_interface
*/
partial interface Navigator {
[SameObject, Pref="dom_geolocation_enabled"] readonly attribute Geolocation geolocation;
};
// https://www.w3.org/TR/geolocation/#geolocation_interface
[Pref="dom_geolocation_enabled", Exposed=Window]
interface Geolocation {
[Throws] undefined getCurrentPosition (
PositionCallback successCallback,
// FIXME: PositionErrorCallback breaks codegen (#39616)
optional /* PositionErrorCallback? */any errorCallback = null,
optional PositionOptions options = {}
);
[Throws] long watchPosition (
PositionCallback successCallback,
// FIXME: PositionErrorCallback breaks codegen (#39616)
optional /* PositionErrorCallback? */any errorCallback = null,
optional PositionOptions options = {}
);
undefined clearWatch (long watchId);
};
callback PositionCallback = undefined (
GeolocationPosition position
);
callback PositionErrorCallback = undefined (
GeolocationPositionError positionError
);
// https://www.w3.org/TR/geolocation/#position_options_interface
dictionary PositionOptions {
boolean enableHighAccuracy = false;
[Clamp] unsigned long timeout = 0xFFFFFFFF;
[Clamp] unsigned long maximumAge = 0;
};