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

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

Issue 2946113002: Use FrameIsAd to decide whether to isolate a frame in TopDocumentIsolation mode. (Closed)
Patch Set: Addressing CR feedback from jkarlin@ and creis@. Created 3 years, 5 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/ads_page_load_metrics_observer.h
diff --git a/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h
index b48fb409bbffa4d14f1cbacb07e321c1d3565d0f..108e9675f795786df409231320c6082f9ebc28d8 100644
--- a/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h
+++ b/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h
@@ -5,13 +5,13 @@
#ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_ADS_PAGE_LOAD_METRICS_OBSERVER_H_
#define CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_ADS_PAGE_LOAD_METRICS_OBSERVER_H_
-#include <bitset>
#include <list>
#include <map>
#include <memory>
#include "base/macros.h"
#include "base/scoped_observer.h"
+#include "chrome/browser/page_load_metrics/ads_detection.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"
@@ -25,16 +25,6 @@ class AdsPageLoadMetricsObserver
: public page_load_metrics::PageLoadMetricsObserver,
public subresource_filter::SubresourceFilterObserver {
public:
- // The types of ads that one can filter on.
- enum AdType {
- AD_TYPE_GOOGLE = 0,
- AD_TYPE_SUBRESOURCE_FILTER = 1,
- AD_TYPE_ALL = 2,
- AD_TYPE_MAX = AD_TYPE_ALL
- };
-
- using AdTypes = std::bitset<AD_TYPE_MAX>;
-
// Returns a new AdsPageLoadMetricObserver. If the feature is disabled it
// returns nullptr.
static std::unique_ptr<AdsPageLoadMetricsObserver> CreateIfNeeded();
@@ -60,11 +50,12 @@ class AdsPageLoadMetricsObserver
private:
struct AdFrameData {
- AdFrameData(FrameTreeNodeId frame_tree_node_id, AdTypes ad_types);
+ AdFrameData(FrameTreeNodeId frame_tree_node_id,
+ page_load_metrics::AdTypes ad_types);
size_t frame_bytes;
size_t frame_bytes_uncached;
const FrameTreeNodeId frame_tree_node_id;
- AdTypes ad_types;
+ page_load_metrics::AdTypes ad_types;
};
// subresource_filter::SubresourceFilterObserver:
@@ -73,15 +64,6 @@ class AdsPageLoadMetricsObserver
subresource_filter::LoadPolicy load_policy) override;
void OnSubresourceFilterGoingAway() override;
- // Determines if the URL of a frame matches the SubresourceFilter block
- // list. Should only be called once per frame navigation.
- bool DetectSubresourceFilterAd(FrameTreeNodeId frame_tree_node_id);
-
- // This should only be called once per frame navigation, as the
- // SubresourceFilter detector clears its state about detected frames after
- // each call in order to free up memory.
- AdTypes DetectAds(content::NavigationHandle* navigation_handle);
-
void ProcessLoadedResource(
const page_load_metrics::ExtraRequestCompleteInfo& extra_request_info);
@@ -104,11 +86,6 @@ class AdsPageLoadMetricsObserver
// nullptr.
std::map<FrameTreeNodeId, AdFrameData*> ad_frames_data_;
- // The set of frames that have yet to finish but that the SubresourceFilter
- // has reported are ads. Once DetectSubresourceFilterAd is called the id is
- // removed from the set.
- std::set<FrameTreeNodeId> unfinished_subresource_ad_frames_;
-
// When the observer receives report of a document resource loading for a
// sub-frame before the sub-frame commit occurs, hold onto the resource
// request info (delay it) until the sub-frame commits.

Powered by Google App Engine
This is Rietveld 408576698