diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-29 21:18:33 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-29 21:18:33 +0000 |
commit | 6cc7dbae8b7131af3df5492a7ea8d69590b44f04 (patch) | |
tree | 15abc66fc5943ccc554582d2f3dc0e85fcb6890c | |
parent | 7582d88767b96a2d1bd1c1bbfac65aac25ec1996 (diff) | |
download | chromium_src-6cc7dbae8b7131af3df5492a7ea8d69590b44f04.zip chromium_src-6cc7dbae8b7131af3df5492a7ea8d69590b44f04.tar.gz chromium_src-6cc7dbae8b7131af3df5492a7ea8d69590b44f04.tar.bz2 |
[Extensions] Remove enabled flag from PendingExtensionInfo
Since sync sets the enabled flag before it adds the pending extension,
there's no need to plumb this through anymore.
BUG=72659
TEST=
Review URL: http://codereview.chromium.org/6902134
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83593 0039d316-1c4b-4281-b951-d872f2087c98
8 files changed, 27 insertions, 65 deletions
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc index 45e796e..cba28cc 100644 --- a/chrome/browser/extensions/extension_service.cc +++ b/chrome/browser/extensions/extension_service.cc @@ -1396,12 +1396,12 @@ void ExtensionService::ProcessSyncData( // // TODO(akalin): Replace silent update with a list of enabled // permissions. + const bool kInstallSilently = true; if (!pending_extension_manager()->AddFromSync( id, extension_sync_data.update_url, filter, - true, // install_silently - extension_sync_data.enabled)) { + kInstallSilently)) { LOG(WARNING) << "Could not add pending extension for " << id; return; } @@ -1811,7 +1811,7 @@ void ExtensionService::OnExtensionInstalled(const Extension* extension) { // Ensure extension is deleted unless we transfer ownership. scoped_refptr<const Extension> scoped_extension(extension); const std::string& id = extension->id(); - bool initial_enable = false; + bool initial_enable = IsExtensionEnabled(id); PendingExtensionInfo pending_extension_info; if (pending_extension_manager()->GetById(id, &pending_extension_info)) { @@ -1838,19 +1838,13 @@ void ExtensionService::OnExtensionInstalled(const Extension* extension) { NOTREACHED(); return; } - - if (extension->is_theme()) { - DCHECK(pending_extension_info.enable_on_install()); - initial_enable = true; - } else { - initial_enable = pending_extension_info.enable_on_install(); - } } else { // We explicitly want to re-enable an uninstalled external // extension; if we're here, that means the user is manually // installing the extension. - initial_enable = - IsExtensionEnabled(id) || IsExternalExtensionUninstalled(id); + if (IsExternalExtensionUninstalled(id)) { + initial_enable = true; + } } UMA_HISTOGRAM_ENUMERATION("Extensions.InstallType", diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc index 55f1f47..659971a 100644 --- a/chrome/browser/extensions/extension_service_unittest.cc +++ b/chrome/browser/extensions/extension_service_unittest.cc @@ -2075,11 +2075,10 @@ TEST_F(ExtensionServiceTest, AddPendingExtensionFromSync) { const std::string kFakeId(all_zero); const GURL kFakeUpdateURL("http:://fake.update/url"); const bool kFakeInstallSilently(true); - const Extension::State kFakeInitialState(Extension::ENABLED); EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( kFakeId, kFakeUpdateURL, &IsExtension, - kFakeInstallSilently, kFakeInitialState)); + kFakeInstallSilently)); PendingExtensionInfo pending_extension_info; ASSERT_TRUE(service_->pending_extension_manager()->GetById( @@ -2094,7 +2093,6 @@ const char kGoodId[] = "ldnnhddmnhbkjipkidpdiheffobcpfmf"; const char kGoodUpdateURL[] = "http://good.update/url"; const bool kGoodIsFromSync = true; const bool kGoodInstallSilently = true; -const Extension::State kGoodInitialState = Extension::DISABLED; } // namespace // Test updating a pending extension. @@ -2102,21 +2100,16 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtension) { InitializeEmptyExtensionService(); EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( kGoodId, GURL(kGoodUpdateURL), &IsExtension, - kGoodInstallSilently, kGoodInitialState)); + kGoodInstallSilently)); EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId)); FilePath path = data_dir_.AppendASCII("good.crx"); - UpdateExtension(kGoodId, path, INSTALLED); + UpdateExtension(kGoodId, path, ENABLED); EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); const Extension* extension = service_->GetExtensionById(kGoodId, true); ASSERT_TRUE(extension); - - bool enabled = service_->GetExtensionById(kGoodId, false); - EXPECT_EQ(enabled, kGoodInitialState == Extension::ENABLED); - EXPECT_EQ(kGoodInitialState, - service_->extension_prefs()->GetExtensionState(extension->id())); } namespace { @@ -2131,8 +2124,7 @@ bool IsTheme(const Extension& extension) { TEST_F(ExtensionServiceTest, UpdatePendingTheme) { InitializeEmptyExtensionService(); EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( - theme_crx, GURL(), &IsTheme, - false, Extension::ENABLED)); + theme_crx, GURL(), &IsTheme, false)); EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx)); FilePath path = data_dir_.AppendASCII("theme.crx"); @@ -2185,7 +2177,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExternalCrxWinsOverSync) { // Add a crx to be installed from the update mechanism. EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( kGoodId, GURL(kGoodUpdateURL), &IsExtension, - kGoodInstallSilently, kGoodInitialState)); + kGoodInstallSilently)); // Check that there is a pending crx, with is_from_sync set to true. PendingExtensionInfo pending_extension_info; @@ -2207,7 +2199,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExternalCrxWinsOverSync) { // Add a crx to be installed from the update mechanism. EXPECT_FALSE(service_->pending_extension_manager()->AddFromSync( kGoodId, GURL(kGoodUpdateURL), &IsExtension, - kGoodInstallSilently, kGoodInitialState)); + kGoodInstallSilently)); // Check that the external, non-sync update was not overridden. ASSERT_TRUE(service_->pending_extension_manager()->GetById( @@ -2222,8 +2214,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExternalCrxWinsOverSync) { TEST_F(ExtensionServiceTest, UpdatePendingCrxThemeMismatch) { InitializeEmptyExtensionService(); EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( - theme_crx, GURL(), &IsExtension, - true, Extension::ENABLED)); + theme_crx, GURL(), &IsExtension, true)); EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx)); @@ -2245,8 +2236,7 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtensionFailedShouldInstallTest) { InitializeEmptyExtensionService(); // Add pending extension with a flipped is_theme. EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( - kGoodId, GURL(kGoodUpdateURL), &IsTheme, - kGoodInstallSilently, kGoodInitialState)); + kGoodId, GURL(kGoodUpdateURL), &IsTheme, kGoodInstallSilently)); EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId)); FilePath path = data_dir_.AppendASCII("good.crx"); @@ -2286,9 +2276,8 @@ TEST_F(ExtensionServiceTest, UpdatePendingExtensionAlreadyInstalled) { // Use AddExtensionImpl() as AddFrom*() would balk. service_->pending_extension_manager()->AddExtensionImpl( good->id(), good->update_url(), &IsExtension, - kGoodIsFromSync, kGoodInstallSilently, kGoodInitialState, - Extension::INTERNAL); - UpdateExtension(good->id(), path, INSTALLED); + kGoodIsFromSync, kGoodInstallSilently, Extension::INTERNAL); + UpdateExtension(good->id(), path, ENABLED); EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); } @@ -3618,7 +3607,6 @@ TEST_F(ExtensionServiceTest, ProcessSyncDataNotInstalled) { EXPECT_EQ(extension_sync_data.update_url, info.update_url()); EXPECT_TRUE(info.is_from_sync()); EXPECT_TRUE(info.install_silently()); - EXPECT_EQ(extension_sync_data.enabled, info.enable_on_install()); EXPECT_EQ(Extension::INTERNAL, info.install_source()); // TODO(akalin): Figure out a way to test |info.ShouldAllowInstall()|. } @@ -3656,8 +3644,7 @@ class ExtensionSourcePriorityTest : public ExtensionServiceTest { // Fake a request from sync to install an extension. bool AddPendingSyncInstall() { return service_->pending_extension_manager()->AddFromSync( - crx_id_, GURL(kGoodUpdateURL), &IsExtension, - kGoodInstallSilently, kGoodInitialState); + crx_id_, GURL(kGoodUpdateURL), &IsExtension, kGoodInstallSilently); } // Fake a policy install. diff --git a/chrome/browser/extensions/extension_updater_unittest.cc b/chrome/browser/extensions/extension_updater_unittest.cc index 6e0e6a3..6cfc5ec 100644 --- a/chrome/browser/extensions/extension_updater_unittest.cc +++ b/chrome/browser/extensions/extension_updater_unittest.cc @@ -129,7 +129,6 @@ void SetupPendingExtensionManagerForTest( (i % 2 == 0) ? &ShouldInstallThemesOnly : &ShouldInstallExtensionsOnly; const bool kIsFromSync = true; const bool kInstallSilently = true; - const Extension::State kInitialState = Extension::ENABLED; std::string id = GenerateId(base::StringPrintf("extension%i", i)); pending_extension_manager->AddForTesting( @@ -138,7 +137,6 @@ void SetupPendingExtensionManagerForTest( should_allow_install, kIsFromSync, kInstallSilently, - kInitialState, Extension::INTERNAL)); } } @@ -645,13 +643,12 @@ class ExtensionUpdaterTest : public testing::Test { if (pending) { const bool kIsFromSync = true; const bool kInstallSilently = true; - const Extension::State kInitialState = Extension::ENABLED; PendingExtensionManager* pending_extension_manager = service->pending_extension_manager(); pending_extension_manager->AddForTesting( id, PendingExtensionInfo(test_url, &ShouldAlwaysInstall, kIsFromSync, - kInstallSilently, kInitialState, + kInstallSilently, Extension::INTERNAL)); } @@ -1062,14 +1059,14 @@ TEST(ExtensionUpdaterTest, TestManifestFetchesBuilderAddExtension) { builder.AddPendingExtension( GenerateId("foo"), PendingExtensionInfo(GURL("http:google.com:foo"), &ShouldInstallExtensionsOnly, - false, false, true, + false, false, Extension::INTERNAL)); EXPECT_TRUE(builder.GetFetches().empty()); // Extensions with empty IDs should be rejected. builder.AddPendingExtension( "", PendingExtensionInfo(GURL(), &ShouldInstallExtensionsOnly, - false, false, true, + false, false, Extension::INTERNAL)); EXPECT_TRUE(builder.GetFetches().empty()); @@ -1081,7 +1078,7 @@ TEST(ExtensionUpdaterTest, TestManifestFetchesBuilderAddExtension) { builder.AddPendingExtension( GenerateId("foo"), PendingExtensionInfo(GURL(), &ShouldInstallExtensionsOnly, - false, false, true, + false, false, Extension::INTERNAL)); std::vector<ManifestFetchData*> fetches = builder.GetFetches(); ASSERT_EQ(1u, fetches.size()); diff --git a/chrome/browser/extensions/pending_extension_info.cc b/chrome/browser/extensions/pending_extension_info.cc index d20dfb0..7e506ad 100644 --- a/chrome/browser/extensions/pending_extension_info.cc +++ b/chrome/browser/extensions/pending_extension_info.cc @@ -9,13 +9,11 @@ PendingExtensionInfo::PendingExtensionInfo( ShouldAllowInstallPredicate should_allow_install, bool is_from_sync, bool install_silently, - bool enable_on_install, Extension::Location install_source) : update_url_(update_url), should_allow_install_(should_allow_install), is_from_sync_(is_from_sync), install_silently_(install_silently), - enable_on_install_(enable_on_install), install_source_(install_source) {} PendingExtensionInfo::PendingExtensionInfo() @@ -23,5 +21,4 @@ PendingExtensionInfo::PendingExtensionInfo() should_allow_install_(NULL), is_from_sync_(true), install_silently_(false), - enable_on_install_(false), install_source_(Extension::INVALID) {} diff --git a/chrome/browser/extensions/pending_extension_info.h b/chrome/browser/extensions/pending_extension_info.h index 2459015..7ab82d4 100644 --- a/chrome/browser/extensions/pending_extension_info.h +++ b/chrome/browser/extensions/pending_extension_info.h @@ -25,7 +25,6 @@ class PendingExtensionInfo { ShouldAllowInstallPredicate should_allow_install, bool is_from_sync, bool install_silently, - bool enable_on_install, Extension::Location install_source); // Required for STL container membership. Should not be used directly. @@ -44,7 +43,6 @@ class PendingExtensionInfo { } bool is_from_sync() const { return is_from_sync_; } bool install_silently() const { return install_silently_; } - bool enable_on_install() const { return enable_on_install_; } Extension::Location install_source() const { return install_source_; } private: @@ -57,7 +55,6 @@ class PendingExtensionInfo { bool is_from_sync_; // This update check was initiated from sync. bool install_silently_; - bool enable_on_install_; Extension::Location install_source_; FRIEND_TEST_ALL_PREFIXES(ExtensionServiceTest, AddPendingExtensionFromSync); diff --git a/chrome/browser/extensions/pending_extension_manager.cc b/chrome/browser/extensions/pending_extension_manager.cc index b50f6f3..b4b251c 100644 --- a/chrome/browser/extensions/pending_extension_manager.cc +++ b/chrome/browser/extensions/pending_extension_manager.cc @@ -50,8 +50,7 @@ bool PendingExtensionManager::AddFromSync( const std::string& id, const GURL& update_url, PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install, - bool install_silently, - bool enable_on_install) { + bool install_silently) { CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (service_.GetInstalledExtension(id)) { @@ -64,9 +63,7 @@ bool PendingExtensionManager::AddFromSync( const Extension::Location kSyncLocation = Extension::INTERNAL; return AddExtensionImpl(id, update_url, should_allow_install, - kIsFromSync, install_silently, - enable_on_install, - kSyncLocation); + kIsFromSync, install_silently, kSyncLocation); } void PendingExtensionManager::AddFromExternalUpdateUrl( @@ -76,7 +73,6 @@ void PendingExtensionManager::AddFromExternalUpdateUrl( const bool kIsFromSync = false; const bool kInstallSilently = true; - const bool kEnableOnInstall = true; if (service_.IsExternalExtensionUninstalled(id)) return; @@ -89,7 +85,7 @@ void PendingExtensionManager::AddFromExternalUpdateUrl( AddExtensionImpl(id, update_url, &AlwaysInstall, kIsFromSync, kInstallSilently, - kEnableOnInstall, location); + location); } @@ -100,14 +96,12 @@ void PendingExtensionManager::AddFromExternalFile( GURL kUpdateUrl = GURL(); bool kIsFromSync = false; bool kInstallSilently = true; - bool kEnableOnInstall = true; pending_extension_map_[id] = PendingExtensionInfo(kUpdateUrl, &AlwaysInstall, kIsFromSync, kInstallSilently, - kEnableOnInstall, location); } @@ -115,7 +109,7 @@ bool PendingExtensionManager::AddExtensionImpl( const std::string& id, const GURL& update_url, PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install, bool is_from_sync, bool install_silently, - bool enable_on_install, Extension::Location install_source) { + Extension::Location install_source) { CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); // Will add a pending extension record unless this variable is set to false. @@ -151,7 +145,6 @@ bool PendingExtensionManager::AddExtensionImpl( should_allow_install, is_from_sync, install_silently, - enable_on_install, install_source); return true; } diff --git a/chrome/browser/extensions/pending_extension_manager.h b/chrome/browser/extensions/pending_extension_manager.h index 9e73926..6efbdeb 100644 --- a/chrome/browser/extensions/pending_extension_manager.h +++ b/chrome/browser/extensions/pending_extension_manager.h @@ -68,8 +68,7 @@ class PendingExtensionManager { const std::string& id, const GURL& update_url, PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install, - bool install_silently, - bool enable_on_install); + bool install_silently); // Given an extension id and an update URL, schedule the extension // to be fetched, installed, and activated. @@ -91,7 +90,6 @@ class PendingExtensionManager { PendingExtensionInfo::ShouldAllowInstallPredicate should_allow_install, bool is_from_sync, bool install_silently, - bool enable_on_install, Extension::Location install_source); // Add a pending extension record directly. Used for unit tests that need diff --git a/chrome/browser/sync/glue/theme_util.cc b/chrome/browser/sync/glue/theme_util.cc index 4f5c573..590340d 100644 --- a/chrome/browser/sync/glue/theme_util.cc +++ b/chrome/browser/sync/glue/theme_util.cc @@ -103,10 +103,9 @@ void SetCurrentThemeFromThemeSpecifics( // so by adding it as a pending extension and then triggering an // auto-update cycle. const bool kInstallSilently = true; - const bool kEnableOnInstall = true; if (!extensions_service->pending_extension_manager()->AddFromSync( id, update_url, &IsTheme, - kInstallSilently, kEnableOnInstall)) { + kInstallSilently)) { LOG(WARNING) << "Could not add pending extension for " << id; return; } |