summaryrefslogtreecommitdiffstats
path: root/extensions/browser/extension_prefs.cc
diff options
context:
space:
mode:
authortreib <treib@chromium.org>2015-08-06 03:55:42 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-06 10:56:16 +0000
commit926ee2dccf73a971e1f78e80d09231f8ba19aff3 (patch)
tree6bfeb8e29cdddb7e765003e6265ef3aba5eb3621 /extensions/browser/extension_prefs.cc
parentcac01ee2465f98273202a67a1d1d95ccb381fa90 (diff)
downloadchromium_src-926ee2dccf73a971e1f78e80d09231f8ba19aff3.zip
chromium_src-926ee2dccf73a971e1f78e80d09231f8ba19aff3.tar.gz
chromium_src-926ee2dccf73a971e1f78e80d09231f8ba19aff3.tar.bz2
Move ownership of AppSorting from ExtensionPrefs to ExtensionSystem
BUG=None Review URL: https://codereview.chromium.org/1254363004 Cr-Commit-Position: refs/heads/master@{#342093}
Diffstat (limited to 'extensions/browser/extension_prefs.cc')
-rw-r--r--extensions/browser/extension_prefs.cc44
1 files changed, 18 insertions, 26 deletions
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc
index 58ccad7..e4114d7 100644
--- a/extensions/browser/extension_prefs.cc
+++ b/extensions/browser/extension_prefs.cc
@@ -21,6 +21,7 @@
#include "extensions/browser/extension_pref_store.h"
#include "extensions/browser/extension_prefs_factory.h"
#include "extensions/browser/extension_prefs_observer.h"
+#include "extensions/browser/extension_system.h"
#include "extensions/browser/install_flag.h"
#include "extensions/browser/pref_names.h"
#include "extensions/common/feature_switch.h"
@@ -338,37 +339,30 @@ template class ExtensionPrefs::ScopedUpdate<base::ListValue,
// static
ExtensionPrefs* ExtensionPrefs::Create(
+ content::BrowserContext* browser_context,
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,
+ return ExtensionPrefs::Create(browser_context, prefs, root_dir,
+ extension_pref_value_map, extensions_disabled,
early_observers,
make_scoped_ptr(new TimeProvider()));
}
// static
ExtensionPrefs* ExtensionPrefs::Create(
+ content::BrowserContext* browser_context,
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);
+ return new ExtensionPrefs(browser_context, pref_service, root_dir,
+ extension_pref_value_map, time_provider.Pass(),
+ extensions_disabled, early_observers);
}
ExtensionPrefs::~ExtensionPrefs() {
@@ -1202,7 +1196,7 @@ void ExtensionPrefs::OnExtensionInstalled(
void ExtensionPrefs::OnExtensionUninstalled(const std::string& extension_id,
const Manifest::Location& location,
bool external_uninstall) {
- app_sorting_->ClearOrdinals(extension_id);
+ app_sorting()->ClearOrdinals(extension_id);
// For external extensions, we save a preference reminding ourself not to try
// and install the extension anymore (except when |external_uninstall| is
@@ -1780,7 +1774,6 @@ void ExtensionPrefs::InitPrefStore() {
FixMissingPrefs(extension_ids);
MigratePermissions(extension_ids);
MigrateDisableReasons(extension_ids);
- app_sorting_->Initialize(extension_ids);
InitExtensionControlledPrefs(extension_pref_value_map_);
@@ -1867,24 +1860,19 @@ void ExtensionPrefs::SetNeedsSync(const std::string& extension_id,
}
ExtensionPrefs::ExtensionPrefs(
+ content::BrowserContext* browser_context,
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),
+ : browser_context_(browser_context),
+ prefs_(prefs),
install_directory_(root_dir),
extension_pref_value_map_(extension_pref_value_map),
- app_sorting_(app_sorting.Pass()),
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.
@@ -1898,6 +1886,10 @@ ExtensionPrefs::ExtensionPrefs(
InitPrefStore();
}
+AppSorting* ExtensionPrefs::app_sorting() const {
+ return ExtensionSystem::Get(browser_context_)->app_sorting();
+}
+
void ExtensionPrefs::SetNeedsStorageGarbageCollection(bool value) {
prefs_->SetBoolean(pref_names::kStorageGarbageCollect, value);
}
@@ -2107,11 +2099,11 @@ void ExtensionPrefs::FinishExtensionInfoPrefs(
extension_dict->Remove(EventRouter::kRegisteredEvents, NULL);
// FYI, all code below here races on sudden shutdown because |extension_dict|,
- // |app_sorting_|, |extension_pref_value_map_|, and (potentially) observers
+ // |app_sorting|, |extension_pref_value_map_|, and (potentially) observers
// are updated non-transactionally. This is probably not fixable without
// nested transactional updates to pref dictionaries.
if (needs_sort_ordinal)
- app_sorting_->EnsureValidOrdinals(extension_id, suggested_page_ordinal);
+ app_sorting()->EnsureValidOrdinals(extension_id, suggested_page_ordinal);
bool is_enabled = false;
int initial_state;