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

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

Issue 9706017: Remove Ordinals Setters and Getters from ExtensionService (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 9 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/extension_sorting.cc
diff --git a/chrome/browser/extensions/extension_sorting.cc b/chrome/browser/extensions/extension_sorting.cc
index c306ca3e26a05ad990c2655d018f2240c8599614..8ba3997bdb4949cafb593a16a6e230a838ef0009 100644
--- a/chrome/browser/extensions/extension_sorting.cc
+++ b/chrome/browser/extensions/extension_sorting.cc
@@ -28,12 +28,18 @@ const char kPrefPageOrdinal[] = "page_ordinal";
ExtensionSorting::ExtensionSorting(ExtensionScopedPrefs* extension_scoped_prefs,
PrefService* pref_service)
: extension_scoped_prefs_(extension_scoped_prefs),
- pref_service_(pref_service) {
+ pref_service_(pref_service),
+ extension_service_(NULL) {
}
ExtensionSorting::~ExtensionSorting() {
}
+void ExtensionSorting::SetExtensionService(
+ ExtensionService* extension_service) {
+ extension_service_ = extension_service;
+}
+
void ExtensionSorting::Initialize(
const ExtensionPrefs::ExtensionIdSet& extension_ids) {
InitializePageOrdinalMap(extension_ids);
@@ -277,6 +283,15 @@ void ExtensionSorting::SetAppLaunchOrdinal(
extension_id,
kPrefAppLaunchOrdinal,
new_value);
+
+ if (extension_service_) {
+ const Extension* ext =
+ extension_service_->GetInstalledExtension(extension_id);
+ DCHECK(!ext || ext->is_app());
Aaron Boodman 2012/03/14 18:54:28 The extension system prefers CHECK to DCHECK.
csharp 2012/03/15 17:21:19 Done.
+
+ if (ext)
Aaron Boodman 2012/03/14 18:54:28 Move the DCHECK inside this branch and make it jus
csharp 2012/03/15 17:21:19 Done.
+ extension_service_->SyncExtensionChangeIfNeeded(*ext);
+ }
}
StringOrdinal ExtensionSorting::CreateFirstAppLaunchOrdinal(
@@ -344,7 +359,7 @@ StringOrdinal ExtensionSorting::GetPageOrdinal(const std::string& extension_id)
}
void ExtensionSorting::SetPageOrdinal(const std::string& extension_id,
- const StringOrdinal& new_page_ordinal) {
+ const StringOrdinal& new_page_ordinal) {
// No work is required if the old and new values are the same.
if (new_page_ordinal.EqualOrBothInvalid(GetPageOrdinal(extension_id)))
return;
@@ -362,6 +377,15 @@ void ExtensionSorting::SetPageOrdinal(const std::string& extension_id,
extension_id,
kPrefPageOrdinal,
new_value);
+
+ if (extension_service_) {
+ const Extension* ext =
+ extension_service_->GetInstalledExtension(extension_id);
+ DCHECK(!ext || ext->is_app());
+
+ if (ext)
+ extension_service_->SyncExtensionChangeIfNeeded(*ext);
+ }
}
void ExtensionSorting::ClearOrdinals(const std::string& extension_id) {

Powered by Google App Engine
This is Rietveld 408576698