| Index: chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h
|
| diff --git a/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h
|
| index 58e8d87861dccc8e9159af34fcad3797443fa0d7..0d9079d13f3fc70f715c1afab32ed0218d819e28 100644
|
| --- a/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h
|
| +++ b/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h
|
| @@ -8,13 +8,19 @@
|
| #include <stdint.h>
|
|
|
| #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
|
| +#include "content/public/common/resource_type.h"
|
| +
|
| +namespace offline_pages {
|
| +class ResourceTrackerObserver;
|
| +}
|
|
|
| namespace page_load_metrics {
|
|
|
| class ResourceTrackingPageLoadMetricsObserver
|
| : public page_load_metrics::PageLoadMetricsObserver {
|
| public:
|
| - ResourceTrackingPageLoadMetricsObserver();
|
| + ResourceTrackingPageLoadMetricsObserver(
|
| + offline_pages::ResourceTrackerObserver* request_coordinator);
|
| ~ResourceTrackingPageLoadMetricsObserver() override;
|
|
|
| // Called by the PageLoadMetrics framework when we start a new request, so we
|
| @@ -29,19 +35,23 @@ class ResourceTrackingPageLoadMetricsObserver
|
| void OnLoadedResource(
|
| const ExtraRequestCompleteInfo& extra_request_complete_info) override;
|
|
|
| - // For the specified type, get the count of requests started and completed.
|
| - // TODO(petewil) Note that type is not used yet, code to use it is coming
|
| - // soon.
|
| - void GetCountsForTypeForTesting(const content::ResourceType type,
|
| - int64_t* started_count,
|
| - int64_t* completed_count);
|
| + // Called when the page load commits, we return STOP_OBSERVING if the page is
|
| + // not part of an offlining attempt.
|
| + ObservePolicy OnCommit(content::NavigationHandle* navigation_handle) override;
|
|
|
| private:
|
| + void InformObservers(const content::ResourceType type,
|
| + int64_t started_count,
|
| + int64_t completed_count);
|
| +
|
| // TODO(petewil): Some way to keep track of what we've seen
|
| // TODO(petewil): Some way to inform our keeper of aggregate results when they
|
| // change.
|
| int64_t started_count_;
|
| int64_t completed_count_;
|
| + // Unowned pointer to the ResourceTrackerObserver for this profile, it must be
|
| + // kept valid by the caller for the lifetime of the PageLoadMetricsObserver.
|
| + offline_pages::ResourceTrackerObserver* request_coordinator_;
|
| };
|
|
|
| } // namespace page_load_metrics
|
|
|