| Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
|
| index ed1936de7b4892dd438b246eb54fe695b1092236..6a5685baeec4e5f721031432e0f0bafc97e3ff1a 100644
|
| --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
|
| +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
|
| @@ -1091,7 +1091,8 @@
|
| // The app list launcher can get added to the shelf after we applied the
|
| // preferences. In that case the item might be at the wrong spot. As such we
|
| // call the function again.
|
| - if (model_->items()[index].type == ash::TYPE_APP_LIST)
|
| + if (model_->items()[index].type == ash::TYPE_APP_LIST &&
|
| + ash::switches::UseAlternateShelfLayout())
|
| UpdateAppLaunchersFromPref();
|
| }
|
|
|
| @@ -1104,7 +1105,8 @@
|
| // We remember the moved item position if it is either pinnable or
|
| // it is the app list with the alternate shelf layout.
|
| if ((HasItemController(item.id) && IsPinned(item.id)) ||
|
| - item.type == ash::TYPE_APP_LIST)
|
| + (ash::switches::UseAlternateShelfLayout() &&
|
| + item.type == ash::TYPE_APP_LIST))
|
| PersistPinnedState();
|
| }
|
|
|
| @@ -1867,17 +1869,18 @@
|
| }
|
|
|
| int ChromeLauncherController::FindInsertionPoint(bool is_app_list) {
|
| + bool alternate = ash::switches::UseAlternateShelfLayout();
|
| // Keeping this change small to backport to M33&32 (see crbug.com/329597).
|
| // TODO(skuhne): With the removal of the legacy shelf layout we should remove
|
| // the ability to move the app list item since this was never used. We should
|
| // instead ask the ShelfModel::ValidateInsertionIndex or similir for an index.
|
| - if (is_app_list)
|
| + if (is_app_list && alternate)
|
| return 0;
|
|
|
| for (int i = model_->item_count() - 1; i > 0; --i) {
|
| ash::ShelfItemType type = model_->items()[i].type;
|
| if (type == ash::TYPE_APP_SHORTCUT ||
|
| - type == ash::TYPE_APP_LIST ||
|
| + ((is_app_list || alternate) && type == ash::TYPE_APP_LIST) ||
|
| type == ash::TYPE_BROWSER_SHORTCUT ||
|
| type == ash::TYPE_WINDOWED_APP)
|
| return i;
|
| @@ -1966,8 +1969,12 @@
|
|
|
| // If not added yet, add the app list item either at the end or at the
|
| // beginning - depending on the shelf layout.
|
| - if (!app_list_icon_added)
|
| - pinned_apps.insert(pinned_apps.begin(), kAppShelfIdPlaceholder);
|
| + if (!app_list_icon_added) {
|
| + if (ash::switches::UseAlternateShelfLayout())
|
| + pinned_apps.insert(pinned_apps.begin(), kAppShelfIdPlaceholder);
|
| + else
|
| + pinned_apps.push_back(kAppShelfIdPlaceholder);
|
| + }
|
| return pinned_apps;
|
| }
|
|
|
|
|