| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 8448b6addd044feb3c267f1608d706d6fe35c1dc..daf0e5f4801429dd95ce75fabefb8c13ae3c469c 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -408,6 +408,7 @@ ExtensionService::ExtensionService(Profile* profile,
|
| // Set this as the ExtensionService for extension sorting to ensure it
|
| // cause syncs if required.
|
| extension_prefs_->extension_sorting()->SetExtensionService(this);
|
| + extension_prefs_->app_list_extension_sorting()->SetExtensionService(this);
|
|
|
| is_first_run_ = !extension_prefs_->SetAlertSystemFirstRun();
|
|
|
| @@ -1304,6 +1305,7 @@ syncer::SyncError ExtensionService::ProcessSyncChanges(
|
| }
|
|
|
| extension_prefs()->extension_sorting()->FixNTPOrdinalCollisions();
|
| + extension_prefs()->app_list_extension_sorting()->FixSyncCollisions();
|
|
|
| return syncer::SyncError();
|
| }
|
| @@ -1323,7 +1325,9 @@ extensions::AppSyncData ExtensionService::GetAppSyncData(
|
| IsIncognitoEnabled(extension.id()),
|
| extension_prefs_->extension_sorting()->GetAppLaunchOrdinal(
|
| extension.id()),
|
| - extension_prefs_->extension_sorting()->GetPageOrdinal(extension.id()));
|
| + extension_prefs_->extension_sorting()->GetPageOrdinal(extension.id()),
|
| + extension_prefs_->app_list_extension_sorting()->
|
| + GetAppListOrdinalFromPrefs(extension.id()));
|
| }
|
|
|
| std::vector<extensions::ExtensionSyncData>
|
| @@ -1389,6 +1393,10 @@ bool ExtensionService::ProcessAppSyncData(
|
| id,
|
| app_sync_data.page_ordinal());
|
| }
|
| + if (app_sync_data.app_list_ordinal().IsValid()) {
|
| + extension_prefs_->app_list_extension_sorting()->
|
| + UpdateAppListOrdinalFromSync(id, app_sync_data.app_list_ordinal());
|
| + }
|
|
|
| if (!ProcessExtensionSyncDataHelper(app_sync_data.extension_sync_data(),
|
| syncer::APPS)) {
|
| @@ -2035,6 +2043,10 @@ void ExtensionService::AddExtension(const Extension* extension) {
|
| }
|
| extension_prefs_->extension_sorting()->EnsureValidOrdinals(
|
| extension->id(), syncer::StringOrdinal());
|
| + AppListExtensionSorting* ordering =
|
| + extension_prefs_->app_list_extension_sorting();
|
| + if (!ordering->Contains(extension->id()))
|
| + ordering->InsertAtBack(extension->id());
|
| }
|
|
|
| extensions_.Insert(extension);
|
|
|