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

Side by Side Diff: content/browser/permissions/permission_service_impl.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: rebase Created 4 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
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 #include "content/browser/permissions/permission_service_impl.h" 5 #include "content/browser/permissions/permission_service_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "content/public/browser/browser_context.h" 11 #include "content/public/browser/browser_context.h"
12 #include "content/public/browser/permission_manager.h" 12 #include "content/public/browser/permission_manager.h"
13 #include "content/public/browser/permission_type.h" 13 #include "content/public/browser/permission_type.h"
14 14
15 namespace content { 15 namespace content {
16 16
17 namespace { 17 namespace {
18 18
19 PermissionType PermissionNameToPermissionType(PermissionName name) { 19 PermissionType PermissionNameToPermissionType(PermissionName name) {
20 switch(name) { 20 switch(name) {
21 case PERMISSION_NAME_GEOLOCATION: 21 case PermissionName::GEOLOCATION:
22 return PermissionType::GEOLOCATION; 22 return PermissionType::GEOLOCATION;
23 case PERMISSION_NAME_NOTIFICATIONS: 23 case PermissionName::NOTIFICATIONS:
24 return PermissionType::NOTIFICATIONS; 24 return PermissionType::NOTIFICATIONS;
25 case PERMISSION_NAME_PUSH_NOTIFICATIONS: 25 case PermissionName::PUSH_NOTIFICATIONS:
26 return PermissionType::PUSH_MESSAGING; 26 return PermissionType::PUSH_MESSAGING;
27 case PERMISSION_NAME_MIDI: 27 case PermissionName::MIDI:
28 return PermissionType::MIDI; 28 return PermissionType::MIDI;
29 case PERMISSION_NAME_MIDI_SYSEX: 29 case PermissionName::MIDI_SYSEX:
30 return PermissionType::MIDI_SYSEX; 30 return PermissionType::MIDI_SYSEX;
31 case PERMISSION_NAME_PROTECTED_MEDIA_IDENTIFIER: 31 case PermissionName::PROTECTED_MEDIA_IDENTIFIER:
32 return PermissionType::PROTECTED_MEDIA_IDENTIFIER; 32 return PermissionType::PROTECTED_MEDIA_IDENTIFIER;
33 case PERMISSION_NAME_DURABLE_STORAGE: 33 case PermissionName::DURABLE_STORAGE:
34 return PermissionType::DURABLE_STORAGE; 34 return PermissionType::DURABLE_STORAGE;
35 case PERMISSION_NAME_AUDIO_CAPTURE: 35 case PermissionName::AUDIO_CAPTURE:
36 return PermissionType::AUDIO_CAPTURE; 36 return PermissionType::AUDIO_CAPTURE;
37 case PERMISSION_NAME_VIDEO_CAPTURE: 37 case PermissionName::VIDEO_CAPTURE:
38 return PermissionType::VIDEO_CAPTURE; 38 return PermissionType::VIDEO_CAPTURE;
39 } 39 }
40 40
41 NOTREACHED(); 41 NOTREACHED();
42 return PermissionType::NUM; 42 return PermissionType::NUM;
43 } 43 }
44 44
45 // This function allows the usage of the the multiple request map 45 // This function allows the usage of the the multiple request map
46 // with single requests. 46 // with single requests.
47 void PermissionRequestResponseCallbackWrapper( 47 void PermissionRequestResponseCallbackWrapper(
(...skipping 12 matching lines...) Expand all
60 request_count(request_count) { 60 request_count(request_count) {
61 } 61 }
62 62
63 PermissionServiceImpl::PendingRequest::~PendingRequest() { 63 PermissionServiceImpl::PendingRequest::~PendingRequest() {
64 if (callback.is_null()) 64 if (callback.is_null())
65 return; 65 return;
66 66
67 mojo::Array<PermissionStatus> result = 67 mojo::Array<PermissionStatus> result =
68 mojo::Array<PermissionStatus>::New(request_count); 68 mojo::Array<PermissionStatus>::New(request_count);
69 for (int i = 0; i < request_count; ++i) 69 for (int i = 0; i < request_count; ++i)
70 result[i] = PERMISSION_STATUS_DENIED; 70 result[i] = PermissionStatus::DENIED;
71 callback.Run(std::move(result)); 71 callback.Run(std::move(result));
72 } 72 }
73 73
74 PermissionServiceImpl::PendingSubscription::PendingSubscription( 74 PermissionServiceImpl::PendingSubscription::PendingSubscription(
75 PermissionType permission, 75 PermissionType permission,
76 const GURL& origin, 76 const GURL& origin,
77 const PermissionStatusCallback& callback) 77 const PermissionStatusCallback& callback)
78 : id(-1), 78 : id(-1),
79 permission(permission), 79 permission(permission),
80 origin(origin), 80 origin(origin),
81 callback(callback) { 81 callback(callback) {
82 } 82 }
83 83
84 PermissionServiceImpl::PendingSubscription::~PendingSubscription() { 84 PermissionServiceImpl::PendingSubscription::~PendingSubscription() {
85 if (!callback.is_null()) 85 if (!callback.is_null())
86 callback.Run(PERMISSION_STATUS_ASK); 86 callback.Run(PermissionStatus::ASK);
87 } 87 }
88 88
89 PermissionServiceImpl::PermissionServiceImpl( 89 PermissionServiceImpl::PermissionServiceImpl(
90 PermissionServiceContext* context, 90 PermissionServiceContext* context,
91 mojo::InterfaceRequest<PermissionService> request) 91 mojo::InterfaceRequest<PermissionService> request)
92 : context_(context), 92 : context_(context),
93 binding_(this, std::move(request)), 93 binding_(this, std::move(request)),
94 weak_factory_(this) { 94 weak_factory_(this) {
95 binding_.set_connection_error_handler( 95 binding_.set_connection_error_handler(
96 base::Bind(&PermissionServiceImpl::OnConnectionError, 96 base::Bind(&PermissionServiceImpl::OnConnectionError,
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 PermissionName permission, 256 PermissionName permission,
257 const mojo::String& origin, 257 const mojo::String& origin,
258 const PermissionStatusCallback& callback) { 258 const PermissionStatusCallback& callback) {
259 GURL origin_url(origin.get()); 259 GURL origin_url(origin.get());
260 PermissionType permission_type = PermissionNameToPermissionType(permission); 260 PermissionType permission_type = PermissionNameToPermissionType(permission);
261 PermissionStatus status = GetPermissionStatusFromType(permission_type, 261 PermissionStatus status = GetPermissionStatusFromType(permission_type,
262 origin_url); 262 origin_url);
263 263
264 // Resetting the permission should only be possible if the permission is 264 // Resetting the permission should only be possible if the permission is
265 // already granted. 265 // already granted.
266 if (status != PERMISSION_STATUS_GRANTED) { 266 if (status != PermissionStatus::GRANTED) {
267 callback.Run(status); 267 callback.Run(status);
268 return; 268 return;
269 } 269 }
270 270
271 ResetPermissionStatus(permission_type, origin_url); 271 ResetPermissionStatus(permission_type, origin_url);
272 272
273 callback.Run(GetPermissionStatusFromType(permission_type, origin_url)); 273 callback.Run(GetPermissionStatusFromType(permission_type, origin_url));
274 } 274 }
275 275
276 void PermissionServiceImpl::GetNextPermissionChange( 276 void PermissionServiceImpl::GetNextPermissionChange(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 PermissionName permission, const GURL& origin) { 318 PermissionName permission, const GURL& origin) {
319 return GetPermissionStatusFromType(PermissionNameToPermissionType(permission), 319 return GetPermissionStatusFromType(PermissionNameToPermissionType(permission),
320 origin); 320 origin);
321 } 321 }
322 322
323 PermissionStatus PermissionServiceImpl::GetPermissionStatusFromType( 323 PermissionStatus PermissionServiceImpl::GetPermissionStatusFromType(
324 PermissionType type, const GURL& origin) { 324 PermissionType type, const GURL& origin) {
325 BrowserContext* browser_context = context_->GetBrowserContext(); 325 BrowserContext* browser_context = context_->GetBrowserContext();
326 DCHECK(browser_context); 326 DCHECK(browser_context);
327 if (!browser_context->GetPermissionManager()) 327 if (!browser_context->GetPermissionManager())
328 return PERMISSION_STATUS_DENIED; 328 return PermissionStatus::DENIED;
329 329
330 // If the embedding_origin is empty we'll use |origin| instead. 330 // If the embedding_origin is empty we'll use |origin| instead.
331 GURL embedding_origin = context_->GetEmbeddingOrigin(); 331 GURL embedding_origin = context_->GetEmbeddingOrigin();
332 return browser_context->GetPermissionManager()->GetPermissionStatus( 332 return browser_context->GetPermissionManager()->GetPermissionStatus(
333 type, origin, embedding_origin.is_empty() ? origin : embedding_origin); 333 type, origin, embedding_origin.is_empty() ? origin : embedding_origin);
334 } 334 }
335 335
336 void PermissionServiceImpl::ResetPermissionStatus(PermissionType type, 336 void PermissionServiceImpl::ResetPermissionStatus(PermissionType type,
337 const GURL& origin) { 337 const GURL& origin) {
338 BrowserContext* browser_context = context_->GetBrowserContext(); 338 BrowserContext* browser_context = context_->GetBrowserContext();
(...skipping 22 matching lines...) Expand all
361 361
362 PermissionStatusCallback callback = subscription->callback; 362 PermissionStatusCallback callback = subscription->callback;
363 363
364 subscription->callback.reset(); 364 subscription->callback.reset();
365 pending_subscriptions_.Remove(pending_subscription_id); 365 pending_subscriptions_.Remove(pending_subscription_id);
366 366
367 callback.Run(status); 367 callback.Run(status);
368 } 368 }
369 369
370 } // namespace content 370 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698