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

Side by Side Diff: chrome/browser/permissions/permission_manager.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 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 #include "chrome/browser/permissions/permission_manager.h" 5 #include "chrome/browser/permissions/permission_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 16 matching lines...) Expand all
27 using content::PermissionStatus; 27 using content::PermissionStatus;
28 using content::PermissionType; 28 using content::PermissionType;
29 29
30 namespace { 30 namespace {
31 31
32 // Helper method to convert ContentSetting to PermissionStatus. 32 // Helper method to convert ContentSetting to PermissionStatus.
33 PermissionStatus ContentSettingToPermissionStatus(ContentSetting setting) { 33 PermissionStatus ContentSettingToPermissionStatus(ContentSetting setting) {
34 switch (setting) { 34 switch (setting) {
35 case CONTENT_SETTING_ALLOW: 35 case CONTENT_SETTING_ALLOW:
36 case CONTENT_SETTING_SESSION_ONLY: 36 case CONTENT_SETTING_SESSION_ONLY:
37 return content::PERMISSION_STATUS_GRANTED; 37 return content::PermissionStatus::GRANTED;
38 case CONTENT_SETTING_BLOCK: 38 case CONTENT_SETTING_BLOCK:
39 return content::PERMISSION_STATUS_DENIED; 39 return content::PermissionStatus::DENIED;
40 case CONTENT_SETTING_ASK: 40 case CONTENT_SETTING_ASK:
41 return content::PERMISSION_STATUS_ASK; 41 return content::PermissionStatus::ASK;
42 case CONTENT_SETTING_DETECT_IMPORTANT_CONTENT: 42 case CONTENT_SETTING_DETECT_IMPORTANT_CONTENT:
43 case CONTENT_SETTING_DEFAULT: 43 case CONTENT_SETTING_DEFAULT:
44 case CONTENT_SETTING_NUM_SETTINGS: 44 case CONTENT_SETTING_NUM_SETTINGS:
45 break; 45 break;
46 } 46 }
47 47
48 NOTREACHED(); 48 NOTREACHED();
49 return content::PERMISSION_STATUS_DENIED; 49 return content::PermissionStatus::DENIED;
50 } 50 }
51 51
52 // Wrap a callback taking a PermissionStatus to pass it as a callback taking a 52 // Wrap a callback taking a PermissionStatus to pass it as a callback taking a
53 // ContentSetting. 53 // ContentSetting.
54 void ContentSettingToPermissionStatusCallbackWrapper( 54 void ContentSettingToPermissionStatusCallbackWrapper(
55 const base::Callback<void(PermissionStatus)>& callback, 55 const base::Callback<void(PermissionStatus)>& callback,
56 ContentSetting setting) { 56 ContentSetting setting) {
57 callback.Run(ContentSettingToPermissionStatus(setting)); 57 callback.Run(ContentSettingToPermissionStatus(setting));
58 } 58 }
59 59
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 return ContentSettingToPermissionStatus( 133 return ContentSettingToPermissionStatus(
134 GetContentSettingForConstantPermission(type)); 134 GetContentSettingForConstantPermission(type));
135 } 135 }
136 136
137 } // anonymous namespace 137 } // anonymous namespace
138 138
139 class PermissionManager::PendingRequest { 139 class PermissionManager::PendingRequest {
140 public: 140 public:
141 PendingRequest(content::RenderFrameHost* render_frame_host, 141 PendingRequest(content::RenderFrameHost* render_frame_host,
142 const std::vector<PermissionType> permissions, 142 const std::vector<PermissionType> permissions,
143 const base::Callback<void( 143 const base::Callback<
144 const std::vector<PermissionStatus>&)>& callback) 144 void(const std::vector<PermissionStatus>&)>& callback)
145 : render_process_id_(render_frame_host->GetProcess()->GetID()), 145 : render_process_id_(render_frame_host->GetProcess()->GetID()),
146 render_frame_id_(render_frame_host->GetRoutingID()), 146 render_frame_id_(render_frame_host->GetRoutingID()),
147 callback_(callback), 147 callback_(callback),
148 permissions_(permissions), 148 permissions_(permissions),
149 results_(permissions.size(), content::PERMISSION_STATUS_DENIED), 149 results_(permissions.size(), content::PermissionStatus::DENIED),
150 remaining_results_(permissions.size()) { 150 remaining_results_(permissions.size()) {}
151 }
152 151
153 void SetPermissionStatus(int permission_id, PermissionStatus status) { 152 void SetPermissionStatus(int permission_id, PermissionStatus status) {
154 DCHECK(!IsComplete()); 153 DCHECK(!IsComplete());
155 154
156 results_[permission_id] = status; 155 results_[permission_id] = status;
157 --remaining_results_; 156 --remaining_results_;
158 } 157 }
159 158
160 bool IsComplete() const { 159 bool IsComplete() const {
161 return remaining_results_ == 0; 160 return remaining_results_ == 0;
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 320
322 PermissionStatus PermissionManager::GetPermissionStatus( 321 PermissionStatus PermissionManager::GetPermissionStatus(
323 PermissionType permission, 322 PermissionType permission,
324 const GURL& requesting_origin, 323 const GURL& requesting_origin,
325 const GURL& embedding_origin) { 324 const GURL& embedding_origin) {
326 if (IsConstantPermission(permission)) 325 if (IsConstantPermission(permission))
327 return GetPermissionStatusForConstantPermission(permission); 326 return GetPermissionStatusForConstantPermission(permission);
328 327
329 PermissionContextBase* context = PermissionContext::Get(profile_, permission); 328 PermissionContextBase* context = PermissionContext::Get(profile_, permission);
330 if (!context) 329 if (!context)
331 return content::PERMISSION_STATUS_DENIED; 330 return content::PermissionStatus::DENIED;
332 331
333 return ContentSettingToPermissionStatus(context->GetPermissionStatus( 332 return ContentSettingToPermissionStatus(context->GetPermissionStatus(
334 requesting_origin.GetOrigin(), embedding_origin.GetOrigin())); 333 requesting_origin.GetOrigin(), embedding_origin.GetOrigin()));
335 } 334 }
336 335
337 void PermissionManager::RegisterPermissionUsage(PermissionType permission, 336 void PermissionManager::RegisterPermissionUsage(PermissionType permission,
338 const GURL& requesting_origin, 337 const GURL& requesting_origin,
339 const GURL& embedding_origin) { 338 const GURL& embedding_origin) {
340 // This is required because constant permissions don't have a 339 // This is required because constant permissions don't have a
341 // ContentSettingsType. 340 // ContentSettingsType.
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 // Add the callback to |callbacks| which will be run after the loop to 423 // Add the callback to |callbacks| which will be run after the loop to
425 // prevent re-entrance issues. 424 // prevent re-entrance issues.
426 callbacks.push_back( 425 callbacks.push_back(
427 base::Bind(subscription->callback, 426 base::Bind(subscription->callback,
428 ContentSettingToPermissionStatus(new_value))); 427 ContentSettingToPermissionStatus(new_value)));
429 } 428 }
430 429
431 for (const auto& callback : callbacks) 430 for (const auto& callback : callbacks)
432 callback.Run(); 431 callback.Run();
433 } 432 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698