Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6797)

Unified Diff: chrome/browser/page_load_metrics/observers/subresource_filter_metrics_observer.h

Issue 2893183002: [subresource_filter] Use the SubresourceFilterObserver for PageLoadMetrics (Closed)
Patch Set: bmcquade review Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698