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

Issue 836673 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Feature


Show other hotlists

Hotlists containing this issue:
Chromium-bugs-related-to-Crostini


Sign in to add a comment

Show spinner on app icon while Linux VM/container are starting

Project Member Reported by tbuck...@chromium.org, Apr 25 2018

Issue description

If the user opens a Linux app via the Launcher, the VM may need to be started. We should Show the app icon (eg. Terminal, Android Studio, VS Code, etc) in the Shelf with a spinner over it while the VM is started, similar to what we do with ARC++.

Assigning to nverne@ because it came up in discussion around opening the Terminal after cold boot, though it may also fit into the launcher/shelf work that timzheng and timloh are working on.
 
Cc: benwells@chromium.org nverne@chromium.org
Owner: rjwright@chromium.org
Cc: -timloh@chromium.org rjwright@chromium.org
Owner: timloh@chromium.org
Components: OS>Systems>Containers
Components: OS>Systems>Containers
Labels: Hotlist-Crostini-UI

Comment 6 by timloh@chromium.org, May 11 2018

Status: Started (was: Assigned)
Working on this now.
Project Member

Comment 7 by bugdroid1@chromium.org, May 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5544a335de5377a049ef3f6e68e7e48319aae001

commit 5544a335de5377a049ef3f6e68e7e48319aae001
Author: Timothy Loh <timloh@chromium.org>
Date: Fri May 18 03:31:06 2018

Refactor ArcAppDeferredLauncherController to ShelfSpinnerController

This patch refactors the classes ArcAppDeferredLauncherController and
ArcAppDeferredLauncherItemController, used to display a spinner on the
shelf while ARC initializes, into something that can also be used by
Crostini. In particular, we rename these to ShelfSpinnerController and
ShelfSpinnerItemController, and move the ARC-specific logic that was in
the ArcAppDeferredLauncherController into a new subclass of the item
controller, ArcShelfSpinnerItemController.

Bug:  836673 
Change-Id: Ibe63f9b945e82eb9ac0dcee7c43d2219b2b4fee3
Reviewed-on: https://chromium-review.googlesource.com/1055133
Commit-Queue: Timothy Loh <timloh@chromium.org>
Reviewed-by: Yury Khmel <khmel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559785}
[modify] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/app_list/arc/arc_app_utils.cc
[delete] https://crrev.com/d7526dde03ed191e5810f378190c4f549ed0b688/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
[delete] https://crrev.com/d7526dde03ed191e5810f378190c4f549ed0b688/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h
[delete] https://crrev.com/d7526dde03ed191e5810f378190c4f549ed0b688/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.cc
[delete] https://crrev.com/d7526dde03ed191e5810f378190c4f549ed0b688/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_item_controller.h
[modify] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc
[add] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/arc_shelf_spinner_item_controller.cc
[add] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/arc_shelf_spinner_item_controller.h
[modify] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
[modify] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h
[modify] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc
[add] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/shelf_spinner_controller.cc
[add] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/shelf_spinner_controller.h
[add] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/shelf_spinner_item_controller.cc
[add] https://crrev.com/5544a335de5377a049ef3f6e68e7e48319aae001/chrome/browser/ui/ash/launcher/shelf_spinner_item_controller.h

Comment 8 by vapier@chromium.org, May 23 2018

Labels: -Restrict-View-Google
Project Member

Comment 9 by bugdroid1@chromium.org, May 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/71a7cf62c4d286a1b970d96206e14aafd83e2097

commit 71a7cf62c4d286a1b970d96206e14aafd83e2097
Author: Timothy Loh <timloh@chromium.org>
Date: Wed May 30 06:30:34 2018

Restructure crostini_util launching code in prep for spinner

Bug:  836673 
Change-Id: Ida87bc6a5aa1366e9ecbeee30f61489c44c22178
Reviewed-on: https://chromium-review.googlesource.com/1075831
Commit-Queue: Timothy Loh <timloh@chromium.org>
Reviewed-by: Nicholas Verne <nverne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562754}
[modify] https://crrev.com/71a7cf62c4d286a1b970d96206e14aafd83e2097/chrome/browser/chromeos/crostini/crostini_manager.h
[modify] https://crrev.com/71a7cf62c4d286a1b970d96206e14aafd83e2097/chrome/browser/chromeos/crostini/crostini_util.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3246ed74abd56fcdcc1e07db0e451d990951c73

commit a3246ed74abd56fcdcc1e07db0e451d990951c73
Author: Timothy Loh <timloh@chromium.org>
Date: Tue Jun 05 00:07:21 2018

Make ShelfSpinnerController observe ShelfItemDelegateChanged

For Crostini apps, we'd like to replace the ShelfSpinnerItemController
with a controller for Crostini apps, instead of first closing the shelf
item and then re-opening it. This allows us to avoid having a shelf
item appear and then immediately disappear when the VM is already
running and launching an app which launches quickly.

This CL makes the ShelfSpinnerItemController a ShelfModelObserver so we
can observe ShelfItemDelegateChanged and update the shelf icon one more
time so it doesn't get stuck with the last state of the spinner.

Bug:  836673 
Change-Id: Id6c0aa2055e587d6462fabb3432f7c9f5d2ee8e7
Reviewed-on: https://chromium-review.googlesource.com/1065552
Commit-Queue: Timothy Loh <timloh@chromium.org>
Reviewed-by: Yury Khmel <khmel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564305}
[modify] https://crrev.com/a3246ed74abd56fcdcc1e07db0e451d990951c73/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
[modify] https://crrev.com/a3246ed74abd56fcdcc1e07db0e451d990951c73/chrome/browser/ui/ash/launcher/shelf_spinner_controller.cc
[modify] https://crrev.com/a3246ed74abd56fcdcc1e07db0e451d990951c73/chrome/browser/ui/ash/launcher/shelf_spinner_controller.h
[modify] https://crrev.com/a3246ed74abd56fcdcc1e07db0e451d990951c73/chrome/browser/ui/ash/launcher/shelf_spinner_item_controller.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fd29c4c8110fb3d18a9809f13dd5a4c080c06b03

commit fd29c4c8110fb3d18a9809f13dd5a4c080c06b03
Author: Timothy Loh <timloh@chromium.org>
Date: Tue Jun 05 01:03:58 2018

Show a spinner in the shelf when opening Crostini apps

As it may take a several seconds to spin up the Crostini VM, we should
show a spinner so the user has some indication something is going on.
We also remove the spinner if the app fails to launch for some reason.

Bug:  836673 
Change-Id: I8f8c15af201abefe5a1717c106842740a2794b09
Reviewed-on: https://chromium-review.googlesource.com/1055170
Commit-Queue: Timothy Loh <timloh@chromium.org>
Reviewed-by: Yury Khmel <khmel@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564321}
[modify] https://crrev.com/fd29c4c8110fb3d18a9809f13dd5a4c080c06b03/chrome/browser/chromeos/crostini/crostini_util.cc
[modify] https://crrev.com/fd29c4c8110fb3d18a9809f13dd5a4c080c06b03/chrome/browser/ui/app_list/crostini/crostini_app_item.cc

Status: Fixed (was: Started)
Done (modulo test coverage, will be done over at bug 842552 >_<)

Sign in to add a comment