blob: f079d3431b5a8a77699da204a93ab9bb6c60c485 [file] [log] [blame]
// 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);
};