Commit 0563b185 authored by bmcquade's avatar bmcquade Committed by Commit bot

Factor PageLoadTracker into its own header and impl files.

metrics_web_contents_observer.h/.cc have become quite complex.
This change factors the PageLoadTracker code into its own files,
in order to make each individual file more manageable.

Review-Url: https://codereview.chromium.org/2435233002
Cr-Commit-Position: refs/heads/master@{#427216}
parent 8104e686
......@@ -717,12 +717,15 @@ split_static_library("browser") {
"page_load_metrics/observers/previews_page_load_metrics_observer.h",
"page_load_metrics/observers/service_worker_page_load_metrics_observer.cc",
"page_load_metrics/observers/service_worker_page_load_metrics_observer.h",
"page_load_metrics/page_load_metrics_embedder_interface.h",
"page_load_metrics/page_load_metrics_initialize.cc",
"page_load_metrics/page_load_metrics_initialize.h",
"page_load_metrics/page_load_metrics_observer.cc",
"page_load_metrics/page_load_metrics_observer.h",
"page_load_metrics/page_load_metrics_util.cc",
"page_load_metrics/page_load_metrics_util.h",
"page_load_metrics/page_load_tracker.cc",
"page_load_metrics/page_load_tracker.h",
"password_manager/chrome_password_manager_client.cc",
"password_manager/chrome_password_manager_client.h",
"password_manager/password_manager_setting_migrator_service_factory.cc",
......
......@@ -6,7 +6,7 @@
#include <string>
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/web_contents.h"
#include "net/http/http_response_headers.h"
......
......@@ -13,7 +13,9 @@
#include "base/test/histogram_tester.h"
#include "base/time/time.h"
#include "chrome/browser/page_load_metrics/metrics_navigation_throttle.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_tracker.h"
#include "chrome/common/page_load_metrics/page_load_metrics_messages.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "content/public/browser/navigation_handle.h"
......
......@@ -4,7 +4,6 @@
#include "chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
#include "chrome/browser/prerender/prerender_manager.h"
#include "chrome/browser/prerender/prerender_manager_factory.h"
#include "content/public/browser/navigation_handle.h"
......
......@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h"
#include "chrome/common/page_load_metrics/page_load_metrics_messages.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/web_contents.h"
......
......@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "base/test/histogram_tester.h"
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
#include "chrome/browser/page_load_metrics/page_load_tracker.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "content/public/test/web_contents_tester.h"
#include "third_party/WebKit/public/web/WebInputEvent.h"
......
......@@ -11,6 +11,7 @@
#include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_tracker.h"
#include "chrome/browser/prerender/prerender_histograms.h"
#include "chrome/browser/prerender/prerender_origin.h"
#include "chrome/browser/profiles/profile.h"
......
// 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.
#ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_EMBEDDER_INTERFACE_H_
#define CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_EMBEDDER_INTERFACE_H_
class GURL;
namespace content {
class WebContents;
} // namespace content
namespace page_load_metrics {
class PageLoadTracker;
// This class serves as a functional interface to various chrome// features.
// Impl version is defined in chrome/browser/page_load_metrics.
class PageLoadMetricsEmbedderInterface {
public:
virtual ~PageLoadMetricsEmbedderInterface() {}
virtual bool IsPrerendering(content::WebContents* web_contents) = 0;
virtual bool IsNewTabPageUrl(const GURL& url) = 0;
virtual void RegisterObservers(PageLoadTracker* metrics) = 0;
};
} // namespace page_load_metrics
#endif // CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_EMBEDDER_INTERFACE_H_
......@@ -21,6 +21,8 @@
#include "chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h"
#include "chrome/browser/page_load_metrics/page_load_tracker.h"
#include "chrome/browser/prerender/prerender_contents.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search/search.h"
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment