Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Unified Diff: extensions/browser/extension_prefs.cc

Issue 1254363004: Move ownership of AppSorting from ExtensionPrefs to ExtensionSystem (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review1 Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/browser/extension_prefs.h ('k') | extensions/browser/extension_prefs_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/extension_prefs.cc
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc
index 58ccad71e6c0e4fd030571804bc5a99f79d80d5c..2571fe9e71f499b37449a46ce8e499e561d0d1f7 100644
--- a/extensions/browser/extension_prefs.cc
+++ b/extensions/browser/extension_prefs.cc
@@ -196,6 +196,8 @@ const char kCorruptedDisableCount[] = "extensions.corrupted_disable_count";
// that need to be synced. Default value is false.
const char kPrefNeedsSync[] = "needs_sync";
+ExtensionPrefs* g_instance_for_testing = nullptr;
+
// Provider of write access to a dictionary storing extension prefs.
class ScopedExtensionPrefUpdate : public DictionaryPrefUpdate {
public:
@@ -341,13 +343,11 @@ ExtensionPrefs* ExtensionPrefs::Create(
PrefService* prefs,
const base::FilePath& root_dir,
ExtensionPrefValueMap* extension_pref_value_map,
- scoped_ptr<AppSorting> app_sorting,
bool extensions_disabled,
const std::vector<ExtensionPrefsObserver*>& early_observers) {
return ExtensionPrefs::Create(prefs,
root_dir,
extension_pref_value_map,
- app_sorting.Pass(),
extensions_disabled,
early_observers,
make_scoped_ptr(new TimeProvider()));
@@ -358,14 +358,12 @@ ExtensionPrefs* ExtensionPrefs::Create(
PrefService* pref_service,
const base::FilePath& root_dir,
ExtensionPrefValueMap* extension_pref_value_map,
- scoped_ptr<AppSorting> app_sorting,
bool extensions_disabled,
const std::vector<ExtensionPrefsObserver*>& early_observers,
scoped_ptr<TimeProvider> time_provider) {
return new ExtensionPrefs(pref_service,
root_dir,
extension_pref_value_map,
- app_sorting.Pass(),
time_provider.Pass(),
extensions_disabled,
early_observers);
@@ -376,9 +374,16 @@ ExtensionPrefs::~ExtensionPrefs() {
// static
ExtensionPrefs* ExtensionPrefs::Get(content::BrowserContext* context) {
+ if (g_instance_for_testing)
+ return g_instance_for_testing;
Marc Treib 2015/07/30 14:04:12 This is super-hacky. We should really go through t
return ExtensionPrefsFactory::GetInstance()->GetForBrowserContext(context);
}
+// static
+void ExtensionPrefs::SetInstanceForTesting(ExtensionPrefs* prefs) {
+ g_instance_for_testing = prefs;
+}
+
static base::FilePath::StringType MakePathRelative(const base::FilePath& parent,
const base::FilePath& child) {
if (!parent.IsParent(child))
@@ -1780,7 +1785,6 @@ void ExtensionPrefs::InitPrefStore() {
FixMissingPrefs(extension_ids);
MigratePermissions(extension_ids);
MigrateDisableReasons(extension_ids);
- app_sorting_->Initialize(extension_ids);
InitExtensionControlledPrefs(extension_pref_value_map_);
@@ -1870,21 +1874,15 @@ ExtensionPrefs::ExtensionPrefs(
PrefService* prefs,
const base::FilePath& root_dir,
ExtensionPrefValueMap* extension_pref_value_map,
- scoped_ptr<AppSorting> app_sorting,
scoped_ptr<TimeProvider> time_provider,
bool extensions_disabled,
const std::vector<ExtensionPrefsObserver*>& early_observers)
: prefs_(prefs),
install_directory_(root_dir),
extension_pref_value_map_(extension_pref_value_map),
- app_sorting_(app_sorting.Pass()),
+ app_sorting_(nullptr),
time_provider_(time_provider.Pass()),
extensions_disabled_(extensions_disabled) {
- // TODO(mgiuca): Added these checks to try and diagnose
- // http://crbug.com/476648. Remove them after the investigation is concluded.
- CHECK(this);
- app_sorting_->SetExtensionScopedPrefs(this);
- app_sorting_->CheckExtensionScopedPrefs();
MakePathsRelative();
// Ensure that any early observers are watching before prefs are initialized.
« no previous file with comments | « extensions/browser/extension_prefs.h ('k') | extensions/browser/extension_prefs_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698