Index: chrome/browser/metrics/page_load_metrics_provider.cc |
diff --git a/chrome/browser/metrics/page_load_metrics_provider.cc b/chrome/browser/metrics/page_load_metrics_provider.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..771b6df0db2d4bb6208fda1e33f384db679eb7e3 |
--- /dev/null |
+++ b/chrome/browser/metrics/page_load_metrics_provider.cc |
@@ -0,0 +1,30 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/metrics/page_load_metrics_provider.h" |
+ |
+#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
+#include "chrome/browser/ui/android/tab_model/tab_model.h" |
+#include "chrome/browser/ui/android/tab_model/tab_model_list.h" |
+ |
+PageLoadMetricsProvider::PageLoadMetricsProvider() {} |
+ |
+PageLoadMetricsProvider::~PageLoadMetricsProvider() {} |
+ |
+void PageLoadMetricsProvider::OnAppEnterBackground() { |
+ for (TabModelList::const_iterator it = TabModelList::begin(); |
+ it != TabModelList::end(); ++it) { |
+ TabModel* model = *it; |
+ for (int tab_index = 0; tab_index < model->GetTabCount(); ++tab_index) { |
+ content::WebContents* web_contents = model->GetWebContentsAt(tab_index); |
+ if (!web_contents) |
+ continue; |
+ page_load_metrics::MetricsWebContentsObserver* observer = |
+ page_load_metrics::MetricsWebContentsObserver::FromWebContents( |
+ web_contents); |
+ if (observer) |
+ observer->FlushMetricsOnAppEnterBackground(); |
+ } |
+ } |
+} |