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 cfd8ba1316b94777c6c2c993b93f40956a8acbfb..6aa190b7bf547c4e3c28688afb0244f479adfa08 100644 |
| --- a/chrome/browser/extensions/extension_service.cc |
| +++ b/chrome/browser/extensions/extension_service.cc |
| @@ -206,8 +206,10 @@ bool ExtensionService::OnExternalExtensionUpdateUrlFound( |
| // Already installed. Skip this install if the current location has |
|
lazyboy
2016/09/02 19:21:53
Add comment to reflect the new checks you've added
asargent_no_longer_on_chrome
2016/09/09 03:30:44
Done.
|
| // higher priority than |info.download_location|. |
| Manifest::Location current = extension->location(); |
| - if (current == |
| - Manifest::GetHigherPriorityLocation(current, info.download_location)) { |
| + if (!pending_extension_manager_.IsPolicyReinstallExpected( |
| + info.extension_id) && |
| + current == Manifest::GetHigherPriorityLocation( |
| + current, info.download_location)) { |
| return false; |
| } |
| // Otherwise, overwrite the current installation. |
| @@ -909,6 +911,7 @@ void ExtensionService::DisableExtension(const std::string& extension_id, |
| // can be uninstalled by the browser if the user sets extension-specific |
| // preferences. |
| if (extension && !(disable_reasons & Extension::DISABLE_RELOAD) && |
| + !(disable_reasons & Extension::DISABLE_CORRUPTED) && |
| !(disable_reasons & Extension::DISABLE_UPDATE_REQUIRED_BY_POLICY) && |
| !system_->management_policy()->UserMayModifySettings(extension, |
| nullptr) && |