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 |