| Index: chrome/browser/extensions/extension_service.cc
|
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
|
| index 500e5b80fd08659e88ecde78193050ba3c16b45c..59dd11b55baaf9eb700f3f59cbe895b9683d5789 100644
|
| --- a/chrome/browser/extensions/extension_service.cc
|
| +++ b/chrome/browser/extensions/extension_service.cc
|
| @@ -431,6 +431,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();
|
|
|
| @@ -1377,6 +1378,7 @@ syncer::SyncError ExtensionService::ProcessSyncChanges(
|
| }
|
|
|
| extension_prefs()->extension_sorting()->FixNTPOrdinalCollisions();
|
| + extension_prefs()->app_list_extension_sorting()->FixSyncCollisions();
|
|
|
| return syncer::SyncError();
|
| }
|
| @@ -1396,7 +1398,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>
|
| @@ -1462,6 +1466,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)) {
|
| @@ -2135,6 +2143,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);
|
|
|