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

Side by Side Diff: content/child/permissions/permission_dispatcher.h

Issue 1373883003: Move geolocation and permission mojoms into components. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 #ifndef CONTENT_CHILD_PERMISSIONS_PERMISSION_DISPATCHER_H_ 5 #ifndef CONTENT_CHILD_PERMISSIONS_PERMISSION_DISPATCHER_H_
6 #define CONTENT_CHILD_PERMISSIONS_PERMISSION_DISPATCHER_H_ 6 #define CONTENT_CHILD_PERMISSIONS_PERMISSION_DISPATCHER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
11 #include "base/containers/scoped_ptr_hash_map.h" 11 #include "base/containers/scoped_ptr_hash_map.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "components/permission/public/interfaces/permission.mojom.h"
14 #include "content/child/permissions/permission_observers_registry.h" 15 #include "content/child/permissions/permission_observers_registry.h"
15 #include "content/common/permission_service.mojom.h"
16 #include "third_party/WebKit/public/platform/modules/permissions/WebPermissionCl ient.h" 16 #include "third_party/WebKit/public/platform/modules/permissions/WebPermissionCl ient.h"
17 17
18 namespace content { 18 namespace content {
19 19
20 class ServiceRegistry; 20 class ServiceRegistry;
21 21
22 // The PermissionDispatcher is a layer between Blink and the Mojo 22 // The PermissionDispatcher is a layer between Blink and the Mojo
23 // PermissionService. It implements blink::WebPermissionClient. It is being used 23 // PermissionService. It implements blink::WebPermissionClient. It is being used
24 // from workers and frames independently. When called outside of the main 24 // from workers and frames independently. When called outside of the main
25 // thread, QueryPermissionForWorker is meant to be called. It will handle the 25 // thread, QueryPermissionForWorker is meant to be called. It will handle the
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 // Runs the given |callback| with |status| as a parameter. It has to be run 94 // Runs the given |callback| with |status| as a parameter. It has to be run
95 // on a worker thread. 95 // on a worker thread.
96 static void RunPermissionCallbackOnWorkerThread( 96 static void RunPermissionCallbackOnWorkerThread(
97 scoped_ptr<blink::WebPermissionCallback> callback, 97 scoped_ptr<blink::WebPermissionCallback> callback,
98 blink::WebPermissionStatus status); 98 blink::WebPermissionStatus status);
99 static void RunPermissionsCallbackOnWorkerThread( 99 static void RunPermissionsCallbackOnWorkerThread(
100 scoped_ptr<blink::WebPermissionsCallback> callback, 100 scoped_ptr<blink::WebPermissionsCallback> callback,
101 scoped_ptr<blink::WebVector<blink::WebPermissionStatus>> statuses); 101 scoped_ptr<blink::WebVector<blink::WebPermissionStatus>> statuses);
102 102
103 // Helper method that returns an initialized PermissionServicePtr. 103 // Helper method that returns an initialized permission::PermissionServicePtr.
104 PermissionServicePtr& GetPermissionServicePtr(); 104 permission::PermissionServicePtr& GetPermissionServicePtr();
105 105
106 void QueryPermissionInternal(blink::WebPermissionType type, 106 void QueryPermissionInternal(blink::WebPermissionType type,
107 const std::string& origin, 107 const std::string& origin,
108 blink::WebPermissionCallback* callback, 108 blink::WebPermissionCallback* callback,
109 int worker_thread_id); 109 int worker_thread_id);
110 void RequestPermissionInternal(blink::WebPermissionType type, 110 void RequestPermissionInternal(blink::WebPermissionType type,
111 const std::string& origin, 111 const std::string& origin,
112 blink::WebPermissionCallback* callback, 112 blink::WebPermissionCallback* callback,
113 int worker_thread_id); 113 int worker_thread_id);
114 void RequestPermissionsInternal( 114 void RequestPermissionsInternal(
115 const blink::WebVector<blink::WebPermissionType>& types, 115 const blink::WebVector<blink::WebPermissionType>& types,
116 const std::string& origin, 116 const std::string& origin,
117 blink::WebPermissionsCallback* callback, 117 blink::WebPermissionsCallback* callback,
118 int worker_thread_id); 118 int worker_thread_id);
119 void RevokePermissionInternal(blink::WebPermissionType type, 119 void RevokePermissionInternal(blink::WebPermissionType type,
120 const std::string& origin, 120 const std::string& origin,
121 blink::WebPermissionCallback* callback, 121 blink::WebPermissionCallback* callback,
122 int worker_thread_id); 122 int worker_thread_id);
123 123
124 // This is the callback function used for query, request and revoke. 124 // This is the callback function used for query, request and revoke.
125 void OnPermissionResponse(int worker_thread_id, 125 void OnPermissionResponse(int worker_thread_id,
126 uintptr_t callback_key, 126 uintptr_t callback_key,
127 PermissionStatus status); 127 permission::Status status);
128 void OnRequestPermissionsResponse( 128 void OnRequestPermissionsResponse(
129 int worker_thread_id, 129 int worker_thread_id,
130 uintptr_t callback_key, 130 uintptr_t callback_key,
131 const mojo::Array<PermissionStatus>& status); 131 const mojo::Array<permission::Status>& status);
132 void OnPermissionChanged(blink::WebPermissionType type, 132 void OnPermissionChanged(blink::WebPermissionType type,
133 const std::string& origin, 133 const std::string& origin,
134 blink::WebPermissionObserver* observer, 134 blink::WebPermissionObserver* observer,
135 PermissionStatus status); 135 permission::Status status);
136 void OnPermissionChangedForWorker( 136 void OnPermissionChangedForWorker(
137 int worker_thread_id, 137 int worker_thread_id,
138 const base::Callback<void(blink::WebPermissionStatus)>& callback, 138 const base::Callback<void(blink::WebPermissionStatus)>& callback,
139 PermissionStatus status); 139 permission::Status status);
140 140
141 void GetNextPermissionChange(blink::WebPermissionType type, 141 void GetNextPermissionChange(blink::WebPermissionType type,
142 const std::string& origin, 142 const std::string& origin,
143 blink::WebPermissionObserver* observer, 143 blink::WebPermissionObserver* observer,
144 PermissionStatus current_status); 144 permission::Status current_status);
145 145
146 // Pending callbacks for query(), revoke() and request() single permission. 146 // Pending callbacks for query(), revoke() and request() single permission.
147 PermissionCallbackMap permission_callbacks_; 147 PermissionCallbackMap permission_callbacks_;
148 148
149 // Pending callbacks for request() multiple permissions. 149 // Pending callbacks for request() multiple permissions.
150 PermissionsCallbackMap permissions_callbacks_; 150 PermissionsCallbackMap permissions_callbacks_;
151 151
152 ServiceRegistry* service_registry_; 152 ServiceRegistry* service_registry_;
153 PermissionServicePtr permission_service_; 153 permission::PermissionServicePtr permission_service_;
154 154
155 DISALLOW_COPY_AND_ASSIGN(PermissionDispatcher); 155 DISALLOW_COPY_AND_ASSIGN(PermissionDispatcher);
156 }; 156 };
157 157
158 } // namespace content 158 } // namespace content
159 159
160 #endif // CONTENT_CHILD_PERMISSIONS_PERMISSION_DISPATCHER_H_ 160 #endif // CONTENT_CHILD_PERMISSIONS_PERMISSION_DISPATCHER_H_
OLDNEW
« no previous file with comments | « content/child/background_sync/background_sync_provider.cc ('k') | content/child/permissions/permission_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698