blob: fc3a4d17deea5b25e4ba1d0ce13a000baf60831b [file] [log] [blame]
// 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 blink.mojom;
import "services/device/public/mojom/geolocation.mojom";
import "third_party/blink/public/mojom/permissions/permission_status.mojom";
// GeolocationService provides a Geolocation. It exists in order to examine the
// environment (permissions, etc.) before creating a Geolocation.
// There should only be one GeolocationService instance that creates many
// Geolocation instances. There is one GeolocationService per RenderFrameHost.
interface GeolocationService {
// Creates a Geolocation. Returns the status of the geolocation permission
// request (GRANTED or DENIED).
// This may not be called a second time until the Geolocation instance has
// been created.
CreateGeolocation(pending_receiver<device.mojom.Geolocation> receiver, bool user_gesture)
=> (PermissionStatus status);
};