| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 46ddb77bd244b70ec9440edda53a4dffc945c18c..50c00cf0d76056e653b19c3afa1085bcfd072235 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -105,6 +105,7 @@
|
|
|
| #if defined(OS_CHROMEOS)
|
| #include "chrome/browser/chromeos/extensions/install_limiter.h"
|
| +#include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| #include "storage/browser/fileapi/file_system_backend.h"
|
| #include "storage/browser/fileapi/file_system_context.h"
|
| #endif
|
| @@ -439,9 +440,22 @@ void ExtensionService::Init() {
|
| DCHECK(!is_ready()); // Can't redo init.
|
| DCHECK_EQ(registry_->enabled_extensions().size(), 0u);
|
|
|
| - // LoadAllExtensions() calls OnLoadedInstalledExtensions().
|
| component_loader_->LoadAll();
|
| - extensions::InstalledLoader(this).LoadAllExtensions();
|
| + bool load_saved_extensions = true;
|
| +#if defined(OS_CHROMEOS)
|
| + if (chromeos::ProfileHelper::IsSigninProfile(profile_))
|
| + load_saved_extensions = false;
|
| +#endif
|
| + if (load_saved_extensions) {
|
| + extensions::InstalledLoader(this).LoadAllExtensions();
|
| + } else {
|
| + // InstalledLoader::LoadAllExtensions normally calls
|
| + // OnLoadedInstalledExtensions itself, but here we circumvent that path.
|
| + // Call OnLoadedInstalledExtensions directly.
|
| + // TODO(devlin): LoadInstalledExtensions() is synchronous - we can simplify
|
| + // this.
|
| + OnLoadedInstalledExtensions();
|
| + }
|
| LoadExtensionsFromCommandLineFlag(switches::kDisableExtensionsExcept);
|
| if (extensions_enabled_)
|
| LoadExtensionsFromCommandLineFlag(switches::kLoadExtension);
|
|
|