diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-01-04 14:17:57 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-01-05 10:05:06 +0000 |
commit | 39d357e3248f80abea0159765ff39554affb40db (patch) | |
tree | aba0e6bfb76de0244bba0f5fdbd64b830dd6e621 /chromium/components/arc/metrics/arc_metrics_service.cc | |
parent | 87778abf5a1f89266f37d1321b92a21851d8244d (diff) | |
download | qtwebengine-chromium-39d357e3248f80abea0159765ff39554affb40db.tar.gz |
BASELINE: Update Chromium to 55.0.2883.105
And updates ninja to 1.7.2
Change-Id: I20d43c737f82764d857ada9a55586901b18b9243
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/components/arc/metrics/arc_metrics_service.cc')
-rw-r--r-- | chromium/components/arc/metrics/arc_metrics_service.cc | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/chromium/components/arc/metrics/arc_metrics_service.cc b/chromium/components/arc/metrics/arc_metrics_service.cc index 9aca98bd084..bb4cf9d8d40 100644 --- a/chromium/components/arc/metrics/arc_metrics_service.cc +++ b/chromium/components/arc/metrics/arc_metrics_service.cc @@ -5,6 +5,7 @@ #include "components/arc/metrics/arc_metrics_service.h" #include <string> +#include <utility> #include "base/logging.h" #include "base/metrics/histogram_macros.h" @@ -27,10 +28,10 @@ ArcMetricsService::ArcMetricsService(ArcBridgeService* bridge_service) : ArcService(bridge_service), binding_(this), process_observer_(this), + oom_kills_monitor_handle_(OomKillsMonitor::StartMonitoring()), weak_ptr_factory_(this) { arc_bridge_service()->metrics()->AddObserver(this); arc_bridge_service()->process()->AddObserver(&process_observer_); - oom_kills_monitor_.Start(); } ArcMetricsService::~ArcMetricsService() { @@ -75,12 +76,10 @@ void ArcMetricsService::OnProcessInstanceClosed() { void ArcMetricsService::RequestProcessList() { mojom::ProcessInstance* process_instance = - arc_bridge_service()->process()->instance(); - if (!process_instance) { - LOG(ERROR) << "No process instance found before RequestProcessList"; + arc_bridge_service()->process()->GetInstanceForMethod( + "RequestProcessList"); + if (!process_instance) return; - } - VLOG(2) << "RequestProcessList"; process_instance->RequestProcessList(base::Bind( &ArcMetricsService::ParseProcessList, weak_ptr_factory_.GetWeakPtr())); @@ -120,10 +119,10 @@ void ArcMetricsService::OnArcStartTimeRetrieved( LOG(ERROR) << "Failed to retrieve ARC start timeticks."; return; } - if (!arc_bridge_service()->metrics()->instance()) { - LOG(ERROR) << "ARC metrics instance went away while retrieving start time."; + auto* instance = + arc_bridge_service()->metrics()->GetInstanceForMethod("Init"); + if (!instance) return; - } // The binding of host interface is deferred until the ARC start time is // retrieved here because it prevents race condition of the ARC start @@ -131,7 +130,7 @@ void ArcMetricsService::OnArcStartTimeRetrieved( if (!binding_.is_bound()) { mojom::MetricsHostPtr host_ptr; binding_.Bind(mojo::GetProxy(&host_ptr)); - arc_bridge_service()->metrics()->instance()->Init(std::move(host_ptr)); + instance->Init(std::move(host_ptr)); } arc_start_time_ = arc_start_time; VLOG(2) << "ARC start @" << arc_start_time_; |