summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-21 23:17:17 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-21 23:17:17 +0000
commit4793c9449382bbc28dc9b865b1e77177c9a2feaf (patch)
treef159eabc0862f8cfa6a6352c482674336ed3def5 /chrome/browser/extensions
parentba463e96863261ba783e374fa7148fa263c9da4a (diff)
downloadchromium_src-4793c9449382bbc28dc9b865b1e77177c9a2feaf.zip
chromium_src-4793c9449382bbc28dc9b865b1e77177c9a2feaf.tar.gz
chromium_src-4793c9449382bbc28dc9b865b1e77177c9a2feaf.tar.bz2
Enable and disable Chat Manager component extension based on labs preference setting.
BUG=56429 TEST=unit_tests --gtest_filter=ExtensionsServiceTest.* Review URL: http://codereview.chromium.org/3120029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60123 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/extensions_service.cc1
-rw-r--r--chrome/browser/extensions/extensions_service.h4
-rw-r--r--chrome/browser/extensions/extensions_service_unittest.cc6
3 files changed, 8 insertions, 3 deletions
diff --git a/chrome/browser/extensions/extensions_service.cc b/chrome/browser/extensions/extensions_service.cc
index 37685e8..79810c0 100644
--- a/chrome/browser/extensions/extensions_service.cc
+++ b/chrome/browser/extensions/extensions_service.cc
@@ -805,7 +805,6 @@ void ExtensionsService::ClearExtensionData(const GURL& extension_url) {
void ExtensionsService::EnableExtension(const std::string& extension_id) {
Extension* extension = GetExtensionByIdInternal(extension_id, false, true);
if (!extension) {
- NOTREACHED() << "Trying to enable an extension that isn't disabled.";
return;
}
diff --git a/chrome/browser/extensions/extensions_service.h b/chrome/browser/extensions/extensions_service.h
index 4efa84a..211bc8de 100644
--- a/chrome/browser/extensions/extensions_service.h
+++ b/chrome/browser/extensions/extensions_service.h
@@ -242,8 +242,8 @@ class ExtensionsService
void UninstallExtension(const std::string& extension_id,
bool external_uninstall);
- // Enable or disable an extension. The extension must be in the opposite state
- // before calling.
+ // Enable or disable an extension. No action if the extension is already
+ // enabled/disabled.
void EnableExtension(const std::string& extension_id);
void DisableExtension(const std::string& extension_id);
diff --git a/chrome/browser/extensions/extensions_service_unittest.cc b/chrome/browser/extensions/extensions_service_unittest.cc
index ee4d7a9..281e9cb 100644
--- a/chrome/browser/extensions/extensions_service_unittest.cc
+++ b/chrome/browser/extensions/extensions_service_unittest.cc
@@ -302,6 +302,12 @@ void ExtensionsServiceTestBase::InitializeExtensionsService(
browser::RegisterUserPrefs(prefs_.get());
profile_.reset(profile);
+ // TODO(scherkus): Remove this when we no longer need to have Talk
+ // component extension state as a preference http://crbug.com/56429
+ DictionaryValue* dict =
+ prefs_->GetMutableDictionary("extensions.settings");
+ dict->Remove("ggnioahjipcehijkhpdjekioddnjoben", NULL);
+
service_ = new ExtensionsService(profile_.get(),
CommandLine::ForCurrentProcess(),
prefs_.get(),