Chromium Code Reviews| Index: chrome/browser/extensions/extension_service.cc |
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
| index d6b0d9656d1d7385d2b846bdede06a2bd146e0bb..b0dcaa2ce45bd67f0fb246969d23cb51a6f30659 100644 |
| --- a/chrome/browser/extensions/extension_service.cc |
| +++ b/chrome/browser/extensions/extension_service.cc |
| @@ -1126,7 +1126,10 @@ void ExtensionService::UpdateExtensionBlacklist( |
| for (ExtensionSet::const_iterator iter = extensions_.begin(); |
| iter != extensions_.end(); ++iter) { |
| const Extension* extension = (*iter); |
| - if (blacklist_set.find(extension->id()) != blacklist_set.end()) { |
| + |
| + // Do not use blacklist_set as this does not take into account whitelist and |
| + // forcelist policies. |
| + if (extension_prefs_->IsExtensionBlacklisted(extension->id())) { |
|
Mattias Nissler (ping if slow)
2012/08/08 08:08:37
should call into extensions::ManagementPolicy here
|
| to_be_removed.push_back(extension->id()); |
| } |
| } |
| @@ -1168,7 +1171,11 @@ void ExtensionService::CheckAdminBlacklist() { |
| for (ExtensionSet::const_iterator iter = extensions_.begin(); |
| iter != extensions_.end(); ++iter) { |
| const Extension* extension = (*iter); |
| - if (!system_->management_policy()->UserMayLoad(extension, NULL)) { |
| + |
| + // Blacklisting status may have changed in the result of policy change so |
| + // check it too. |
| + if (!system_->management_policy()->UserMayLoad(extension, NULL) || |
| + extension_prefs_->IsExtensionBlacklisted(extension->id())) { |
|
Mattias Nissler (ping if slow)
2012/08/08 08:08:37
same here.
|
| to_be_removed.push_back(extension->id()); |
| } |
| } |