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

Unified Diff: chrome/browser/extensions/chrome_app_sorting.cc

Issue 1254363004: Move ownership of AppSorting from ExtensionPrefs to ExtensionSystem (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add missing include Created 5 years, 4 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
Index: chrome/browser/extensions/chrome_app_sorting.cc
diff --git a/chrome/browser/extensions/chrome_app_sorting.cc b/chrome/browser/extensions/chrome_app_sorting.cc
index 6d7ddf6a65baf9bbfd7e83c59e367cd3ef6afc0a..a84cfdcc11fc94c5f5d4b35a0847d7fdfd561183 100644
--- a/chrome/browser/extensions/chrome_app_sorting.cc
+++ b/chrome/browser/extensions/chrome_app_sorting.cc
@@ -51,30 +51,17 @@ ChromeAppSorting::AppOrdinals::~AppOrdinals() {}
// ChromeAppSorting
ChromeAppSorting::ChromeAppSorting(content::BrowserContext* browser_context)
- : extension_scoped_prefs_(NULL),
- browser_context_(browser_context),
+ : browser_context_(browser_context),
default_ordinals_created_(false) {
+ ExtensionIdList extensions;
+ ExtensionPrefs::Get(browser_context_)->GetExtensions(&extensions);
+ InitializePageOrdinalMap(extensions);
+ MigrateAppIndex(extensions);
}
ChromeAppSorting::~ChromeAppSorting() {
}
-void ChromeAppSorting::SetExtensionScopedPrefs(ExtensionScopedPrefs* prefs) {
- extension_scoped_prefs_ = prefs;
-}
-
-void ChromeAppSorting::CheckExtensionScopedPrefs() const {
- CHECK(extension_scoped_prefs_);
-}
-
-void ChromeAppSorting::Initialize(
- const extensions::ExtensionIdList& extension_ids) {
- CHECK(extension_scoped_prefs_);
- InitializePageOrdinalMap(extension_ids);
-
- MigrateAppIndex(extension_ids);
-}
-
void ChromeAppSorting::CreateOrdinalsIfNecessary(size_t minimum_size) {
// Create StringOrdinal values as required to ensure |ntp_ordinal_map_| has at
// least |minimum_size| entries.
@@ -94,6 +81,8 @@ void ChromeAppSorting::MigrateAppIndex(
if (extension_ids.empty())
return;
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(browser_context_);
+
// Convert all the page index values to page ordinals. If there are any
// app launch values that need to be migrated, inserted them into a sorted
// set to be dealt with later.
@@ -104,10 +93,9 @@ void ChromeAppSorting::MigrateAppIndex(
extension_ids.begin(); ext_id != extension_ids.end(); ++ext_id) {
int old_page_index = 0;
syncer::StringOrdinal page = GetPageOrdinal(*ext_id);
- if (extension_scoped_prefs_->ReadPrefAsInteger(
- *ext_id,
- kPrefPageIndexDeprecated,
- &old_page_index)) {
+ if (prefs->ReadPrefAsInteger(*ext_id,
+ kPrefPageIndexDeprecated,
+ &old_page_index)) {
// Some extensions have invalid page index, so we don't
// attempt to convert them.
if (old_page_index < 0) {
@@ -121,15 +109,13 @@ void ChromeAppSorting::MigrateAppIndex(
page = PageIntegerAsStringOrdinal(old_page_index);
SetPageOrdinal(*ext_id, page);
- extension_scoped_prefs_->UpdateExtensionPref(
- *ext_id, kPrefPageIndexDeprecated, NULL);
+ prefs->UpdateExtensionPref(*ext_id, kPrefPageIndexDeprecated, NULL);
}
int old_app_launch_index = 0;
- if (extension_scoped_prefs_->ReadPrefAsInteger(
- *ext_id,
- kPrefAppLaunchIndexDeprecated,
- &old_app_launch_index)) {
+ if (prefs->ReadPrefAsInteger(*ext_id,
+ kPrefAppLaunchIndexDeprecated,
+ &old_app_launch_index)) {
// We can't update the app launch index value yet, because we use
// GetNextAppLaunchOrdinal to get the new ordinal value and it requires
// all the ordinals with lower values to have already been migrated.
@@ -138,8 +124,7 @@ void ChromeAppSorting::MigrateAppIndex(
if (page.IsValid())
app_launches_to_convert[page][old_app_launch_index] = &*ext_id;
- extension_scoped_prefs_->UpdateExtensionPref(
- *ext_id, kPrefAppLaunchIndexDeprecated, NULL);
+ prefs->UpdateExtensionPref(*ext_id, kPrefAppLaunchIndexDeprecated, NULL);
}
}
@@ -297,7 +282,7 @@ syncer::StringOrdinal ChromeAppSorting::GetAppLaunchOrdinal(
// If the preference read fails then raw_value will still be unset and we
// will return an invalid StringOrdinal to signal that no app launch ordinal
// was found.
- extension_scoped_prefs_->ReadPrefAsString(
+ ExtensionPrefs::Get(browser_context_)->ReadPrefAsString(
extension_id, kPrefAppLaunchOrdinal, &raw_value);
return syncer::StringOrdinal(raw_value);
}
@@ -320,7 +305,7 @@ void ChromeAppSorting::SetAppLaunchOrdinal(
new base::StringValue(new_app_launch_ordinal.ToInternalValue()) :
NULL;
- extension_scoped_prefs_->UpdateExtensionPref(
+ ExtensionPrefs::Get(browser_context_)->UpdateExtensionPref(
extension_id,
kPrefAppLaunchOrdinal,
new_value);
@@ -378,7 +363,7 @@ syncer::StringOrdinal ChromeAppSorting::GetPageOrdinal(
std::string raw_data;
// If the preference read fails then raw_data will still be unset and we will
// return an invalid StringOrdinal to signal that no page ordinal was found.
- extension_scoped_prefs_->ReadPrefAsString(
+ ExtensionPrefs::Get(browser_context_)->ReadPrefAsString(
extension_id, kPrefPageOrdinal, &raw_data);
return syncer::StringOrdinal(raw_data);
}
@@ -399,7 +384,7 @@ void ChromeAppSorting::SetPageOrdinal(
new base::StringValue(new_page_ordinal.ToInternalValue()) :
NULL;
- extension_scoped_prefs_->UpdateExtensionPref(
+ ExtensionPrefs::Get(browser_context_)->UpdateExtensionPref(
extension_id,
kPrefPageOrdinal,
new_value);
@@ -411,10 +396,9 @@ void ChromeAppSorting::ClearOrdinals(const std::string& extension_id) {
GetPageOrdinal(extension_id),
GetAppLaunchOrdinal(extension_id));
- extension_scoped_prefs_->UpdateExtensionPref(
- extension_id, kPrefPageOrdinal, NULL);
- extension_scoped_prefs_->UpdateExtensionPref(
- extension_id, kPrefAppLaunchOrdinal, NULL);
+ ExtensionPrefs* prefs = ExtensionPrefs::Get(browser_context_);
+ prefs->UpdateExtensionPref(extension_id, kPrefPageOrdinal, NULL);
+ prefs->UpdateExtensionPref(extension_id, kPrefAppLaunchOrdinal, NULL);
}
int ChromeAppSorting::PageStringOrdinalAsInteger(
@@ -473,9 +457,6 @@ syncer::StringOrdinal ChromeAppSorting::GetMinOrMaxAppLaunchOrdinalsOnPage(
void ChromeAppSorting::InitializePageOrdinalMap(
const extensions::ExtensionIdList& extension_ids) {
- // TODO(mgiuca): Added this CHECK to try and diagnose http://crbug.com/476648.
- // Remove it after the investigation is concluded.
- CHECK(extension_scoped_prefs_);
for (extensions::ExtensionIdList::const_iterator ext_it =
extension_ids.begin(); ext_it != extension_ids.end(); ++ext_it) {
AddOrdinalMapping(*ext_it,
« no previous file with comments | « chrome/browser/extensions/chrome_app_sorting.h ('k') | chrome/browser/extensions/chrome_app_sorting_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698