Index: chrome/browser/page_load_metrics/metrics_web_contents_observer.h |
diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer.h b/chrome/browser/page_load_metrics/metrics_web_contents_observer.h |
index 16dece9bdfbadf3896b21917afe88a134fd20417..f1e5db3ee1d7ae6b0abe01af410b865e9b30ef07 100644 |
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.h |
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.h |
@@ -139,6 +139,8 @@ class PageLoadTracker { |
void OnInputEvent(const blink::WebInputEvent& event); |
+ void FlushMetricsOnAppEnterBackground(); |
+ |
void NotifyClientRedirectTo(const PageLoadTracker& destination); |
// Returns true if the timing was successfully updated. |
@@ -216,6 +218,10 @@ class PageLoadTracker { |
// metrics in DidFinishNavigation. |
bool did_stop_tracking_; |
+ // Whether the application went into the background when this PageLoadTracker |
+ // was active. This is a temporary boolean for UMA tracking. |
+ bool app_entered_background_; |
+ |
// The navigation start in TimeTicks, not the wall time reported by Blink. |
const base::TimeTicks navigation_start_; |
@@ -281,6 +287,12 @@ class MetricsWebContentsObserver |
std::unique_ptr<PageLoadMetricsEmbedderInterface> embedder_interface); |
~MetricsWebContentsObserver() override; |
+ // Returns all currently active MetricsWebContentsObservers. Callers should |
+ // not hold on to the returned observers beyond the scope of the current |
+ // function, as the MetricsWebContentsObservers may be destroyed as their |
+ // associated WebContents are destroyed. |
+ static std::vector<MetricsWebContentsObserver*> GetAllObservers(); |
+ |
// content::WebContentsObserver implementation: |
bool OnMessageReceived(const IPC::Message& message, |
content::RenderFrameHost* render_frame_host) override; |
@@ -298,6 +310,8 @@ class MetricsWebContentsObserver |
void RenderViewHostChanged(content::RenderViewHost* old_host, |
content::RenderViewHost* new_host) override; |
+ void FlushMetricsOnAppEnterBackground(); |
Charlie Harrison
2016/07/28 14:45:28
Do we need to include "flush metrics" in the name?
Bryan McQuade
2016/07/28 16:26:11
Yeah - I debated this. Technically, this method is
Charlie Harrison
2016/07/28 16:38:04
SGTM.
|
+ |
// This getter function is required for testing. |
const PageLoadExtraInfo GetPageLoadExtraInfoForCommittedLoad(); |