diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-21 23:17:17 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-21 23:17:17 +0000 |
commit | 4793c9449382bbc28dc9b865b1e77177c9a2feaf (patch) | |
tree | f159eabc0862f8cfa6a6352c482674336ed3def5 /chrome/browser/extensions | |
parent | ba463e96863261ba783e374fa7148fa263c9da4a (diff) | |
download | chromium_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.cc | 1 | ||||
-rw-r--r-- | chrome/browser/extensions/extensions_service.h | 4 | ||||
-rw-r--r-- | chrome/browser/extensions/extensions_service_unittest.cc | 6 |
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(), |