| 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( | 156 SimulateLoadedResource({false /* was_cached */, |
| 157 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, | 157 1024 * 40 /* raw_body_bytes */, |
| 158 1024 * 40 /* raw_body_bytes */, 0 /* original_network_content_length */, | 158 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( | 169 SimulateLoadedResource({false /* was_cached */, |
| 170 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, | 170 1024 * 20 /* raw_body_bytes */, |
| 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 */, | |
| 177 0 /* original_network_content_length */, | 171 0 /* original_network_content_length */, |
| 178 nullptr /* data_reduction_proxy_data */, | 172 nullptr /* data_reduction_proxy_data */, |
| 179 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 173 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}); |
| 180 | 179 |
| 181 histogram_tester().ExpectTotalCount( | 180 histogram_tester().ExpectTotalCount( |
| 182 internal::kHistogramSubresourceFilterCount, 1); | 181 internal::kHistogramSubresourceFilterCount, 1); |
| 183 | 182 |
| 184 // Navigate away from the current page to force logging of request and byte | 183 // Navigate away from the current page to force logging of request and byte |
| 185 // metrics. | 184 // metrics. |
| 186 NavigateToUntrackedUrl(); | 185 NavigateToUntrackedUrl(); |
| 187 | 186 |
| 188 histogram_tester().ExpectTotalCount( | 187 histogram_tester().ExpectTotalCount( |
| 189 internal::kHistogramSubresourceFilterTotalResources, 1); | 188 internal::kHistogramSubresourceFilterTotalResources, 1); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 1); | 244 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 1); |
| 246 histogram_tester().ExpectBucketCount( | 245 histogram_tester().ExpectBucketCount( |
| 247 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 10, 1); | 246 internal::kHistogramSubresourceFilterNoMediaCacheBytes, 10, 1); |
| 248 } | 247 } |
| 249 | 248 |
| 250 TEST_F(SubresourceFilterMetricsObserverTest, SubresourcesWithMedia) { | 249 TEST_F(SubresourceFilterMetricsObserverTest, SubresourcesWithMedia) { |
| 251 NavigateAndCommit(GURL(kDefaultTestUrl)); | 250 NavigateAndCommit(GURL(kDefaultTestUrl)); |
| 252 | 251 |
| 253 SimulateMediaPlayed(); | 252 SimulateMediaPlayed(); |
| 254 | 253 |
| 255 SimulateLoadedResource( | 254 SimulateLoadedResource({false /* was_cached */, |
| 256 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, | 255 1024 * 40 /* raw_body_bytes */, |
| 257 1024 * 40 /* raw_body_bytes */, 0 /* original_network_content_length */, | 256 0 /* original_network_content_length */, |
| 258 nullptr /* data_reduction_proxy_data */, | 257 nullptr /* data_reduction_proxy_data */, |
| 259 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 258 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); |
| 260 | 259 |
| 261 page_load_metrics::PageLoadTiming timing; | 260 page_load_metrics::PageLoadTiming timing; |
| 262 timing.navigation_start = base::Time::FromDoubleT(1); | 261 timing.navigation_start = base::Time::FromDoubleT(1); |
| 263 page_load_metrics::PageLoadMetadata metadata; | 262 page_load_metrics::PageLoadMetadata metadata; |
| 264 metadata.behavior_flags |= | 263 metadata.behavior_flags |= |
| 265 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorSubresourceFilterMatch; | 264 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorSubresourceFilterMatch; |
| 266 SimulateTimingAndMetadataUpdate(timing, metadata); | 265 SimulateTimingAndMetadataUpdate(timing, metadata); |
| 267 | 266 |
| 268 SimulateLoadedResource( | 267 SimulateLoadedResource({false /* was_cached */, |
| 269 {GURL(), -1 /* frame_tree_node_id */, false /* was_cached */, | 268 1024 * 20 /* raw_body_bytes */, |
| 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 */, | |
| 276 0 /* original_network_content_length */, | 269 0 /* original_network_content_length */, |
| 277 nullptr /* data_reduction_proxy_data */, | 270 nullptr /* data_reduction_proxy_data */, |
| 278 content::ResourceType::RESOURCE_TYPE_MAIN_FRAME}); | 271 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}); |
| 279 | 277 |
| 280 histogram_tester().ExpectTotalCount( | 278 histogram_tester().ExpectTotalCount( |
| 281 internal::kHistogramSubresourceFilterCount, 1); | 279 internal::kHistogramSubresourceFilterCount, 1); |
| 282 | 280 |
| 283 // Navigate away from the current page to force logging of request and byte | 281 // Navigate away from the current page to force logging of request and byte |
| 284 // metrics. | 282 // metrics. |
| 285 NavigateToUntrackedUrl(); | 283 NavigateToUntrackedUrl(); |
| 286 | 284 |
| 287 histogram_tester().ExpectTotalCount( | 285 histogram_tester().ExpectTotalCount( |
| 288 internal::kHistogramSubresourceFilterTotalResources, 1); | 286 internal::kHistogramSubresourceFilterTotalResources, 1); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 histogram_tester().ExpectTotalCount( | 336 histogram_tester().ExpectTotalCount( |
| 339 internal::kHistogramSubresourceFilterMediaNetworkBytes, 1); | 337 internal::kHistogramSubresourceFilterMediaNetworkBytes, 1); |
| 340 histogram_tester().ExpectBucketCount( | 338 histogram_tester().ExpectBucketCount( |
| 341 internal::kHistogramSubresourceFilterMediaNetworkBytes, 60, 1); | 339 internal::kHistogramSubresourceFilterMediaNetworkBytes, 60, 1); |
| 342 | 340 |
| 343 histogram_tester().ExpectTotalCount( | 341 histogram_tester().ExpectTotalCount( |
| 344 internal::kHistogramSubresourceFilterMediaCacheBytes, 1); | 342 internal::kHistogramSubresourceFilterMediaCacheBytes, 1); |
| 345 histogram_tester().ExpectBucketCount( | 343 histogram_tester().ExpectBucketCount( |
| 346 internal::kHistogramSubresourceFilterMediaCacheBytes, 10, 1); | 344 internal::kHistogramSubresourceFilterMediaCacheBytes, 10, 1); |
| 347 } | 345 } |
| OLD | NEW |