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

Unified Diff: extensions/browser/info_map.cc

Issue 1207363002: Simplify permission-related code for Web Notifications. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: extensions/browser/info_map.cc
diff --git a/extensions/browser/info_map.cc b/extensions/browser/info_map.cc
index 00b2437b682d7a7f2f67c6973fcafc8a5ef1b4e9..cd7d8eea0685fc40de8a8e43e2b78ebc0216bbee 100644
--- a/extensions/browser/info_map.cc
+++ b/extensions/browser/info_map.cc
@@ -129,42 +129,30 @@ 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;
+
not at google - send to devlin 2015/06/26 14:50:01 Not necessary to change this code to add a blank l
Peter Beverloo 2015/06/29 12:54:21 I removed the blank lines..
+ 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

Powered by Google App Engine
This is Rietveld 408576698