diff options
author | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-25 16:43:37 +0000 |
---|---|---|
committer | skerner@chromium.org <skerner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-25 16:43:37 +0000 |
commit | b2907fdad77e3bef53604f1b7a8370d92d79be3e (patch) | |
tree | 4377126f7da6d7197d877e06cab7c7eb86f35156 /chrome/test/live_sync | |
parent | 68bf41ae4642cc0b1ad6f9d5c4050acaf3d7d1d5 (diff) | |
download | chromium_src-b2907fdad77e3bef53604f1b7a8370d92d79be3e.zip chromium_src-b2907fdad77e3bef53604f1b7a8370d92d79be3e.tar.gz chromium_src-b2907fdad77e3bef53604f1b7a8370d92d79be3e.tar.bz2 |
Move ExtensionService code that manages pending extensions into its own class.
This change should have no impact on chrome's behavior.
Once all code paths that install an extension inform PendingExtensionManger that they are starting an install, we can correctly merge requests to install the same extension from multiple sources. This will remove two hacky checks to avoid install races we have seen on Chrome Os. It will also ensure that more hacks are not needed.
BUG=61000
TEST=ExtensionUpdaterTest.*:ExtensionServiceTest.*'
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=79407
Review URL: http://codereview.chromium.org/6670055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79414 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/live_sync')
-rw-r--r-- | chrome/test/live_sync/live_extensions_sync_test.cc | 9 | ||||
-rw-r--r-- | chrome/test/live_sync/live_extensions_sync_test_base.cc | 9 | ||||
-rw-r--r-- | chrome/test/live_sync/live_themes_sync_test.cc | 6 |
3 files changed, 13 insertions, 11 deletions
diff --git a/chrome/test/live_sync/live_extensions_sync_test.cc b/chrome/test/live_sync/live_extensions_sync_test.cc index 9b2e64a..ab3b692 100644 --- a/chrome/test/live_sync/live_extensions_sync_test.cc +++ b/chrome/test/live_sync/live_extensions_sync_test.cc @@ -54,10 +54,11 @@ ExtensionStateMap GetExtensionStates(ExtensionService* extensions_service) { extension_states[(*it)->id()] = DISABLED; } - const PendingExtensionMap& pending_extensions = - extensions_service->pending_extensions(); - for (PendingExtensionMap::const_iterator it = pending_extensions.begin(); - it != pending_extensions.end(); ++it) { + const PendingExtensionManager* pending_extension_manager = + extensions_service->pending_extension_manager(); + PendingExtensionManager::const_iterator it; + for (it = pending_extension_manager->begin(); + it != pending_extension_manager->end(); ++it) { extension_states[it->first] = PENDING; } diff --git a/chrome/test/live_sync/live_extensions_sync_test_base.cc b/chrome/test/live_sync/live_extensions_sync_test_base.cc index 97e245a..ced3663 100644 --- a/chrome/test/live_sync/live_extensions_sync_test_base.cc +++ b/chrome/test/live_sync/live_extensions_sync_test_base.cc @@ -114,10 +114,11 @@ void LiveExtensionsSyncTestBase::InstallAllPendingExtensions( // We make a copy here since InstallExtension() removes the // extension from the extensions service's copy. - PendingExtensionMap pending_extensions = - profile->GetExtensionService()->pending_extensions(); - for (PendingExtensionMap::const_iterator it = pending_extensions.begin(); - it != pending_extensions.end(); ++it) { + const PendingExtensionManager* pending_extension_manager = + profile->GetExtensionService()->pending_extension_manager(); + PendingExtensionManager::const_iterator it; + for (it = pending_extension_manager->begin(); + it != pending_extension_manager->end(); ++it) { ExtensionIdMap::const_iterator it2 = extensions_by_id_.find(it->first); CHECK(it2 != extensions_by_id_.end()); InstallExtension(profile, it2->second); diff --git a/chrome/test/live_sync/live_themes_sync_test.cc b/chrome/test/live_sync/live_themes_sync_test.cc index 0537565..14994a3 100644 --- a/chrome/test/live_sync/live_themes_sync_test.cc +++ b/chrome/test/live_sync/live_themes_sync_test.cc @@ -59,9 +59,9 @@ bool LiveThemesSyncTest::UsingNativeTheme(Profile* profile) { bool LiveThemesSyncTest::ExtensionIsPendingInstall( Profile* profile, const Extension* extension) { - const PendingExtensionMap& pending_extensions = - profile->GetExtensionService()->pending_extensions(); - return pending_extensions.find(extension->id()) != pending_extensions.end(); + const PendingExtensionManager* pending_extension_manager = + profile->GetExtensionService()->pending_extension_manager(); + return pending_extension_manager->IsIdPending(extension->id()); } bool LiveThemesSyncTest::HasOrWillHaveCustomTheme( |