| Index: chrome/browser/extensions/test_extension_prefs.cc
|
| diff --git a/chrome/browser/extensions/test_extension_prefs.cc b/chrome/browser/extensions/test_extension_prefs.cc
|
| index 70cc667b1ea182ecab8ec7829bc1d0d414c7af26..b91899b0dd137ca1ad216b43376bc5a2585ecd0a 100644
|
| --- a/chrome/browser/extensions/test_extension_prefs.cc
|
| +++ b/chrome/browser/extensions/test_extension_prefs.cc
|
| @@ -16,6 +16,8 @@
|
| #include "base/synchronization/waitable_event.h"
|
| #include "base/thread_task_runner_handle.h"
|
| #include "base/values.h"
|
| +#include "chrome/browser/extensions/chrome_app_sorting.h"
|
| +#include "chrome/browser/extensions/test_extension_system.h"
|
| #include "chrome/browser/prefs/pref_service_mock_factory.h"
|
| #include "chrome/browser/prefs/pref_service_syncable.h"
|
| #include "chrome/common/chrome_constants.h"
|
| @@ -25,6 +27,8 @@
|
| #include "extensions/browser/extension_pref_store.h"
|
| #include "extensions/browser/extension_pref_value_map.h"
|
| #include "extensions/browser/extension_prefs.h"
|
| +#include "extensions/browser/extension_prefs_factory.h"
|
| +#include "extensions/browser/extension_system.h"
|
| #include "extensions/browser/extensions_browser_client.h"
|
| #include "extensions/common/extension.h"
|
| #include "extensions/common/manifest_constants.h"
|
| @@ -74,6 +78,10 @@ TestExtensionPrefs::TestExtensionPrefs(
|
| TestExtensionPrefs::~TestExtensionPrefs() {
|
| }
|
|
|
| +ExtensionPrefs* TestExtensionPrefs::prefs() {
|
| + return ExtensionPrefs::Get(&profile_);
|
| +}
|
| +
|
| PrefService* TestExtensionPrefs::pref_service() {
|
| return pref_service_.get();
|
| }
|
| @@ -111,17 +119,22 @@ void TestExtensionPrefs::RecreateExtensionPrefs() {
|
| factory.set_extension_prefs(
|
| new ExtensionPrefStore(extension_pref_value_map_.get(), false));
|
| pref_service_ = factory.CreateSyncable(pref_registry_.get()).Pass();
|
| -
|
| - prefs_.reset(ExtensionPrefs::Create(
|
| + scoped_ptr<ExtensionPrefs> prefs(ExtensionPrefs::Create(
|
| + &profile_,
|
| pref_service_.get(),
|
| temp_dir_.path(),
|
| extension_pref_value_map_.get(),
|
| - ExtensionsBrowserClient::Get()->CreateAppSorting(nullptr).Pass(),
|
| extensions_disabled_,
|
| std::vector<ExtensionPrefsObserver*>(),
|
| // Guarantee that no two extensions get the same installation time
|
| // stamp and we can reliably assert the installation order in the tests.
|
| scoped_ptr<ExtensionPrefs::TimeProvider>(new IncrementalTimeProvider())));
|
| + ExtensionPrefsFactory::GetInstance()->SetInstanceForTesting(&profile_,
|
| + prefs.Pass());
|
| + // Hack: After recreating ExtensionPrefs, the AppSorting also needs to be
|
| + // recreated. (ExtensionPrefs is never recreated in non-test code.)
|
| + static_cast<TestExtensionSystem*>(ExtensionSystem::Get(&profile_))
|
| + ->RecreateAppSorting();
|
| }
|
|
|
| scoped_refptr<Extension> TestExtensionPrefs::AddExtension(
|
| @@ -163,10 +176,10 @@ scoped_refptr<Extension> TestExtensionPrefs::AddExtensionWithManifestAndFlags(
|
| return NULL;
|
|
|
| EXPECT_TRUE(crx_file::id_util::IdIsValid(extension->id()));
|
| - prefs_->OnExtensionInstalled(extension.get(),
|
| - Extension::ENABLED,
|
| - syncer::StringOrdinal::CreateInitialOrdinal(),
|
| - std::string());
|
| + prefs()->OnExtensionInstalled(extension.get(),
|
| + Extension::ENABLED,
|
| + syncer::StringOrdinal::CreateInitialOrdinal(),
|
| + std::string());
|
| return extension;
|
| }
|
|
|
| @@ -177,10 +190,10 @@ std::string TestExtensionPrefs::AddExtensionAndReturnId(
|
| }
|
|
|
| void TestExtensionPrefs::AddExtension(Extension* extension) {
|
| - prefs_->OnExtensionInstalled(extension,
|
| - Extension::ENABLED,
|
| - syncer::StringOrdinal::CreateInitialOrdinal(),
|
| - std::string());
|
| + prefs()->OnExtensionInstalled(extension,
|
| + Extension::ENABLED,
|
| + syncer::StringOrdinal::CreateInitialOrdinal(),
|
| + std::string());
|
| }
|
|
|
| PrefService* TestExtensionPrefs::CreateIncognitoPrefService() const {
|
| @@ -192,4 +205,9 @@ void TestExtensionPrefs::set_extensions_disabled(bool extensions_disabled) {
|
| extensions_disabled_ = extensions_disabled;
|
| }
|
|
|
| +ChromeAppSorting* TestExtensionPrefs::app_sorting() {
|
| + return static_cast<ChromeAppSorting*>(
|
| + ExtensionSystem::Get(&profile_)->app_sorting());
|
| +}
|
| +
|
| } // namespace extensions
|
|
|