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

Unified Diff: chrome/browser/extensions/extension_service.cc

Issue 1136543003: Extensions: Store disable reasons in Sync (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix memleak in test Created 5 years, 7 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: chrome/browser/extensions/extension_service.cc
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index c18d61296ce62abf0948f58c576980328dfb6e8b..c066fd0f6d2c1e79f261c1fb10d46c3648e8e84b 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -867,14 +867,13 @@ void ExtensionService::EnableExtension(const std::string& extension_id) {
extension_sync_service_->SyncEnableExtension(*extension);
}
-void ExtensionService::DisableExtension(
- const std::string& extension_id,
- Extension::DisableReason disable_reason) {
+void ExtensionService::DisableExtension(const std::string& extension_id,
+ int disable_reasons) {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// The extension may have been disabled already. Just add a disable reason.
if (!IsExtensionEnabled(extension_id)) {
- extension_prefs_->AddDisableReason(extension_id, disable_reason);
+ extension_prefs_->AddDisableReasons(extension_id, disable_reasons);
return;
}
@@ -885,15 +884,15 @@ void ExtensionService::DisableExtension(
// can be uninstalled by the browser if the user sets extension-specific
// preferences.
if (extension &&
- disable_reason != Extension::DISABLE_RELOAD &&
- disable_reason != Extension::DISABLE_UPDATE_REQUIRED_BY_POLICY &&
+ !(disable_reasons & Extension::DISABLE_RELOAD) &&
+ !(disable_reasons & Extension::DISABLE_UPDATE_REQUIRED_BY_POLICY) &&
!system_->management_policy()->UserMayModifySettings(extension, NULL) &&
extension->location() != Manifest::EXTERNAL_COMPONENT) {
return;
}
extension_prefs_->SetExtensionState(extension_id, Extension::DISABLED);
- extension_prefs_->AddDisableReason(extension_id, disable_reason);
+ extension_prefs_->AddDisableReasons(extension_id, disable_reasons);
int include_mask =
ExtensionRegistry::EVERYTHING & ~ExtensionRegistry::DISABLED;

Powered by Google App Engine
This is Rietveld 408576698