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

Side by Side Diff: extensions/common/permissions/permissions_data.cc

Issue 503873002: Remove implicit conversions from scoped_refptr to T* in extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "extensions/common/permissions/permissions_data.h" 5 #include "extensions/common/permissions/permissions_data.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "content/public/common/url_constants.h" 8 #include "content/public/common/url_constants.h"
9 #include "extensions/common/constants.h" 9 #include "extensions/common/constants.h"
10 #include "extensions/common/error_utils.h" 10 #include "extensions/common/error_utils.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 123
124 void PermissionsData::UpdateTabSpecificPermissions( 124 void PermissionsData::UpdateTabSpecificPermissions(
125 int tab_id, 125 int tab_id,
126 scoped_refptr<const PermissionSet> permissions) const { 126 scoped_refptr<const PermissionSet> permissions) const {
127 base::AutoLock auto_lock(runtime_lock_); 127 base::AutoLock auto_lock(runtime_lock_);
128 CHECK_GE(tab_id, 0); 128 CHECK_GE(tab_id, 0);
129 TabPermissionsMap::iterator iter = tab_specific_permissions_.find(tab_id); 129 TabPermissionsMap::iterator iter = tab_specific_permissions_.find(tab_id);
130 if (iter == tab_specific_permissions_.end()) 130 if (iter == tab_specific_permissions_.end())
131 tab_specific_permissions_[tab_id] = permissions; 131 tab_specific_permissions_[tab_id] = permissions;
132 else 132 else
133 iter->second = PermissionSet::CreateUnion(iter->second, permissions); 133 iter->second =
134 PermissionSet::CreateUnion(iter->second.get(), permissions.get());
134 } 135 }
135 136
136 void PermissionsData::ClearTabSpecificPermissions(int tab_id) const { 137 void PermissionsData::ClearTabSpecificPermissions(int tab_id) const {
137 base::AutoLock auto_lock(runtime_lock_); 138 base::AutoLock auto_lock(runtime_lock_);
138 CHECK_GE(tab_id, 0); 139 CHECK_GE(tab_id, 0);
139 tab_specific_permissions_.erase(tab_id); 140 tab_specific_permissions_.erase(tab_id);
140 } 141 }
141 142
142 bool PermissionsData::HasAPIPermission(APIPermission::ID permission) const { 143 bool PermissionsData::HasAPIPermission(APIPermission::ID permission) const {
143 return active_permissions()->HasAPIPermission(permission); 144 return active_permissions()->HasAPIPermission(permission);
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 std::string* error) const { 288 std::string* error) const {
288 const URLPattern all_urls(URLPattern::SCHEME_ALL, 289 const URLPattern all_urls(URLPattern::SCHEME_ALL,
289 URLPattern::kAllUrlsPattern); 290 URLPattern::kAllUrlsPattern);
290 291
291 if (active_permissions()->explicit_hosts().ContainsPattern(all_urls)) 292 if (active_permissions()->explicit_hosts().ContainsPattern(all_urls))
292 return true; 293 return true;
293 294
294 if (tab_id >= 0) { 295 if (tab_id >= 0) {
295 scoped_refptr<const PermissionSet> tab_permissions = 296 scoped_refptr<const PermissionSet> tab_permissions =
296 GetTabSpecificPermissions(tab_id); 297 GetTabSpecificPermissions(tab_id);
297 if (tab_permissions && 298 if (tab_permissions.get() &&
298 tab_permissions->HasAPIPermission(APIPermission::kTab)) { 299 tab_permissions->HasAPIPermission(APIPermission::kTab)) {
299 return true; 300 return true;
300 } 301 }
301 if (error) 302 if (error)
302 *error = manifest_errors::kActiveTabPermissionNotGranted; 303 *error = manifest_errors::kActiveTabPermissionNotGranted;
303 return false; 304 return false;
304 } 305 }
305 306
306 if (error) 307 if (error)
307 *error = manifest_errors::kAllURLOrActiveTabNeeded; 308 *error = manifest_errors::kAllURLOrActiveTabNeeded;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 return ACCESS_WITHHELD; 360 return ACCESS_WITHHELD;
360 361
361 if (error) { 362 if (error) {
362 *error = ErrorUtils::FormatErrorMessage(manifest_errors::kCannotAccessPage, 363 *error = ErrorUtils::FormatErrorMessage(manifest_errors::kCannotAccessPage,
363 document_url.spec()); 364 document_url.spec());
364 } 365 }
365 return ACCESS_DENIED; 366 return ACCESS_DENIED;
366 } 367 }
367 368
368 } // namespace extensions 369 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698