Sync shouldn't install external extensions that user removed
BUG=124901
TEST=manual
Review URL: http://codereview.chromium.org/10360003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135309 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 58b5a60..6e58625 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -1519,6 +1519,14 @@
return true;
}
+ // Extension from sync was uninstalled by the user as external extensions.
+ // Honor user choice and skip installation/enabling.
+ if (IsExternalExtensionUninstalled(id)) {
+ LOG(WARNING) << "Extension with id " << id
+ << " from sync was uninstalled as external extension";
+ return true;
+ }
+
// Set user settings.
if (extension_sync_data.enabled()) {
EnableExtension(id);