gecko-dev/xpcom/system/nsIGeolocationProvider.idl
Guilherme Gonçalves 5b1fa81c3e Bug 732923 - Make watchPosition timeouts adhere to spec. r=jdm
This also disables a couple of tests that depend on the network
provider on Android. These tests were passing by accident before
this patch (and started failing afterwards), and were never meant
to run on Android anyway.
2014-01-08 16:04:37 -05:00

92 lines
2.4 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 http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIURI;
interface nsIDOMWindow;
interface nsIDOMElement;
interface nsIDOMGeoPosition;
interface nsIGeolocationPrompt;
/**
* Interface provides a way for a geolocation provider to
* notify the system that a new location is available.
*/
[scriptable, uuid(643dc5e9-b911-4b2c-8d44-603162696baf)]
interface nsIGeolocationUpdate : nsISupports {
/**
* Notify the geolocation service that a new geolocation
* has been discovered.
* This must be called on the main thread
*/
void update(in nsIDOMGeoPosition position);
/**
* Notify the geolocation service that the location has
* potentially changed, and thus a new position is in the
* process of being acquired.
*/
void locationUpdatePending();
/**
* Notify the geolocation service of an error.
* This must be called on the main thread.
* The parameter refers to one of the constants in the
* nsIDOMGeoPositionError interface.
* Use this to report spurious errors coming from the
* provider; for errors occurring inside the methods in
* the nsIGeolocationProvider interface, just use the return
* value.
*/
void notifyError(in unsigned short error);
};
/**
* Interface provides location information to the nsGeolocator
* via the nsIDOMGeolocationCallback interface. After
* startup is called, any geo location change should call
* callback.update().
*/
[scriptable, uuid(AC4A133B-9F92-4F7C-B369-D40CB6B17650)]
interface nsIGeolocationProvider : nsISupports {
/**
* Start up the provider. This is called before any other
* method. may be called multiple times.
*/
void startup();
/**
* watch
* When a location change is observed, notify the callback.
*/
void watch(in nsIGeolocationUpdate callback);
/**
* shutdown
* Shuts down the location device.
*/
void shutdown();
/**
* hint to provide to use any amount of power to provide a better result
*/
void setHighAccuracy(in boolean enable);
};
%{C++
/*
This must be implemented by geolocation providers. It
must support nsIGeolocationProvider.
*/
#define NS_GEOLOCATION_PROVIDER_CONTRACTID "@mozilla.org/geolocation/provider;1"
%}