| 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 a37d44cb1f3b0badd0b82f7ad7d573205b2d6a8d..502cf2106dea37f7016c65dd9848305bf003a514 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::ArcAuthService* auth_service = arc::ArcAuthService::Get();
|
| DCHECK(auth_service);
|
| DCHECK(auth_service->state() != arc::ArcAuthService::State::STOPPED);
|
| @@ -200,8 +203,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);
|
|
|