| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/frame/Deprecation.h" | 5 #include "core/frame/Deprecation.h" |
| 6 #include "core/frame/UseCounter.h" | 6 #include "core/frame/UseCounter.h" |
| 7 #include "core/page/Page.h" | 7 #include "core/page/Page.h" |
| 8 #include "core/testing/DummyPageHolder.h" | 8 #include "core/testing/DummyPageHolder.h" |
| 9 #include "platform/testing/HistogramTester.h" | 9 #include "platform/testing/HistogramTester.h" |
| 10 #include "platform/testing/URLTestHelpers.h" | 10 #include "platform/testing/URLTestHelpers.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 histogram_map(second_item), 1); | 107 histogram_map(second_item), 1); |
| 108 histogram_tester.ExpectBucketCount(legacy_histogram, page_visit_bucket, 2); | 108 histogram_tester.ExpectBucketCount(legacy_histogram, page_visit_bucket, 2); |
| 109 histogram_tester.ExpectTotalCount(legacy_histogram, 5); | 109 histogram_tester.ExpectTotalCount(legacy_histogram, 5); |
| 110 } | 110 } |
| 111 | 111 |
| 112 for (size_t i = 0; i < unaffected_histograms.size(); ++i) { | 112 for (size_t i = 0; i < unaffected_histograms.size(); ++i) { |
| 113 histogram_tester.ExpectTotalCount(unaffected_histograms[i], 0); | 113 histogram_tester.ExpectTotalCount(unaffected_histograms[i], 0); |
| 114 } | 114 } |
| 115 } | 115 } |
| 116 | 116 |
| 117 // Failing on Android: crbug.com/667913 | 117 TEST(UseCounterTest, RecordingFeatures) { |
| 118 #if OS(ANDROID) | |
| 119 #define MAYBE_RecordingFeatures DISABLED_RecordingFeatures | |
| 120 #else | |
| 121 #define MAYBE_RecordingFeatures RecordingFeatures | |
| 122 #endif | |
| 123 TEST(UseCounterTest, MAYBE_RecordingFeatures) { | |
| 124 UseCounter use_counter; | 118 UseCounter use_counter; |
| 125 HistogramBasicTest<UseCounter::Feature>( | 119 HistogramBasicTest<UseCounter::Feature>( |
| 126 kFeaturesHistogramName, kLegacyFeaturesHistogramName, | 120 kFeaturesHistogramName, kLegacyFeaturesHistogramName, |
| 127 {kSVGFeaturesHistogramName, kSVGCSSHistogramName, | 121 {kSVGFeaturesHistogramName, kSVGCSSHistogramName, |
| 128 kSVGAnimatedCSSHistogramName}, | 122 kSVGAnimatedCSSHistogramName}, |
| 129 UseCounter::kFetch, UseCounter::kFetchBodyStream, | 123 UseCounter::kFetch, UseCounter::kFetchBodyStream, |
| 130 [&](UseCounter::Feature feature) -> bool { | 124 [&](UseCounter::Feature feature) -> bool { |
| 131 return use_counter.HasRecordedMeasurement(feature); | 125 return use_counter.HasRecordedMeasurement(feature); |
| 132 }, | 126 }, |
| 133 [&](UseCounter::Feature feature) { | 127 [&](UseCounter::Feature feature) { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 return use_counter.IsCountedAnimatedCSS(property); | 162 return use_counter.IsCountedAnimatedCSS(property); |
| 169 }, | 163 }, |
| 170 [&](CSSPropertyID property) { use_counter.CountAnimatedCSS(property); }, | 164 [&](CSSPropertyID property) { use_counter.CountAnimatedCSS(property); }, |
| 171 [](CSSPropertyID property) -> int { | 165 [](CSSPropertyID property) -> int { |
| 172 return UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram(property); | 166 return UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram(property); |
| 173 }, | 167 }, |
| 174 [&](KURL kurl) { use_counter.DidCommitLoad(kurl); }, | 168 [&](KURL kurl) { use_counter.DidCommitLoad(kurl); }, |
| 175 "https://dummysite.com/", 1 /* page visit bucket */); | 169 "https://dummysite.com/", 1 /* page visit bucket */); |
| 176 } | 170 } |
| 177 | 171 |
| 178 // Failing on Android: crbug.com/667913 | 172 TEST(UseCounterTest, SVGImageContextFeatures) { |
| 179 #if OS(ANDROID) | |
| 180 #define MAYBE_SVGImageContextFeatures DISABLED_SVGImageContextFeatures | |
| 181 #else | |
| 182 #define MAYBE_SVGImageContextFeatures SVGImageContextFeatures | |
| 183 #endif | |
| 184 TEST(UseCounterTest, MAYBE_SVGImageContextFeatures) { | |
| 185 UseCounter use_counter(UseCounter::kSVGImageContext); | 173 UseCounter use_counter(UseCounter::kSVGImageContext); |
| 186 HistogramBasicTest<UseCounter::Feature>( | 174 HistogramBasicTest<UseCounter::Feature>( |
| 187 kSVGFeaturesHistogramName, kLegacyFeaturesHistogramName, | 175 kSVGFeaturesHistogramName, kLegacyFeaturesHistogramName, |
| 188 {kFeaturesHistogramName, kCSSHistogramName, kAnimatedCSSHistogramName}, | 176 {kFeaturesHistogramName, kCSSHistogramName, kAnimatedCSSHistogramName}, |
| 189 UseCounter::kSVGSMILAdditiveAnimation, | 177 UseCounter::kSVGSMILAdditiveAnimation, |
| 190 UseCounter::kSVGSMILAnimationElementTiming, | 178 UseCounter::kSVGSMILAnimationElementTiming, |
| 191 [&](UseCounter::Feature feature) -> bool { | 179 [&](UseCounter::Feature feature) -> bool { |
| 192 return use_counter.HasRecordedMeasurement(feature); | 180 return use_counter.HasRecordedMeasurement(feature); |
| 193 }, | 181 }, |
| 194 [&](UseCounter::Feature feature) { | 182 [&](UseCounter::Feature feature) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 }, | 219 }, |
| 232 [&](CSSPropertyID property) { use_counter.CountAnimatedCSS(property); }, | 220 [&](CSSPropertyID property) { use_counter.CountAnimatedCSS(property); }, |
| 233 [](CSSPropertyID property) -> int { | 221 [](CSSPropertyID property) -> int { |
| 234 return UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram(property); | 222 return UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram(property); |
| 235 }, | 223 }, |
| 236 [&](KURL kurl) { use_counter.DidCommitLoad(kurl); }, "about:blank", | 224 [&](KURL kurl) { use_counter.DidCommitLoad(kurl); }, "about:blank", |
| 237 // In practice SVGs always appear to be loaded with an about:blank URL | 225 // In practice SVGs always appear to be loaded with an about:blank URL |
| 238 1 /* page visit bucket */); | 226 1 /* page visit bucket */); |
| 239 } | 227 } |
| 240 | 228 |
| 241 // Failing on Android: crbug.com/667913 | 229 TEST(UseCounterTest, InspectorDisablesMeasurement) { |
| 242 #if OS(ANDROID) | |
| 243 #define MAYBE_InspectorDisablesMeasurement DISABLED_InspectorDisablesMeasurement | |
| 244 #else | |
| 245 #define MAYBE_InspectorDisablesMeasurement InspectorDisablesMeasurement | |
| 246 #endif | |
| 247 TEST(UseCounterTest, MAYBE_InspectorDisablesMeasurement) { | |
| 248 UseCounter use_counter; | 230 UseCounter use_counter; |
| 249 HistogramTester histogram_tester; | 231 HistogramTester histogram_tester; |
| 250 | 232 |
| 251 // The specific feature we use here isn't important. | 233 // The specific feature we use here isn't important. |
| 252 UseCounter::Feature feature = UseCounter::Feature::kSVGSMILElementInDocument; | 234 UseCounter::Feature feature = UseCounter::Feature::kSVGSMILElementInDocument; |
| 253 CSSPropertyID property = CSSPropertyFontWeight; | 235 CSSPropertyID property = CSSPropertyFontWeight; |
| 254 CSSParserMode parser_mode = kHTMLStandardMode; | 236 CSSParserMode parser_mode = kHTMLStandardMode; |
| 255 | 237 |
| 256 EXPECT_FALSE(use_counter.HasRecordedMeasurement(feature)); | 238 EXPECT_FALSE(use_counter.HasRecordedMeasurement(feature)); |
| 257 | 239 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 visits_count + feature_count); | 286 visits_count + feature_count); |
| 305 histogram_tester.ExpectBucketCount(kCSSHistogramName, 1, visits_count); | 287 histogram_tester.ExpectBucketCount(kCSSHistogramName, 1, visits_count); |
| 306 histogram_tester.ExpectBucketCount( | 288 histogram_tester.ExpectBucketCount( |
| 307 kCSSHistogramName, | 289 kCSSHistogramName, |
| 308 UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram(property), | 290 UseCounter::MapCSSPropertyIdToCSSSampleIdForHistogram(property), |
| 309 property_count); | 291 property_count); |
| 310 histogram_tester.ExpectTotalCount(kCSSHistogramName, | 292 histogram_tester.ExpectTotalCount(kCSSHistogramName, |
| 311 visits_count + property_count); | 293 visits_count + property_count); |
| 312 } | 294 } |
| 313 | 295 |
| 314 // Failing on Android: crbug.com/667913 | 296 TEST(UseCounterTest, MutedDocuments) { |
| 315 #if OS(ANDROID) | |
| 316 #define MAYBE_MutedDocuments DISABLED_MutedDocuments | |
| 317 #else | |
| 318 #define MAYBE_MutedDocuments MutedDocuments | |
| 319 #endif | |
| 320 TEST(UseCounterTest, MAYBE_MutedDocuments) { | |
| 321 UseCounter use_counter; | 297 UseCounter use_counter; |
| 322 HistogramTester histogram_tester; | 298 HistogramTester histogram_tester; |
| 323 | 299 |
| 324 // Counters triggered before any load are always reported. | 300 // Counters triggered before any load are always reported. |
| 325 use_counter.RecordMeasurement(UseCounter::kFetch); | 301 use_counter.RecordMeasurement(UseCounter::kFetch); |
| 326 use_counter.Count(kHTMLStandardMode, CSSPropertyFontWeight); | 302 use_counter.Count(kHTMLStandardMode, CSSPropertyFontWeight); |
| 327 ExpectHistograms(histogram_tester, 0, UseCounter::kFetch, 1, | 303 ExpectHistograms(histogram_tester, 0, UseCounter::kFetch, 1, |
| 328 CSSPropertyFontWeight, 1); | 304 CSSPropertyFontWeight, 1); |
| 329 | 305 |
| 330 // Loading an internal page doesn't bump PageVisits and metrics not reported. | 306 // Loading an internal page doesn't bump PageVisits and metrics not reported. |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 | 420 |
| 445 deprecation_.UnmuteForInspector(); | 421 deprecation_.UnmuteForInspector(); |
| 446 Deprecation::WarnOnDeprecatedProperties(GetFrame(), property); | 422 Deprecation::WarnOnDeprecatedProperties(GetFrame(), property); |
| 447 // TODO: use the actually deprecated property to get a deprecation message. | 423 // TODO: use the actually deprecated property to get a deprecation message. |
| 448 EXPECT_FALSE(deprecation_.IsSuppressed(property)); | 424 EXPECT_FALSE(deprecation_.IsSuppressed(property)); |
| 449 Deprecation::CountDeprecation(GetFrame(), feature); | 425 Deprecation::CountDeprecation(GetFrame(), feature); |
| 450 EXPECT_TRUE(use_counter_.HasRecordedMeasurement(feature)); | 426 EXPECT_TRUE(use_counter_.HasRecordedMeasurement(feature)); |
| 451 } | 427 } |
| 452 | 428 |
| 453 } // namespace blink | 429 } // namespace blink |
| OLD | NEW |