1 open browser window
2 enter tablet mode (--ash-debug-shortcuts / Ctrl+Shift+Alt+T)
3 click app list shelf item once
4 window minimizes
5 click again
6 crash
The crash occurs in AppListControllerImpl::Back() because AppListShelfItemDelegate::ItemSelected() assumes there is an app list present in tablet mode, however this is not the case when there's no internal display, such as for Chromeos-on-Linux.
My best guess is that the tablet mode app list should be displayed on the primary display, which is guaranteed to exist, when there is no internal display. This also fixes the lack of an app list on Chromeos-on-Linux in tablet mode.
Also, in tablet mode, the ItemSelectedCallback isn't being run, which is problematic because scoped_root_window_for_new_windows_.reset() needs to happen before a new one is created. Tangentially, it seems like this is a problem for remote shelf items because a button could be pressed twice before the ItemSelectedCallback is (asynchronously) run.
In light of all that I have this change[1] up for review, but if it's not the right fix feel free to take over the bug.
[1] https://chromium-review.googlesource.com/c/chromium/src/+/1258610
Comment 1 by bugdroid1@chromium.org
, Oct 3