Index: chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc |
diff --git a/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc b/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc |
index eba8e08d10b8dbf54c1b839830cd7c97f2279284..1e0c9983b74a3ca5af0a77bdfe9d5ee09b6dc198 100644 |
--- a/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc |
+++ b/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc |
@@ -85,6 +85,12 @@ void ExtensionAppWindowLauncherController::OnAppWindowIconChanged( |
return; |
ExtensionAppWindowLauncherItemController* controller = iter->second; |
controller->set_image_set_by_controller(true); |
+ // Set window icon for showInShelf=true window. |
+ if (app_window->show_in_shelf() && !app_window->window_icon().IsEmpty()) { |
+ owner()->SetLauncherItemImage(controller->shelf_id(), |
+ app_window->window_icon().AsImageSkia()); |
+ return; |
stevenjb
2016/08/04 21:00:47
nit: I would use an else here instead of an early
Andra Paraschiv
2016/08/08 13:34:12
Done.
|
+ } |
owner()->SetLauncherItemImage(controller->shelf_id(), |
app_window->app_icon().AsImageSkia()); |
} |
@@ -180,9 +186,15 @@ void ExtensionAppWindowLauncherController::RegisterApp(AppWindow* app_window) { |
if (shelf_id == 0) { |
shelf_id = owner()->CreateAppLauncherItem(controller, app_id, status); |
- // Restore any existing app icon and flag as set. |
const gfx::Image& app_icon = app_window->app_icon(); |
- if (!app_icon.IsEmpty()) { |
+ const gfx::Image& window_icon = app_window->window_icon(); |
+ // Restore any existing window icon for showInShelf=true window |
+ // and flag as set. |
+ if (app_window->show_in_shelf() && !window_icon.IsEmpty()) { |
+ owner()->SetLauncherItemImage(shelf_id, window_icon.AsImageSkia()); |
+ controller->set_image_set_by_controller(true); |
+ // Restore any existing app icon and flag as set. |
stevenjb
2016/08/04 21:00:47
This is confusing here. I would put both comments
Andra Paraschiv
2016/08/08 13:34:12
Done.
|
+ } else if (!app_icon.IsEmpty()) { |
owner()->SetLauncherItemImage(shelf_id, app_icon.AsImageSkia()); |
controller->set_image_set_by_controller(true); |
} |