Chromium Code Reviews| Index: chrome/browser/extensions/api/preference/preference_helpers.cc |
| diff --git a/chrome/browser/extensions/api/preference/preference_helpers.cc b/chrome/browser/extensions/api/preference/preference_helpers.cc |
| index 237e365146c9f7c6ffcea72104ea468766bd8447..e39b5d42c80bacc676a5fa3268c5e7672a97d4fd 100644 |
| --- a/chrome/browser/extensions/api/preference/preference_helpers.cc |
| +++ b/chrome/browser/extensions/api/preference/preference_helpers.cc |
| @@ -8,12 +8,11 @@ |
| #include "base/prefs/pref_service.h" |
| #include "base/values.h" |
| #include "chrome/browser/extensions/api/preference/preference_api.h" |
| -#include "chrome/browser/extensions/extension_service.h" |
| #include "chrome/browser/extensions/extension_util.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "extensions/browser/event_router.h" |
| #include "extensions/browser/extension_prefs.h" |
| -#include "extensions/browser/extension_system.h" |
| +#include "extensions/browser/extension_registry.h" |
| #include "extensions/common/manifest_handlers/incognito_info.h" |
| #include "extensions/common/permissions/permissions_data.h" |
| @@ -93,17 +92,15 @@ void DispatchEventToExtensions( |
| EventRouter* router = EventRouter::Get(profile); |
| if (!router || !router->HasEventListener(event_name)) |
| return; |
| - ExtensionService* extension_service = |
| - ExtensionSystem::Get(profile)->extension_service(); |
| - const ExtensionSet* extensions = extension_service->extensions(); |
| - for (ExtensionSet::const_iterator it = extensions->begin(); |
| - it != extensions->end(); ++it) { |
| - std::string extension_id = (*it)->id(); |
| + |
| + for (const scoped_refptr<const extensions::Extension>& extension : |
| + ExtensionRegistry::Get(profile)->enabled_extensions()) { |
| + std::string extension_id = extension->id(); |
|
not at google - send to devlin
2014/11/11 20:20:09
String copy here looks unnecessary.
Reilly Grant (use Gerrit)
2014/11/11 20:55:31
Done.
|
| // TODO(bauerb): Only iterate over registered event listeners. |
| if (router->ExtensionHasEventListener(extension_id, event_name) && |
| - (*it)->permissions_data()->HasAPIPermission(permission) && |
| - (!incognito || IncognitoInfo::IsSplitMode(it->get()) || |
| - util::CanCrossIncognito(it->get(), profile))) { |
| + extension->permissions_data()->HasAPIPermission(permission) && |
| + (!incognito || IncognitoInfo::IsSplitMode(extension.get()) || |
| + util::CanCrossIncognito(extension.get(), profile))) { |
| // Inject level of control key-value. |
| base::DictionaryValue* dict; |
| bool rv = args->GetDictionary(0, &dict); |
| @@ -118,7 +115,7 @@ void DispatchEventToExtensions( |
| // incognito pref has not alredy been set |
| Profile* restrict_to_profile = NULL; |
| bool from_incognito = false; |
| - if (IncognitoInfo::IsSplitMode(it->get())) { |
| + if (IncognitoInfo::IsSplitMode(extension.get())) { |
| if (incognito && |
| util::IsIncognitoEnabled(extension_id, profile)) { |
| restrict_to_profile = profile->GetOffTheRecordProfile(); |