// Copyright 2017 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; // GeolocationControl manages Geolocation's permission model. In particular, // before geolocation can be accessed by any client, a trusted client must // connect to GeolocationControl to inform the geolocation implementation that // the user has opted into location services. It is assumed that before making // this connection, that trusted client has interacted with the user to obtain // this permission. Note that as the Device Service is a global service, this // permission is also granted globally once it is granted at all. If a // finer-granularity permission model is desired in a specific context, it is up // to the client of the Device Service to manage that permission model (for // example, the chrome_browser trusted client manages the web's per-origin // permission model). interface GeolocationControl { // Calling this method indicates the user has opted into using location // services, including sending network requests to [Google servers to] resolve // the user's location. Use this method carefully, in line with the rules in // go/chrome-privacy-doc. UserDidOptIntoLocationServices(); };