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 |