Chromium Code Reviews| Index: chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc |
| diff --git a/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc b/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc |
| index 458e823042e212fdafd7e11ee45f463e70d0bcb8..45a386afebf482fca8b3bf2783230bba20ff32a7 100644 |
| --- a/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc |
| +++ b/chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.cc |
| @@ -4,8 +4,11 @@ |
| #include "chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.h" |
| +#include "base/bind.h" |
| #include "base/logging.h" |
| #include "chrome/browser/chromeos/arc/boot_phase_monitor/arc_instance_throttle.h" |
| +#include "chrome/browser/ui/ash/multi_user/multi_user_util.h" |
| +#include "chromeos/cryptohome/cryptohome_parameters.h" |
| #include "chromeos/dbus/dbus_thread_manager.h" |
| #include "chromeos/dbus/session_manager_client.h" |
| #include "components/arc/arc_bridge_service.h" |
| @@ -13,8 +16,12 @@ |
| namespace arc { |
| ArcBootPhaseMonitorBridge::ArcBootPhaseMonitorBridge( |
| - ArcBridgeService* bridge_service) |
| - : ArcService(bridge_service), binding_(this) { |
| + ArcBridgeService* bridge_service, |
| + Profile* profile) |
| + : ArcService(bridge_service), |
| + profile(profile), |
| + binding_(this), |
| + weak_ptr_factory_(this) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| arc_bridge_service()->boot_phase_monitor()->AddObserver(this); |
| } |
| @@ -42,11 +49,19 @@ void ArcBootPhaseMonitorBridge::OnBootCompleted() { |
| chromeos::SessionManagerClient* session_manager_client = |
| chromeos::DBusThreadManager::Get()->GetSessionManagerClient(); |
| - session_manager_client->EmitArcBooted(); |
| + session_manager_client->EmitArcBooted( |
| + cryptohome::Identification( |
| + multi_user_util::GetAccountIdFromProfile(profile)), |
| + base::Bind(&ArcBootPhaseMonitorBridge::OnEmitArcBooted, |
| + weak_ptr_factory_.GetWeakPtr())); |
| // Start monitoring window activation changes to prioritize/throttle the |
| // container when needed. |
| throttle_ = base::MakeUnique<ArcInstanceThrottle>(); |
| } |
| +void ArcBootPhaseMonitorBridge::OnEmitArcBooted(bool success) { |
| + LOG_IF(ERROR, !success) << "Failed to emit arc booted signal."; |
|
hidehiko
2017/02/15 18:48:09
Optional: how about VLOG on success?
Luis Héctor Chávez
2017/02/15 19:02:11
This does not touch any members, so please remove
xzhou
2017/02/16 18:34:49
Done.
xzhou
2017/02/16 18:34:49
Moved to Line 18. Done
xzhou
2017/02/16 18:34:49
Done.
xzhou
2017/02/16 18:34:49
Moved to Line 18. Done
|
| +} |
| + |
| } // namespace arc |