Index: chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.cc |
diff --git a/chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.cc b/chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.cc |
index ecd419edb812710c798ac850e62d0f3d66103df6..d730ef781b0ab25d835958acebf02bd5ba5a42fe 100644 |
--- a/chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.cc |
+++ b/chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.cc |
@@ -6,7 +6,10 @@ |
#include "ash/shelf/shelf_util.h" |
#include "ash/wm/window_util.h" |
#include "base/bind.h" |
+#include "chrome/browser/chromeos/arc/arc_auth_service.h" |
+#include "chrome/browser/chromeos/arc/arc_support_host.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/ui/app_list/arc/arc_app_utils.h" |
#include "chrome/browser/ui/ash/launcher/arc_app_window_launcher_item_controller.h" |
#include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" |
#include "components/arc/arc_bridge_service.h" |
@@ -244,10 +247,14 @@ void ArcAppWindowLauncherController::OnTaskCreated( |
DCHECK_EQ(controller->app_id(), app_id); |
shelf_id = controller->shelf_id(); |
} else { |
- controller = new ArcAppWindowLauncherItemController(app_id, owner()); |
- shelf_id = owner()->GetShelfIDForAppID(app_id); |
+ const std::string shelf_app_id = |
+ app_id == arc::kPlayStoreAppId ? ArcSupportHost::kHostAppId : app_id; |
+ controller = |
+ new ArcAppWindowLauncherItemController(shelf_app_id, app_id, owner()); |
+ shelf_id = owner()->GetShelfIDForAppID(shelf_app_id); |
if (shelf_id == 0) { |
- shelf_id = owner()->CreateAppLauncherItem(controller, app_id, |
+ // Map Play Store shelf icon to Arc Support host, to share one entry. |
+ shelf_id = owner()->CreateAppLauncherItem(controller, shelf_app_id, |
ash::STATUS_RUNNING); |
} else { |
owner()->SetItemController(shelf_id, controller); |