| Index: extensions/browser/info_map.cc
|
| diff --git a/extensions/browser/info_map.cc b/extensions/browser/info_map.cc
|
| index 00b2437b682d7a7f2f67c6973fcafc8a5ef1b4e9..c97832ca4b29d8d86b1bff953726ab4a9c272c65 100644
|
| --- a/extensions/browser/info_map.cc
|
| +++ b/extensions/browser/info_map.cc
|
| @@ -129,42 +129,26 @@ void InfoMap::UnregisterAllExtensionsInProcess(int process_id) {
|
| process_map_.RemoveAllFromProcess(process_id);
|
| }
|
|
|
| -void InfoMap::GetExtensionsWithAPIPermissionForSecurityOrigin(
|
| +bool InfoMap::SecurityOriginHasAPIPermission(
|
| const GURL& origin,
|
| int process_id,
|
| - APIPermission::ID permission,
|
| - ExtensionSet* extensions) const {
|
| - DCHECK(extensions);
|
| -
|
| + APIPermission::ID permission) const {
|
| + CheckOnValidThread();
|
| if (origin.SchemeIs(kExtensionScheme)) {
|
| const std::string& id = origin.host();
|
| const Extension* extension = extensions_.GetByID(id);
|
| - if (extension &&
|
| - extension->permissions_data()->HasAPIPermission(permission) &&
|
| - process_map_.Contains(id, process_id)) {
|
| - extensions->Insert(extension);
|
| - }
|
| - return;
|
| + return extension &&
|
| + extension->permissions_data()->HasAPIPermission(permission) &&
|
| + process_map_.Contains(id, process_id);
|
| }
|
| -
|
| - ExtensionSet::const_iterator i = extensions_.begin();
|
| - for (; i != extensions_.end(); ++i) {
|
| - if ((*i)->web_extent().MatchesSecurityOrigin(origin) &&
|
| - process_map_.Contains((*i)->id(), process_id) &&
|
| - (*i)->permissions_data()->HasAPIPermission(permission)) {
|
| - extensions->Insert(*i);
|
| + for (const auto& extension : extensions_) {
|
| + if (extension->web_extent().MatchesSecurityOrigin(origin) &&
|
| + extension->permissions_data()->HasAPIPermission(permission) &&
|
| + process_map_.Contains(extension->id(), process_id)) {
|
| + return true;
|
| }
|
| }
|
| -}
|
| -
|
| -bool InfoMap::SecurityOriginHasAPIPermission(const GURL& origin,
|
| - int process_id,
|
| - APIPermission::ID permission)
|
| - const {
|
| - ExtensionSet extensions;
|
| - GetExtensionsWithAPIPermissionForSecurityOrigin(
|
| - origin, process_id, permission, &extensions);
|
| - return !extensions.is_empty();
|
| + return false;
|
| }
|
|
|
| // This function is security sensitive. Bugs could cause problems that break
|
|
|