| Index: components/page_load_metrics/browser/page_load_metrics_observer.h
|
| diff --git a/components/page_load_metrics/browser/page_load_metrics_observer.h b/components/page_load_metrics/browser/page_load_metrics_observer.h
|
| deleted file mode 100644
|
| index ffc494793ca1dd4551b80734cfbd65665f393881..0000000000000000000000000000000000000000
|
| --- a/components/page_load_metrics/browser/page_load_metrics_observer.h
|
| +++ /dev/null
|
| @@ -1,212 +0,0 @@
|
| -// Copyright 2015 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 COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
|
| -#define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/optional.h"
|
| -#include "components/page_load_metrics/common/page_load_timing.h"
|
| -#include "content/public/browser/navigation_handle.h"
|
| -#include "third_party/WebKit/public/web/WebInputEvent.h"
|
| -#include "url/gurl.h"
|
| -
|
| -namespace page_load_metrics {
|
| -
|
| -// This enum represents how a page load ends. If the action occurs before the
|
| -// page load finishes (or reaches some point like first paint), then we consider
|
| -// the load to be aborted.
|
| -enum UserAbortType {
|
| - // Represents no abort.
|
| - ABORT_NONE,
|
| -
|
| - // If the user presses reload or shift-reload.
|
| - ABORT_RELOAD,
|
| -
|
| - // The user presses the back/forward button.
|
| - ABORT_FORWARD_BACK,
|
| -
|
| - // If the navigation is replaced by a new navigation. This includes link
|
| - // clicks, typing in the omnibox (not a reload), and form submissions.
|
| - ABORT_NEW_NAVIGATION,
|
| -
|
| - // If the user presses the stop X button.
|
| - ABORT_STOP,
|
| -
|
| - // If the navigation is aborted by closing the tab or browser.
|
| - ABORT_CLOSE,
|
| -
|
| - // We don't know why the navigation aborted. This is the value we assign to an
|
| - // aborted load if the only signal we get is a provisional load finishing
|
| - // without committing, either without error or with net::ERR_ABORTED.
|
| - ABORT_OTHER,
|
| -
|
| - // The load aborted due to another navigation, but it isn't clear what type of
|
| - // navigation it was.
|
| - ABORT_UNKNOWN_NAVIGATION,
|
| -
|
| - // Add values before this final count.
|
| - ABORT_LAST_ENTRY
|
| -};
|
| -
|
| -// Information related to failed provisional loads.
|
| -struct FailedProvisionalLoadInfo {
|
| - FailedProvisionalLoadInfo(base::TimeDelta interval, net::Error error);
|
| - ~FailedProvisionalLoadInfo();
|
| -
|
| - base::TimeDelta time_to_failed_provisional_load;
|
| - net::Error error;
|
| -};
|
| -
|
| -struct PageLoadExtraInfo {
|
| - PageLoadExtraInfo(
|
| - const base::Optional<base::TimeDelta>& first_background_time,
|
| - const base::Optional<base::TimeDelta>& first_foreground_time,
|
| - bool started_in_foreground,
|
| - const GURL& committed_url,
|
| - const base::Optional<base::TimeDelta>& time_to_commit,
|
| - UserAbortType abort_type,
|
| - const base::Optional<base::TimeDelta>& time_to_abort,
|
| - const PageLoadMetadata& metadata);
|
| -
|
| - PageLoadExtraInfo(const PageLoadExtraInfo& other);
|
| -
|
| - ~PageLoadExtraInfo();
|
| -
|
| - // The first time that the page was backgrounded since the navigation started.
|
| - const base::Optional<base::TimeDelta> first_background_time;
|
| -
|
| - // The first time that the page was foregrounded since the navigation started.
|
| - const base::Optional<base::TimeDelta> first_foreground_time;
|
| -
|
| - // True if the page load started in the foreground.
|
| - const bool started_in_foreground;
|
| -
|
| - // Committed URL. If the page load did not commit, |committed_url| will be
|
| - // empty.
|
| - const GURL committed_url;
|
| -
|
| - // Time from navigation start until commit.
|
| - const base::Optional<base::TimeDelta> time_to_commit;
|
| -
|
| - // The abort time and time to abort for this page load. If the page was not
|
| - // aborted, |abort_type| will be |ABORT_NONE|.
|
| - const UserAbortType abort_type;
|
| - const base::Optional<base::TimeDelta> time_to_abort;
|
| -
|
| - // Extra information supplied to the page load metrics system from the
|
| - // renderer.
|
| - const PageLoadMetadata metadata;
|
| -};
|
| -
|
| -// Interface for PageLoadMetrics observers. All instances of this class are
|
| -// owned by the PageLoadTracker tracking a page load.
|
| -class PageLoadMetricsObserver {
|
| - public:
|
| - virtual ~PageLoadMetricsObserver() {}
|
| -
|
| - // The page load started, with the given navigation handle. Note that OnStart
|
| - // is called for same-page navigations. Implementers of OnStart that only want
|
| - // to process non-same-page navigations should also check to see that the page
|
| - // load committed via OnCommit or committed_url in
|
| - // PageLoadExtraInfo. currently_committed_url contains the URL of the
|
| - // committed page load at the time the navigation for navigation_handle was
|
| - // initiated, or the empty URL if there was no committed page load at the time
|
| - // the navigation was initiated.
|
| - virtual void OnStart(content::NavigationHandle* navigation_handle,
|
| - const GURL& currently_committed_url,
|
| - bool started_in_foreground) {}
|
| -
|
| - // OnRedirect is triggered when a page load redirects to another URL.
|
| - // The navigation handle holds relevant data for the navigation, but will
|
| - // be destroyed soon after this call. Don't hold a reference to it. This can
|
| - // be called multiple times.
|
| - virtual void OnRedirect(content::NavigationHandle* navigation_handle) {}
|
| -
|
| - // OnCommit is triggered when a page load commits, i.e. when we receive the
|
| - // first data for the request. The navigation handle holds relevant data for
|
| - // the navigation, but will be destroyed soon after this call. Don't hold a
|
| - // reference to it.
|
| - // Note that this does not get called for same page navigations.
|
| - virtual void OnCommit(content::NavigationHandle* navigation_handle) {}
|
| -
|
| - // OnHidden is triggered when a page leaves the foreground. It does not fire
|
| - // when a foreground page is permanently closed; for that, listen to
|
| - // OnComplete instead.
|
| - virtual void OnHidden() {}
|
| -
|
| - // OnShown is triggered when a page is brought to the foreground. It does not
|
| - // fire when the page first loads; for that, listen for OnStart instead.
|
| - virtual void OnShown() {}
|
| -
|
| - // The callbacks below are only invoked after a navigation commits, for
|
| - // tracked page loads. Page loads that don't meet the criteria for being
|
| - // tracked at the time a navigation commits will not receive any of the
|
| - // callbacks below.
|
| -
|
| - // OnTimingUpdate is triggered when an updated PageLoadTiming is
|
| - // available. This method may be called multiple times over the course of the
|
| - // page load. This method is currently only intended for use in testing. Most
|
| - // implementers should implement one of the On* callbacks, such as
|
| - // OnFirstContentfulPaint or OnDomContentLoadedEventStart. Please email
|
| - // loading-dev@chromium.org if you intend to override this method.
|
| - virtual void OnTimingUpdate(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - // OnUserInput is triggered when a new user input is passed in to
|
| - // web_contents. Contains a TimeDelta from navigation start.
|
| - virtual void OnUserInput(const blink::WebInputEvent& event) {}
|
| -
|
| - // The following methods are invoked at most once, when the timing for the
|
| - // associated event first becomes available.
|
| - virtual void OnDomContentLoadedEventStart(
|
| - const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnLoadEventStart(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnFirstLayout(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnFirstPaint(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnFirstTextPaint(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnFirstImagePaint(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnFirstContentfulPaint(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnParseStart(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| - virtual void OnParseStop(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| -
|
| - // Observer method to be invoked when there is a change in PageLoadMetadata's
|
| - // behavior_flags.
|
| - virtual void OnLoadingBehaviorObserved(
|
| - const page_load_metrics::PageLoadExtraInfo& extra_info) {}
|
| -
|
| - // One of OnComplete or OnFailedProvisionalLoad is invoked for tracked page
|
| - // loads, immediately before the observer is deleted. These callbacks will not
|
| - // be invoked for page loads that did not meet the criteria for being tracked
|
| - // at the time the navigation completed. The PageLoadTiming struct contains
|
| - // timing data and the PageLoadExtraInfo struct contains other useful data
|
| - // collected over the course of the page load. Most observers should not need
|
| - // to implement these callbacks, and should implement the On* timing callbacks
|
| - // instead.
|
| -
|
| - // OnComplete is invoked for tracked page loads that committed, immediately
|
| - // before the observer is deleted.
|
| - virtual void OnComplete(const PageLoadTiming& timing,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| -
|
| - // OnFailedProvisionalLoad is invoked for tracked page loads that did not
|
| - // commit, immediately before the observer is deleted. Note that provisional
|
| - // loads that result in downloads or 204s are aborted by the system, and are
|
| - // also included as failed provisional loads.
|
| - virtual void OnFailedProvisionalLoad(
|
| - const FailedProvisionalLoadInfo& failed_provisional_load_info,
|
| - const PageLoadExtraInfo& extra_info) {}
|
| -};
|
| -
|
| -} // namespace page_load_metrics
|
| -
|
| -#endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
|
|
|