| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "chrome/browser/page_load_metrics/observers/subresource_filter_metrics_
observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/subresource_filter_metrics_
observer.h" |
| 6 | 6 |
| 7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
| 8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" | 8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" |
| 9 | 9 |
| 10 namespace { | 10 namespace { |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 .InMilliseconds(), | 146 .InMilliseconds(), |
| 147 1); | 147 1); |
| 148 | 148 |
| 149 histogram_tester().ExpectTotalCount( | 149 histogram_tester().ExpectTotalCount( |
| 150 internal::kHistogramSubresourceFilterForegroundDuration, 1); | 150 internal::kHistogramSubresourceFilterForegroundDuration, 1); |
| 151 } | 151 } |
| 152 | 152 |
| 153 TEST_F(SubresourceFilterMetricsObserverTest, Subresources) { | 153 TEST_F(SubresourceFilterMetricsObserverTest, Subresources) { |
| 154 NavigateAndCommit(GURL(kDefaultTestUrl)); | 154 NavigateAndCommit(GURL(kDefaultTestUrl)); |
| 155 | 155 |
| 156 SimulateLoadedResource({false /* was_cached */, | 156 SimulateLoadedResource( |
| 157 1024 * 40 /* raw_body_bytes */, | 157 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, |
| 158 0 /* original_network_content_length */, | 158 1024 * 40 /* raw_body_bytes */, 0 /* original_network_content_length */, |
| 159 nullptr /* data_reduction_proxy_data */, | 159 nullptr /* data_reduction_proxy_data */, |
| 160 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 160 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 161 | 161 |
| 162 page_load_metrics::PageLoadTiming timing; | 162 page_load_metrics::PageLoadTiming timing; |
| 163 timing.navigation_start = base::Time::FromDoubleT(1); | 163 timing.navigation_start = base::Time::FromDoubleT(1); |
| 164 page_load_metrics::PageLoadMetadata metadata; | 164 page_load_metrics::PageLoadMetadata metadata; |
| 165 metadata.behavior_flags |= | 165 metadata.behavior_flags |= |
| 166 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorSubresourceFilterMatch; | 166 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorSubresourceFilterMatch; |
| 167 SimulateTimingAndMetadataUpdate(timing, metadata); | 167 SimulateTimingAndMetadataUpdate(timing, metadata); |
| 168 | 168 |
| 169 SimulateLoadedResource({false /* was_cached */, | 169 SimulateLoadedResource( |
| 170 1024 * 20 /* raw_body_bytes */, | 170 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, |
| 171 1024 * 20 /* raw_body_bytes */, 0 /* original_network_content_length */, |
| 172 nullptr /* data_reduction_proxy_data */, |
| 173 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 174 |
| 175 SimulateLoadedResource({GURL(), -1 /* frame_tree_node_id */, |
| 176 true /* was_cached */, 1024 * 10 /* raw_body_bytes */, |
| 171 0 /* original_network_content_length */, | 177 0 /* original_network_content_length */, |
| 172 nullptr /* data_reduction_proxy_data */, | 178 nullptr /* data_reduction_proxy_data */, |
| 173 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 179 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 174 | |
| 175 SimulateLoadedResource({true /* was_cached */, 1024 * 10 /* raw_body_bytes */, | |
| 176 0 /* original_network_content_length */, | |
| 177 nullptr /* data_reduction_proxy_data */, | |
| 178 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | |
| 179 | 180 |
| 180 histogram_tester().ExpectTotalCount( | 181 histogram_tester().ExpectTotalCount( |
| 181 internal::kHistogramSubresourceFilterCount, 1); | 182 internal::kHistogramSubresourceFilterCount, 1); |
| 182 | 183 |
| 183 // Navigate away from the current page to force logging of request and byte | 184 // Navigate away from the current page to force logging of request and byte |
| 184 // metrics. | 185 // metrics. |
| 185 NavigateToUntrackedUrl(); | 186 NavigateToUntrackedUrl(); |
| 186 | 187 |
| 187 histogram_tester().ExpectTotalCount( | 188 histogram_tester().ExpectTotalCount( |
| 188 internal::kHistogramSubresourceFilterTotalResources, 1); | 189 internal::kHistogramSubresourceFilterTotalResources, 1); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 1); | 245 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 1); |
| 245 histogram_tester().ExpectBucketCount( | 246 histogram_tester().ExpectBucketCount( |
| 246 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 10, 1); | 247 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 10, 1); |
| 247 } | 248 } |
| 248 | 249 |
| 249 TEST_F(SubresourceFilterMetricsObserverTest, SubresourcesWithMedia) { | 250 TEST_F(SubresourceFilterMetricsObserverTest, SubresourcesWithMedia) { |
| 250 NavigateAndCommit(GURL(kDefaultTestUrl)); | 251 NavigateAndCommit(GURL(kDefaultTestUrl)); |
| 251 | 252 |
| 252 SimulateMediaPlayed(); | 253 SimulateMediaPlayed(); |
| 253 | 254 |
| 254 SimulateLoadedResource({false /* was_cached */, | 255 SimulateLoadedResource( |
| 255 1024 * 40 /* raw_body_bytes */, | 256 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, |
| 256 0 /* original_network_content_length */, | 257 1024 * 40 /* raw_body_bytes */, 0 /* original_network_content_length */, |
| 257 nullptr /* data_reduction_proxy_data */, | 258 nullptr /* data_reduction_proxy_data */, |
| 258 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 259 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 259 | 260 |
| 260 page_load_metrics::PageLoadTiming timing; | 261 page_load_metrics::PageLoadTiming timing; |
| 261 timing.navigation_start = base::Time::FromDoubleT(1); | 262 timing.navigation_start = base::Time::FromDoubleT(1); |
| 262 page_load_metrics::PageLoadMetadata metadata; | 263 page_load_metrics::PageLoadMetadata metadata; |
| 263 metadata.behavior_flags |= | 264 metadata.behavior_flags |= |
| 264 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorSubresourceFilterMatch; | 265 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorSubresourceFilterMatch; |
| 265 SimulateTimingAndMetadataUpdate(timing, metadata); | 266 SimulateTimingAndMetadataUpdate(timing, metadata); |
| 266 | 267 |
| 267 SimulateLoadedResource({false /* was_cached */, | 268 SimulateLoadedResource( |
| 268 1024 * 20 /* raw_body_bytes */, | 269 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, |
| 270 1024 * 20 /* raw_body_bytes */, 0 /* original_network_content_length */, |
| 271 nullptr /* data_reduction_proxy_data */, |
| 272 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 273 |
| 274 SimulateLoadedResource({GURL(), -1 /* frame_tree_node_id */, |
| 275 true /* was_cached */, 1024 * 10 /* raw_body_bytes */, |
| 269 0 /* original_network_content_length */, | 276 0 /* original_network_content_length */, |
| 270 nullptr /* data_reduction_proxy_data */, | 277 nullptr /* data_reduction_proxy_data */, |
| 271 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 278 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 272 | |
| 273 SimulateLoadedResource({true /* was_cached */, 1024 * 10 /* raw_body_bytes */, | |
| 274 0 /* original_network_content_length */, | |
| 275 nullptr /* data_reduction_proxy_data */, | |
| 276 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | |
| 277 | 279 |
| 278 histogram_tester().ExpectTotalCount( | 280 histogram_tester().ExpectTotalCount( |
| 279 internal::kHistogramSubresourceFilterCount, 1); | 281 internal::kHistogramSubresourceFilterCount, 1); |
| 280 | 282 |
| 281 // Navigate away from the current page to force logging of request and byte | 283 // Navigate away from the current page to force logging of request and byte |
| 282 // metrics. | 284 // metrics. |
| 283 NavigateToUntrackedUrl(); | 285 NavigateToUntrackedUrl(); |
| 284 | 286 |
| 285 histogram_tester().ExpectTotalCount( | 287 histogram_tester().ExpectTotalCount( |
| 286 internal::kHistogramSubresourceFilterTotalResources, 1); | 288 internal::kHistogramSubresourceFilterTotalResources, 1); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 histogram_tester().ExpectTotalCount( | 338 histogram_tester().ExpectTotalCount( |
| 337 internal::kHistogramSubresourceFilterMediaNetworkBytes, 1); | 339 internal::kHistogramSubresourceFilterMediaNetworkBytes, 1); |
| 338 histogram_tester().ExpectBucketCount( | 340 histogram_tester().ExpectBucketCount( |
| 339 internal::kHistogramSubresourceFilterMediaNetworkBytes, 60, 1); | 341 internal::kHistogramSubresourceFilterMediaNetworkBytes, 60, 1); |
| 340 | 342 |
| 341 histogram_tester().ExpectTotalCount( | 343 histogram_tester().ExpectTotalCount( |
| 342 internal::kHistogramSubresourceFilterMediaCacheBytes, 1); | 344 internal::kHistogramSubresourceFilterMediaCacheBytes, 1); |
| 343 histogram_tester().ExpectBucketCount( | 345 histogram_tester().ExpectBucketCount( |
| 344 internal::kHistogramSubresourceFilterMediaCacheBytes, 10, 1); | 346 internal::kHistogramSubresourceFilterMediaCacheBytes, 10, 1); |
| 345 } | 347 } |
| OLD | NEW |