| Index: chrome/browser/ui/app_list/chrome_app_list_item.cc
|
| diff --git a/chrome/browser/ui/app_list/chrome_app_list_item.cc b/chrome/browser/ui/app_list/chrome_app_list_item.cc
|
| index 934638ff7118a014ef787076e99404cc43c8c956..ca281a192f3bb424622a8c43bf4c88880888f7ff 100644
|
| --- a/chrome/browser/ui/app_list/chrome_app_list_item.cc
|
| +++ b/chrome/browser/ui/app_list/chrome_app_list_item.cc
|
| @@ -62,10 +62,16 @@ void ChromeAppListItem::UpdateFromSync(
|
| void ChromeAppListItem::SetDefaultPositionIfApplicable() {
|
| syncer::StringOrdinal page_ordinal;
|
| syncer::StringOrdinal launch_ordinal;
|
| - if (GetAppSorting()->GetDefaultOrdinals(id(), &page_ordinal,
|
| - &launch_ordinal) &&
|
| - page_ordinal.IsValid() && launch_ordinal.IsValid()) {
|
| - set_position(syncer::StringOrdinal(page_ordinal.ToInternalValue() +
|
| - launch_ordinal.ToInternalValue()));
|
| + extensions::AppSorting* app_sorting = GetAppSorting();
|
| + if (!app_sorting->GetDefaultOrdinals(id(), &page_ordinal,
|
| + &launch_ordinal) ||
|
| + !page_ordinal.IsValid() || !launch_ordinal.IsValid()) {
|
| + app_sorting->EnsureValidOrdinals(id(), syncer::StringOrdinal());
|
| + page_ordinal = app_sorting->GetPageOrdinal(id());
|
| + launch_ordinal = app_sorting->GetAppLaunchOrdinal(id());
|
| }
|
| + DCHECK(page_ordinal.IsValid());
|
| + DCHECK(launch_ordinal.IsValid());
|
| + set_position(syncer::StringOrdinal(page_ordinal.ToInternalValue() +
|
| + launch_ordinal.ToInternalValue()));
|
| }
|
|
|