| Index: content/common/permission_service.mojom
|
| diff --git a/content/common/permission_service.mojom b/content/common/permission_service.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..64feeb79082896da3e7cb6ceff242ebf3b4fc4ad
|
| --- /dev/null
|
| +++ b/content/common/permission_service.mojom
|
| @@ -0,0 +1,41 @@
|
| +// 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 content;
|
| +
|
| +enum PermissionStatus {
|
| + GRANTED,
|
| + DENIED,
|
| + ASK
|
| +};
|
| +
|
| +enum PermissionName {
|
| + GEOLOCATION,
|
| +};
|
| +
|
| +struct Permission {
|
| + PermissionName name;
|
| +};
|
| +
|
| +// The Permission service provides permission handling capabilities by exposing
|
| +// methods to check, request, and revoke permissions. It also allows a client to
|
| +// start listening to permission changes.
|
| +[Client=PermissionServiceClient]
|
| +interface PermissionService {
|
| + HasPermission(Permission permission, string origin)
|
| + => (PermissionStatus status);
|
| + RequestPermission(Permission permission, string origin)
|
| + => (PermissionStatus status);
|
| + RevokePermission(Permission permission, string origin)
|
| + => (PermissionStatus status);
|
| +
|
| + StartObserving(Permission permission, string origin);
|
| + StopObserving(Permission permission, string origin);
|
| +};
|
| +
|
| +interface PermissionServiceClient {
|
| + OnPermissionChange(Permission permission,
|
| + string origin,
|
| + PermissionStatus status);
|
| +};
|
|
|