Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1418)

Side by Side Diff: third_party/WebKit/public/platform/modules/permissions/permission.mojom

Issue 2573573002: Switch PermissionStatus events to an observer model. (Closed)
Patch Set: Rebased. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module blink.mojom; 5 module blink.mojom;
6 6
7 import "third_party/WebKit/public/platform/modules/permissions/permission_status .mojom"; 7 import "third_party/WebKit/public/platform/modules/permissions/permission_status .mojom";
8 import "url/mojo/origin.mojom"; 8 import "url/mojo/origin.mojom";
9 9
10 enum PermissionName { 10 enum PermissionName {
(...skipping 17 matching lines...) Expand all
28 MidiPermissionDescriptor midi; 28 MidiPermissionDescriptor midi;
29 }; 29 };
30 30
31 // This struct roughly corresponds to the PermissionDescriptor dictionary as 31 // This struct roughly corresponds to the PermissionDescriptor dictionary as
32 // defined by the Permissions API. 32 // defined by the Permissions API.
33 struct PermissionDescriptor { 33 struct PermissionDescriptor {
34 PermissionName name; 34 PermissionName name;
35 PermissionDescriptorExtension? extension; 35 PermissionDescriptorExtension? extension;
36 }; 36 };
37 37
38 // Interface a client can implement to observe permission changes.
39 interface PermissionObserver {
40 OnPermissionStatusChange(PermissionStatus status);
41 };
42
38 // The Permission service provides permission handling capabilities by exposing 43 // The Permission service provides permission handling capabilities by exposing
39 // methods to check, request, and revoke permissions. It also allows a client to 44 // methods to check, request, and revoke permissions. It also allows a client to
40 // start listening to permission changes. 45 // start listening to permission changes.
41 interface PermissionService { 46 interface PermissionService {
42 HasPermission(PermissionDescriptor permission, url.mojom.Origin origin) 47 HasPermission(PermissionDescriptor permission, url.mojom.Origin origin)
43 => (PermissionStatus status); 48 => (PermissionStatus status);
44 RequestPermission(PermissionDescriptor permission, url.mojom.Origin origin, 49 RequestPermission(PermissionDescriptor permission, url.mojom.Origin origin,
45 bool user_gesture) 50 bool user_gesture)
46 => (PermissionStatus status); 51 => (PermissionStatus status);
47 RequestPermissions(array<PermissionDescriptor> permission, url.mojom.Origin or igin, 52 RequestPermissions(array<PermissionDescriptor> permission, url.mojom.Origin or igin,
48 bool user_gesture) 53 bool user_gesture)
49 => (array<PermissionStatus> statuses); 54 => (array<PermissionStatus> statuses);
50 RevokePermission(PermissionDescriptor permission, url.mojom.Origin origin) 55 RevokePermission(PermissionDescriptor permission, url.mojom.Origin origin)
51 => (PermissionStatus status); 56 => (PermissionStatus status);
52 57 // Subscribes |observer| to updates about changes to |origin|'s access to
53 // Runs the callback next time there is a permission status change for the 58 // |permission|. Closing the pipe will cancel the subscription.
54 // given { permission, origin }. Callers of this method will have to call it 59 AddPermissionObserver(PermissionDescriptor permission,
55 // again if they want to keep listening to the changes. To prevent race 60 url.mojom.Origin origin,
56 // conditions, the caller must pass the last known value. 61 PermissionStatus last_known_status,
57 GetNextPermissionChange(PermissionDescriptor permission, 62 PermissionObserver observer);
58 url.mojom.Origin origin,
59 PermissionStatus last_known_status)
60 => (PermissionStatus status);
61 }; 63 };
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/permissions/PermissionStatus.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698