| Index: chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h
|
| diff --git a/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h b/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h
|
| index 1ee7c0728b1d2c582ac7336f67b2231dea648a6b..c45cf79b0de0726298a724477fcbfdb2b207b90e 100644
|
| --- a/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h
|
| +++ b/chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h
|
| @@ -6,7 +6,11 @@
|
| #define CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_SUBRESOURCE_FILTER_METRICS_OBSERVER_H_
|
|
|
| #include "base/macros.h"
|
| +#include "base/optional.h"
|
| +#include "base/scoped_observer.h"
|
| #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
|
| +#include "components/subresource_filter/content/browser/subresource_filter_observer.h"
|
| +#include "components/subresource_filter/content/browser/subresource_filter_observer_manager.h"
|
| #include "components/ukm/ukm_source.h"
|
|
|
| namespace internal {
|
| @@ -59,12 +63,16 @@ extern const char kHistogramSubresourceFilterActivationDecisionReload[];
|
| } // namespace internal
|
|
|
| class SubresourceFilterMetricsObserver
|
| - : public page_load_metrics::PageLoadMetricsObserver {
|
| + : public page_load_metrics::PageLoadMetricsObserver,
|
| + public subresource_filter::SubresourceFilterObserver {
|
| public:
|
| - SubresourceFilterMetricsObserver() = default;
|
| - ~SubresourceFilterMetricsObserver() override = default;
|
| + SubresourceFilterMetricsObserver();
|
| + ~SubresourceFilterMetricsObserver() override;
|
|
|
| // page_load_metrics::PageLoadMetricsObserver:
|
| + ObservePolicy OnStart(content::NavigationHandle* navigation_handle,
|
| + const GURL& currently_committed_url,
|
| + bool started_in_foreground) override;
|
| ObservePolicy OnCommit(content::NavigationHandle* navigation_handle,
|
| ukm::SourceId source_id) override;
|
| ObservePolicy FlushMetricsOnAppEnterBackground(
|
| @@ -95,18 +103,35 @@ class SubresourceFilterMetricsObserver
|
| bool is_in_main_frame) override;
|
|
|
| private:
|
| + // subresource_filter::SubresourceFilterObserver:
|
| + void OnSubresourceFilterGoingAway() override;
|
| + void OnPageActivationComputed(
|
| + content::NavigationHandle* navigation_handle,
|
| + subresource_filter::ActivationDecision activation_decision,
|
| + const subresource_filter::ActivationState& activation_state) override;
|
| +
|
| void OnGoingAway(const page_load_metrics::mojom::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info,
|
| base::TimeTicks app_background_time);
|
|
|
| + base::Optional<subresource_filter::ActivationDecision> activation_decision_;
|
| +
|
| + ScopedObserver<subresource_filter::SubresourceFilterObserverManager,
|
| + subresource_filter::SubresourceFilterObserver>
|
| + scoped_observer_;
|
| +
|
| int64_t network_bytes_ = 0;
|
| int64_t cache_bytes_ = 0;
|
|
|
| int num_network_resources_ = 0;
|
| int num_cache_resources_ = 0;
|
|
|
| + // Used as a unique id for the ongoing navigation. Do not use after OnCommit.
|
| + content::NavigationHandle* navigation_handle_ = nullptr;
|
| +
|
| bool subresource_filter_observed_ = false;
|
| bool played_media_ = false;
|
| + bool did_commit_ = false;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SubresourceFilterMetricsObserver);
|
| };
|
|
|