| 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. | 
|  |