// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module device.mojom; import "services/device/public/mojom/geoposition.mojom"; // Geolocation provides updates on the device's location. By default, it // provides updates with low accuracy, but |SetHighAccuracy()| may be called // to change this. interface Geolocation { // Select between high and low accuracy, if supported by the implementation. // Ignored if unsupported. SetHighAccuracy(bool high_accuracy); // Use this method to get notified of future position updates, by calling // QueryNextPosition once, and then calling it again when/if it returns. // // When first called: // Returns the latest known Geoposition. // When subsequently called: // Issues a request for a single position update, which the implementation // may fulfill at its discretion (e.g. when the next geoposition change is // detected). // // Overlapping calls to this method are prohibited and will be treated as a // connection error. Position updates may be throttled by the service. QueryNextPosition() => (Geoposition geoposition); };