New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 610879 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 611482
Owner:
inactive
Closed: May 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

App List: Consider putting app list into it's own container

Project Member Reported by mfomitchev@chromium.org, May 10 2016

Issue description

Currently app list is created in the default container (USER_WINDOWS). It might be better to create it in a separate container, like it's done in classic Ash, although it's not clear to me if this is necessary.
 
We can create a new method: AppListViewDelegate::OnBeforeBubbleWidgetInit() and then make app_list::AppListView::OnBeforeBubbleWidgetInit call into it. Then inside AppListViewDelegate::OnBeforeBubbleWidgetInit() we could have "if (chrome::IsRunningInMash()) { // configure container id }". Or have a separate AppListViewDelegateMus class which would do that.

Also see  issue 610909  for how the container could be configured through InitParams (rather than by creating mus::Window/NativeWidgetMus manually).  

Comment 2 by msw@chromium.org, May 11 2016

Should the app list window interact with its shelf item (show running state, etc.) just like other mash shelf items? They'd share an app_id via the pinned ShelfItem and UserWindow, and then it'd make sense for the app list to reside in the USER_WINDOWS container.

https://code.google.com/p/chromium/codesearch#chromium/src/mash/shelf/public/interfaces/shelf.mojom&l=64
https://code.google.com/p/chromium/codesearch#chromium/src/mash/wm/public/interfaces/user_window_controller.mojom&l=12
I think we'd want the same behavior as what we have on classic CrOS devices - a dedicated launcher button, which would get highlighted whenever the app list is shown. So visually it should look different from regular apps, but logically it's pretty similar. 

In classic ash there is some ugly coupling to achieve this: https://code.google.com/p/chromium/codesearch#chromium/src/ash/app_list/app_list_presenter_delegate.cc&l=210

BTW, classic CrOS also has auto-hide setting for the shelf (https://code.google.com/p/chromium/codesearch#chromium/src/ash/app_list/app_list_presenter_delegate.cc&l=210), and when in this state, showing the app list auto-shows the shelf.

Comment 4 by msw@chromium.org, May 12 2016

The ash-side ShelfDelegateMus::OnUserWindowAdded could perform those extra actions (updating the icon and tweaking auto-hide) when |user_window->window_app_id| matches a known app-list id constant. Perhaps there's complexity I'm missing, but it seems reasonable (and better than adding more mojo interface complexity?).
SGTM. I will close this bug and create a new one for app list to set some constant  app id, and for ShelfDelegateMus::OnUserWindowAdded to check for that app id and update the state of the launcher icon, etc.
Mergedinto: 611482
Status: Duplicate (was: Available)

Sign in to add a comment