| Index: chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_unittest.cc | 
| diff --git a/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_unittest.cc | 
| index 272261fe1cd77d5a0ed8aff3ffdb7ee9a83c2166..a099f8b4d51cd03e9f646b88f7c83aa7f343f487 100644 | 
| --- a/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_unittest.cc | 
| +++ b/chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer_unittest.cc | 
| @@ -5,10 +5,13 @@ | 
| #include "chrome/browser/page_load_metrics/observers/ads_page_load_metrics_observer.h" | 
|  | 
| #include <string> | 
| +#include <utility> | 
| +#include <vector> | 
|  | 
| #include "base/macros.h" | 
| #include "base/strings/stringprintf.h" | 
| #include "base/test/histogram_tester.h" | 
| +#include "chrome/browser/page_load_metrics/ads_detection.h" | 
| #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" | 
| #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h" | 
| #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" | 
| @@ -39,7 +42,6 @@ struct ExpectedFrameBytes { | 
| size_t uncached_kb; | 
| }; | 
|  | 
| -enum class AdType { GOOGLE = 0, SUBRESOURCE_FILTER = 1, ALL = 2 }; | 
| enum class ResourceCached { NOT_CACHED, CACHED }; | 
| enum class FrameType { AD = 0, NON_AD }; | 
|  | 
| @@ -122,20 +124,21 @@ class DelayWillProcessResponseObserver : public content::WebContentsObserver { | 
| DISALLOW_COPY_AND_ASSIGN(DelayWillProcessResponseObserver); | 
| }; | 
|  | 
| -std::string AdTypeToString(AdType ad_type) { | 
| +std::string AdTypeToString(page_load_metrics::AdType ad_type) { | 
| switch (ad_type) { | 
| -    case AdType::GOOGLE: | 
| +    case page_load_metrics::AD_TYPE_GOOGLE: | 
| return "Google"; | 
| -    case AdType::SUBRESOURCE_FILTER: | 
| +    case page_load_metrics::AD_TYPE_SUBRESOURCE_FILTER: | 
| return "SubresourceFilter"; | 
| -    case AdType::ALL: | 
| +    case page_load_metrics::AD_TYPE_ALL: | 
| return "All"; | 
| } | 
| ADD_FAILURE(); | 
| return ""; | 
| } | 
|  | 
| -std::string TypedHistogram(const std::string& suffix, AdType ad_type) { | 
| +std::string TypedHistogram(const std::string& suffix, | 
| +                           page_load_metrics::AdType ad_type) { | 
| return base::StringPrintf("PageLoad.Clients.Ads.%s.%s", | 
| AdTypeToString(ad_type).c_str(), suffix.c_str()); | 
| } | 
| @@ -147,7 +150,7 @@ void TestHistograms(const base::HistogramTester& histograms, | 
| const std::vector<ExpectedFrameBytes>& google_ad_frames, | 
| size_t non_ad_cached_kb, | 
| size_t non_ad_uncached_kb, | 
| -                    AdType ad_type) { | 
| +                    page_load_metrics::AdType ad_type) { | 
| size_t total_ad_cached_kb = 0; | 
| size_t total_ad_uncached_kb = 0; | 
| size_t total_ad_kb = 0; | 
| @@ -350,7 +353,7 @@ TEST_F(AdsPageLoadMetricsObserverTest, PageWithNoAds) { | 
|  | 
| TestHistograms(histogram_tester(), std::vector<ExpectedFrameBytes>(), | 
| 0 /* non_ad_cached_kb */, 30 /* non_ad_uncached_kb */, | 
| -                 AdType::GOOGLE); | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
|  | 
| // Verify that other UMA wasn't written. | 
| histogram_tester().ExpectTotalCount( | 
| @@ -379,7 +382,7 @@ TEST_F(AdsPageLoadMetricsObserverTest, ResourceBeforeAdFrameCommits) { | 
| NavigateFrame(kNonAdUrl, main_frame); | 
|  | 
| TestHistograms(histogram_tester(), {{0, 10}}, 0 /* non_ad_cached_kb */, | 
| -                 10 /*non_ad_uncached_kb*/, AdType::GOOGLE); | 
| +                 10 /*non_ad_uncached_kb*/, page_load_metrics::AD_TYPE_GOOGLE); | 
| } | 
|  | 
| TEST_F(AdsPageLoadMetricsObserverTest, AllAdTypesInPage) { | 
| @@ -428,13 +431,13 @@ TEST_F(AdsPageLoadMetricsObserverTest, AllAdTypesInPage) { | 
|  | 
| TestHistograms(histogram_tester(), {{10, 0}, {0, 10}}, | 
| 30 /* non_ad_cached_kb */, 30 /* non_ad_uncached_kb */, | 
| -                 AdType::GOOGLE); | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
| TestHistograms(histogram_tester(), {{0, 10}, {10, 10}}, | 
| 30 /* non_ad_cached_kb */, 20 /* non_ad_uncached_kb */, | 
| -                 AdType::SUBRESOURCE_FILTER); | 
| +                 page_load_metrics::AD_TYPE_SUBRESOURCE_FILTER); | 
| TestHistograms(histogram_tester(), {{10, 0}, {0, 10}, {0, 10}, {10, 10}}, | 
| 20 /* non_ad_cached_kb */, 10 /* non_ad_uncached_kb */, | 
| -                 AdType::ALL); | 
| +                 page_load_metrics::AD_TYPE_ALL); | 
| histogram_tester().ExpectBucketCount( | 
| "PageLoad.Clients.Ads.All.ParentExistsForSubFrame", 0, 0); | 
| histogram_tester().ExpectTotalCount( | 
| @@ -497,7 +500,8 @@ TEST_F(AdsPageLoadMetricsObserverTest, PageWithAdFrameThatRenavigates) { | 
| NavigateFrame(kNonAdUrl, main_frame); | 
|  | 
| TestHistograms(histogram_tester(), {{0, 20}}, 0 /* non_ad_cached_kb */, | 
| -                 10 /* non_ad_uncached_kb */, AdType::GOOGLE); | 
| +                 10 /* non_ad_uncached_kb */, | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
| histogram_tester().ExpectBucketCount( | 
| "PageLoad.Clients.Ads.All.ParentExistsForSubFrame", 0, 0); | 
| histogram_tester().ExpectTotalCount( | 
| @@ -533,7 +537,7 @@ TEST_F(AdsPageLoadMetricsObserverTest, PageWithNonAdFrameThatRenavigatesToAd) { | 
|  | 
| TestHistograms(histogram_tester(), {{0, 10}, {0, 10}}, | 
| 0 /* non_ad_cached_kb */, 20 /* non_ad_uncached_kb */, | 
| -                 AdType::GOOGLE); | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
| histogram_tester().ExpectBucketCount( | 
| "PageLoad.Clients.Ads.All.ParentExistsForSubFrame", 0, 0); | 
| histogram_tester().ExpectTotalCount( | 
| @@ -564,7 +568,8 @@ TEST_F(AdsPageLoadMetricsObserverTest, CountAbortedNavigation) { | 
| NavigateFrame(kNonAdUrl, main_frame); | 
|  | 
| TestHistograms(histogram_tester(), {{0, 20}}, 0 /* non_ad_cached_kb */, | 
| -                 10 /* non_ad_uncached_kb */, AdType::GOOGLE); | 
| +                 10 /* non_ad_uncached_kb */, | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
| } | 
|  | 
| TEST_F(AdsPageLoadMetricsObserverTest, CountAbortedSecondNavigationForFrame) { | 
| @@ -593,7 +598,8 @@ TEST_F(AdsPageLoadMetricsObserverTest, CountAbortedSecondNavigationForFrame) { | 
| NavigateFrame(kNonAdUrl, main_frame); | 
|  | 
| TestHistograms(histogram_tester(), {{0, 20}}, 0 /* non_ad_cached_kb */, | 
| -                 20 /* non_ad_uncached_kb */, AdType::GOOGLE); | 
| +                 20 /* non_ad_uncached_kb */, | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
| } | 
|  | 
| TEST_F(AdsPageLoadMetricsObserverTest, TwoResourceLoadsBeforeCommit) { | 
| @@ -628,7 +634,8 @@ TEST_F(AdsPageLoadMetricsObserverTest, TwoResourceLoadsBeforeCommit) { | 
| NavigateFrame(kNonAdUrl, main_frame); | 
|  | 
| TestHistograms(histogram_tester(), {{0, 20}}, 0 /* non_ad_cached_kb */, | 
| -                 10 /* non_ad_uncached_kb */, AdType::GOOGLE); | 
| +                 10 /* non_ad_uncached_kb */, | 
| +                 page_load_metrics::AD_TYPE_GOOGLE); | 
| histogram_tester().ExpectBucketCount( | 
| "PageLoad.Clients.Ads.All.ParentExistsForSubFrame", 0, 0); | 
| histogram_tester().ExpectUniqueSample( | 
|  |