New issue
Advanced search Search tips

Issue 905802 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 12
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

weird shelf icon for crostini apps with Mash

Project Member Reported by mukai@chromium.org, Nov 15

Issue description

- Enable Linux apps
- go to chrome://flags, enable SingleProcessMash
- logout / login
- open the crostini terminal
- install gedit (sudo apt install gedit)
- run gedit command from the terminal

observations
- terminal icon keeps showing the waiting circle even after the terminal is ready
- gedit creates two icons in the shelf; one for the app icon, the other is for something blank
- closing of gedit removes the app icon, but the blank one remains
- opening gedit from the app-list is fine

I guess some status is out-of-sync between Ash and Crostini?
 
Screenshot 2018-11-15 at 12.42.02 PM.png
130 KB View Download
Labels: -Pri-3 Pri-2
Status: Started (was: Assigned)
The spinners of the terminal: it seems crostini_app_window_controller watches windows on Shell::Get()->aura_env(). This would be simply wrong. I guess that's related to issue 887156
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 12

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

commit 3c715241fd49dabde16e254c3a5ede6f1a292939
Author: Jun Mukai <mukai@chromium.org>
Date: Wed Dec 12 19:00:18 2018

fix crostini app icon weirdness in SingleProcessMash

This CL made a short-term fix for crostini app icons when
SingleProcessMash is enabled. The observed problems are:
- the terminal app icon has the spinner (rotating cycle) on launch,
  but the spinner doesn't disappear when the terminal is ready
- other app icons (like gedit) create two app icons, one is the
  expected one and the other is the blank icon

The terminal app is a chrome app (hosted by browser), however
CrostiniAppWindowShelfController observes aura::Env in ash::Shell,
thus it will fail to obtain Browser object. It needs to aura::Env
in the browser.

The blank icon is created by ash::ShelfWindowWatcher; to prevent
this, kShelfItemTypeKey property needs to be set as
ArcAppWindowLauncherController does.

This is kinda hacky and does not work with multi-process Mash.
We will eventually need a major refactoring around the shelf and
the launcher.

Bug:  905802 
Test: manually
Change-Id: If941bcc100160d3b5ff6e590032153000efc674a
Reviewed-on: https://chromium-review.googlesource.com/c/1371144
Commit-Queue: Jun Mukai <mukai@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615983}
[modify] https://crrev.com/3c715241fd49dabde16e254c3a5ede6f1a292939/chrome/browser/ui/ash/launcher/crostini_app_window_shelf_controller.cc

Status: Fixed (was: Started)

Sign in to add a comment