| Index: chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h
|
| diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h
|
| index 429bd90fd845e0ebc05f3e82dcc3453d9a539848..b00e965b12d9863a45ed2b8ca2997ee5e02204e0 100644
|
| --- a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h
|
| +++ b/chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h
|
| @@ -12,6 +12,13 @@
|
| namespace internal {
|
| // Exposed for tests.
|
| extern const char kHistogramFromGWSFirstTextPaint[];
|
| +extern const char kHistogramFromGWSAbortStopBeforePaint[];
|
| +extern const char kHistogramFromGWSAbortStopBeforeCommit[];
|
| +extern const char kHistogramFromGWSAbortCloseBeforePaint[];
|
| +extern const char kHistogramFromGWSAbortCloseBeforeCommit[];
|
| +extern const char kHistogramFromGWSAbortNewNavigationBeforePaint[];
|
| +extern const char kHistogramFromGWSAbortUnknownNavigationBeforeCommit[];
|
| +
|
| } // namespace internal
|
|
|
| // FromGWSPageLoadMetricsLogger is a peer class to
|
| @@ -25,9 +32,8 @@ class FromGWSPageLoadMetricsLogger {
|
| public:
|
| FromGWSPageLoadMetricsLogger() {}
|
|
|
| - void set_previously_committed_url(const GURL& url) {
|
| - previously_committed_url_ = url;
|
| - }
|
| + void SetPreviouslyCommittedUrl(const GURL& url);
|
| + void SetProvisionalUrl(const GURL& url);
|
|
|
| void set_navigation_initiated_via_link(bool navigation_initiated_via_link) {
|
| navigation_initiated_via_link_ = navigation_initiated_via_link;
|
| @@ -42,6 +48,7 @@ class FromGWSPageLoadMetricsLogger {
|
| static bool IsGoogleSearchResultUrl(const GURL& url);
|
| static bool IsGoogleRedirectorUrl(const GURL& url);
|
| static bool IsGoogleSearchRedirectorUrl(const GURL& url);
|
| + bool ShouldLogMetrics(const GURL& url);
|
|
|
| // Whether the given query string contains the given component. The query
|
| // parameter should contain the query string of a URL (the portion following
|
| @@ -58,21 +65,25 @@ class FromGWSPageLoadMetricsLogger {
|
| static bool QueryContainsComponentPrefix(const base::StringPiece query,
|
| const base::StringPiece component);
|
|
|
| - // Whether metrics should be logged based on state provided via setters and
|
| - // the given committed_url.
|
| - bool ShouldLogMetrics(const GURL& committed_url) const;
|
| -
|
| private:
|
| - GURL previously_committed_url_;
|
| + bool previously_committed_url_is_search_results_ = false;
|
| + bool previously_committed_url_is_search_redirector_ = false;
|
| bool navigation_initiated_via_link_ = false;
|
| + bool provisional_url_is_search_results_or_google_redirector_ = false;
|
| +
|
| + static bool IsUrlFromGWS(const GURL& url);
|
|
|
| // Common helper for QueryContainsComponent and QueryContainsComponentPrefix.
|
| static bool QueryContainsComponentHelper(const base::StringPiece query,
|
| const base::StringPiece component,
|
| bool component_is_prefix);
|
|
|
| - void LogMetrics(const page_load_metrics::PageLoadTiming& timing,
|
| - const page_load_metrics::PageLoadExtraInfo& extra_info);
|
| + void LogCommittedMetrics(
|
| + const page_load_metrics::PageLoadTiming& timing,
|
| + const page_load_metrics::PageLoadExtraInfo& extra_info);
|
| + void LogProvisionalMetrics(
|
| + const page_load_metrics::PageLoadTiming& timing,
|
| + const page_load_metrics::PageLoadExtraInfo& extra_info);
|
|
|
| DISALLOW_COPY_AND_ASSIGN(FromGWSPageLoadMetricsLogger);
|
| };
|
|
|