| Index: chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc b/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
|
| index 2bc17384b35a1956bee1997c9ae3377ea1f28f4a..c56c50ee93e27fd2dce29d2e332b22f19604dc3b 100644
|
| --- a/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
|
| +++ b/chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.cc
|
| @@ -129,9 +129,11 @@ void ArcAppDeferredLauncherController::OnAppReadyChanged(
|
| if (it == app_controller_map_.end())
|
| return;
|
|
|
| + // Preserve the event flags before |it| is invalidated in Close().
|
| + int event_flags = it->second->event_flags();
|
| Close(app_id);
|
|
|
| - arc::LaunchApp(observed_profile_, app_id);
|
| + arc::LaunchApp(observed_profile_, app_id, event_flags);
|
| }
|
|
|
| void ArcAppDeferredLauncherController::OnAppRemoved(const std::string& app_id) {
|
| @@ -179,7 +181,8 @@ void ArcAppDeferredLauncherController::RegisterNextUpdate() {
|
| }
|
|
|
| void ArcAppDeferredLauncherController::RegisterDeferredLaunch(
|
| - const std::string& app_id) {
|
| + const std::string& app_id,
|
| + int event_flags) {
|
| const arc::ArcSessionManager* arc_session_manager =
|
| arc::ArcSessionManager::Get();
|
| DCHECK(arc_session_manager);
|
| @@ -203,8 +206,8 @@ void ArcAppDeferredLauncherController::RegisterDeferredLaunch(
|
| }
|
|
|
| ArcAppDeferredLauncherItemController* controller =
|
| - new ArcAppDeferredLauncherItemController(shelf_app_id, owner_,
|
| - weak_ptr_factory_.GetWeakPtr());
|
| + new ArcAppDeferredLauncherItemController(
|
| + shelf_app_id, owner_, event_flags, weak_ptr_factory_.GetWeakPtr());
|
| if (shelf_id == 0) {
|
| owner_->CreateAppLauncherItem(controller, shelf_app_id,
|
| ash::STATUS_RUNNING);
|
|
|