| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/document_write_page_load_me
trics_observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me
trics_observer.h" |
| 6 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" | 6 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" |
| 7 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" | 7 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" |
| 8 | 8 |
| 9 namespace internal { | 9 namespace internal { |
| 10 const char kHistogramDocWriteFirstContentfulPaint[] = | 10 const char kHistogramDocWriteFirstContentfulPaint[] = |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 const char kHistogramDocWriteBlockCount[] = | 70 const char kHistogramDocWriteBlockCount[] = |
| 71 "PageLoad.Clients.DocWrite.Block.Count"; | 71 "PageLoad.Clients.DocWrite.Block.Count"; |
| 72 const char kHistogramDocWriteBlockReloadCount[] = | 72 const char kHistogramDocWriteBlockReloadCount[] = |
| 73 "PageLoad.Clients.DocWrite.Block.ReloadCount"; | 73 "PageLoad.Clients.DocWrite.Block.ReloadCount"; |
| 74 const char kHistogramDocWriteBlockLoadingBehavior[] = | 74 const char kHistogramDocWriteBlockLoadingBehavior[] = |
| 75 "PageLoad.Clients.DocWrite.Block.DocumentWriteLoadingBehavior"; | 75 "PageLoad.Clients.DocWrite.Block.DocumentWriteLoadingBehavior"; |
| 76 | 76 |
| 77 } // namespace internal | 77 } // namespace internal |
| 78 | 78 |
| 79 void DocumentWritePageLoadMetricsObserver::OnFirstContentfulPaintInPage( | 79 void DocumentWritePageLoadMetricsObserver::OnFirstContentfulPaintInPage( |
| 80 const page_load_metrics::PageLoadTiming& timing, | 80 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 81 const page_load_metrics::PageLoadExtraInfo& info) { | 81 const page_load_metrics::PageLoadExtraInfo& info) { |
| 82 if (info.main_frame_metadata.behavior_flags & | 82 if (info.main_frame_metadata.behavior_flags & |
| 83 blink::WebLoadingBehaviorFlag:: | 83 blink::WebLoadingBehaviorFlag:: |
| 84 kWebLoadingBehaviorDocumentWriteEvaluator) { | 84 kWebLoadingBehaviorDocumentWriteEvaluator) { |
| 85 LogDocumentWriteEvaluatorFirstContentfulPaint(timing, info); | 85 LogDocumentWriteEvaluatorFirstContentfulPaint(timing, info); |
| 86 } | 86 } |
| 87 if (info.main_frame_metadata.behavior_flags & | 87 if (info.main_frame_metadata.behavior_flags & |
| 88 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock) { | 88 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock) { |
| 89 LogDocumentWriteBlockFirstContentfulPaint(timing, info); | 89 LogDocumentWriteBlockFirstContentfulPaint(timing, info); |
| 90 } | 90 } |
| 91 } | 91 } |
| 92 | 92 |
| 93 void DocumentWritePageLoadMetricsObserver:: | 93 void DocumentWritePageLoadMetricsObserver:: |
| 94 OnFirstMeaningfulPaintInMainFrameDocument( | 94 OnFirstMeaningfulPaintInMainFrameDocument( |
| 95 const page_load_metrics::PageLoadTiming& timing, | 95 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 96 const page_load_metrics::PageLoadExtraInfo& info) { | 96 const page_load_metrics::PageLoadExtraInfo& info) { |
| 97 if (info.main_frame_metadata.behavior_flags & | 97 if (info.main_frame_metadata.behavior_flags & |
| 98 blink::WebLoadingBehaviorFlag:: | 98 blink::WebLoadingBehaviorFlag:: |
| 99 kWebLoadingBehaviorDocumentWriteEvaluator) { | 99 kWebLoadingBehaviorDocumentWriteEvaluator) { |
| 100 LogDocumentWriteEvaluatorFirstMeaningfulPaint(timing, info); | 100 LogDocumentWriteEvaluatorFirstMeaningfulPaint(timing, info); |
| 101 } | 101 } |
| 102 if (info.main_frame_metadata.behavior_flags & | 102 if (info.main_frame_metadata.behavior_flags & |
| 103 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock) { | 103 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock) { |
| 104 LogDocumentWriteBlockFirstMeaningfulPaint(timing, info); | 104 LogDocumentWriteBlockFirstMeaningfulPaint(timing, info); |
| 105 } | 105 } |
| 106 } | 106 } |
| 107 | 107 |
| 108 void DocumentWritePageLoadMetricsObserver::OnParseStop( | 108 void DocumentWritePageLoadMetricsObserver::OnParseStop( |
| 109 const page_load_metrics::PageLoadTiming& timing, | 109 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 110 const page_load_metrics::PageLoadExtraInfo& info) { | 110 const page_load_metrics::PageLoadExtraInfo& info) { |
| 111 if (info.main_frame_metadata.behavior_flags & | 111 if (info.main_frame_metadata.behavior_flags & |
| 112 blink::WebLoadingBehaviorFlag:: | 112 blink::WebLoadingBehaviorFlag:: |
| 113 kWebLoadingBehaviorDocumentWriteEvaluator) { | 113 kWebLoadingBehaviorDocumentWriteEvaluator) { |
| 114 LogDocumentWriteEvaluatorParseStop(timing, info); | 114 LogDocumentWriteEvaluatorParseStop(timing, info); |
| 115 } | 115 } |
| 116 if (info.main_frame_metadata.behavior_flags & | 116 if (info.main_frame_metadata.behavior_flags & |
| 117 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock) { | 117 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock) { |
| 118 LogDocumentWriteBlockParseStop(timing, info); | 118 LogDocumentWriteBlockParseStop(timing, info); |
| 119 } | 119 } |
| (...skipping 30 matching lines...) Expand all Loading... |
| 150 blink::WebLoadingBehaviorFlag:: | 150 blink::WebLoadingBehaviorFlag:: |
| 151 kWebLoadingBehaviorDocumentWriteBlockDifferentScheme) && | 151 kWebLoadingBehaviorDocumentWriteBlockDifferentScheme) && |
| 152 !doc_write_same_site_diff_scheme_) { | 152 !doc_write_same_site_diff_scheme_) { |
| 153 LogLoadingBehaviorMetrics(LOADING_BEHAVIOR_SAME_SITE_DIFF_SCHEME); | 153 LogLoadingBehaviorMetrics(LOADING_BEHAVIOR_SAME_SITE_DIFF_SCHEME); |
| 154 doc_write_same_site_diff_scheme_ = true; | 154 doc_write_same_site_diff_scheme_ = true; |
| 155 } | 155 } |
| 156 } | 156 } |
| 157 | 157 |
| 158 void DocumentWritePageLoadMetricsObserver:: | 158 void DocumentWritePageLoadMetricsObserver:: |
| 159 LogDocumentWriteEvaluatorFirstContentfulPaint( | 159 LogDocumentWriteEvaluatorFirstContentfulPaint( |
| 160 const page_load_metrics::PageLoadTiming& timing, | 160 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 161 const page_load_metrics::PageLoadExtraInfo& info) { | 161 const page_load_metrics::PageLoadExtraInfo& info) { |
| 162 if (WasStartedInForegroundOptionalEventInForeground( | 162 if (WasStartedInForegroundOptionalEventInForeground( |
| 163 timing.paint_timing.first_contentful_paint, info)) { | 163 timing.paint_timing->first_contentful_paint, info)) { |
| 164 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteFirstContentfulPaint, | 164 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteFirstContentfulPaint, |
| 165 timing.paint_timing.first_contentful_paint.value()); | 165 timing.paint_timing->first_contentful_paint.value()); |
| 166 PAGE_LOAD_HISTOGRAM( | 166 PAGE_LOAD_HISTOGRAM( |
| 167 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, | 167 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, |
| 168 timing.paint_timing.first_contentful_paint.value() - | 168 timing.paint_timing->first_contentful_paint.value() - |
| 169 timing.parse_timing.parse_start.value()); | 169 timing.parse_timing->parse_start.value()); |
| 170 } else { | 170 } else { |
| 171 PAGE_LOAD_HISTOGRAM( | 171 PAGE_LOAD_HISTOGRAM( |
| 172 internal::kBackgroundHistogramDocWriteFirstContentfulPaint, | 172 internal::kBackgroundHistogramDocWriteFirstContentfulPaint, |
| 173 timing.paint_timing.first_contentful_paint.value()); | 173 timing.paint_timing->first_contentful_paint.value()); |
| 174 } | 174 } |
| 175 } | 175 } |
| 176 | 176 |
| 177 // Note: The first meaningful paint calculation in the core observer filters | 177 // Note: The first meaningful paint calculation in the core observer filters |
| 178 // out pages which had user interaction before the first meaningful paint. | 178 // out pages which had user interaction before the first meaningful paint. |
| 179 // Because the counts of those instances are low (< 2%), just log everything | 179 // Because the counts of those instances are low (< 2%), just log everything |
| 180 // here for simplicity. If this ends up being unreliable (the 2% is just from | 180 // here for simplicity. If this ends up being unreliable (the 2% is just from |
| 181 // canary), the page_load_metrics API should be altered to return the values | 181 // canary), the page_load_metrics API should be altered to return the values |
| 182 // the consumer wants. | 182 // the consumer wants. |
| 183 void DocumentWritePageLoadMetricsObserver:: | 183 void DocumentWritePageLoadMetricsObserver:: |
| 184 LogDocumentWriteEvaluatorFirstMeaningfulPaint( | 184 LogDocumentWriteEvaluatorFirstMeaningfulPaint( |
| 185 const page_load_metrics::PageLoadTiming& timing, | 185 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 186 const page_load_metrics::PageLoadExtraInfo& info) { | 186 const page_load_metrics::PageLoadExtraInfo& info) { |
| 187 if (WasStartedInForegroundOptionalEventInForeground( | 187 if (WasStartedInForegroundOptionalEventInForeground( |
| 188 timing.paint_timing.first_meaningful_paint, info)) { | 188 timing.paint_timing->first_meaningful_paint, info)) { |
| 189 PAGE_LOAD_HISTOGRAM( | 189 PAGE_LOAD_HISTOGRAM( |
| 190 "PageLoad.Clients.DocWrite.Evaluator.Experimental.PaintTiming." | 190 "PageLoad.Clients.DocWrite.Evaluator.Experimental.PaintTiming." |
| 191 "ParseStartToFirstMeaningfulPaint", | 191 "ParseStartToFirstMeaningfulPaint", |
| 192 timing.paint_timing.first_meaningful_paint.value() - | 192 timing.paint_timing->first_meaningful_paint.value() - |
| 193 timing.parse_timing.parse_start.value()); | 193 timing.parse_timing->parse_start.value()); |
| 194 } | 194 } |
| 195 } | 195 } |
| 196 | 196 |
| 197 void DocumentWritePageLoadMetricsObserver:: | 197 void DocumentWritePageLoadMetricsObserver:: |
| 198 LogDocumentWriteBlockFirstMeaningfulPaint( | 198 LogDocumentWriteBlockFirstMeaningfulPaint( |
| 199 const page_load_metrics::PageLoadTiming& timing, | 199 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 200 const page_load_metrics::PageLoadExtraInfo& info) { | 200 const page_load_metrics::PageLoadExtraInfo& info) { |
| 201 if (WasStartedInForegroundOptionalEventInForeground( | 201 if (WasStartedInForegroundOptionalEventInForeground( |
| 202 timing.paint_timing.first_meaningful_paint, info)) { | 202 timing.paint_timing->first_meaningful_paint, info)) { |
| 203 PAGE_LOAD_HISTOGRAM( | 203 PAGE_LOAD_HISTOGRAM( |
| 204 "PageLoad.Clients.DocWrite.Block.Experimental.PaintTiming." | 204 "PageLoad.Clients.DocWrite.Block.Experimental.PaintTiming." |
| 205 "ParseStartToFirstMeaningfulPaint", | 205 "ParseStartToFirstMeaningfulPaint", |
| 206 timing.paint_timing.first_meaningful_paint.value() - | 206 timing.paint_timing->first_meaningful_paint.value() - |
| 207 timing.parse_timing.parse_start.value()); | 207 timing.parse_timing->parse_start.value()); |
| 208 } | 208 } |
| 209 } | 209 } |
| 210 | 210 |
| 211 void DocumentWritePageLoadMetricsObserver::LogDocumentWriteEvaluatorParseStop( | 211 void DocumentWritePageLoadMetricsObserver::LogDocumentWriteEvaluatorParseStop( |
| 212 const page_load_metrics::PageLoadTiming& timing, | 212 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 213 const page_load_metrics::PageLoadExtraInfo& info) { | 213 const page_load_metrics::PageLoadExtraInfo& info) { |
| 214 base::TimeDelta parse_duration = timing.parse_timing.parse_stop.value() - | 214 base::TimeDelta parse_duration = timing.parse_timing->parse_stop.value() - |
| 215 timing.parse_timing.parse_start.value(); | 215 timing.parse_timing->parse_start.value(); |
| 216 if (WasStartedInForegroundOptionalEventInForeground( | 216 if (WasStartedInForegroundOptionalEventInForeground( |
| 217 timing.parse_timing.parse_stop, info)) { | 217 timing.parse_timing->parse_stop, info)) { |
| 218 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteParseDuration, | 218 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteParseDuration, |
| 219 parse_duration); | 219 parse_duration); |
| 220 PAGE_LOAD_HISTOGRAM( | 220 PAGE_LOAD_HISTOGRAM( |
| 221 internal::kHistogramDocWriteParseBlockedOnScriptLoad, | 221 internal::kHistogramDocWriteParseBlockedOnScriptLoad, |
| 222 timing.parse_timing.parse_blocked_on_script_load_duration.value()); | 222 timing.parse_timing->parse_blocked_on_script_load_duration.value()); |
| 223 PAGE_LOAD_HISTOGRAM( | 223 PAGE_LOAD_HISTOGRAM( |
| 224 internal::kHistogramDocWriteParseBlockedOnScriptLoadDocumentWrite, | 224 internal::kHistogramDocWriteParseBlockedOnScriptLoadDocumentWrite, |
| 225 timing.parse_timing | 225 timing.parse_timing |
| 226 .parse_blocked_on_script_load_from_document_write_duration.value()); | 226 ->parse_blocked_on_script_load_from_document_write_duration |
| 227 .value()); |
| 227 PAGE_LOAD_HISTOGRAM( | 228 PAGE_LOAD_HISTOGRAM( |
| 228 internal::kHistogramDocWriteParseBlockedOnScriptExecution, | 229 internal::kHistogramDocWriteParseBlockedOnScriptExecution, |
| 229 timing.parse_timing.parse_blocked_on_script_execution_duration.value()); | 230 timing.parse_timing->parse_blocked_on_script_execution_duration |
| 231 .value()); |
| 230 PAGE_LOAD_HISTOGRAM( | 232 PAGE_LOAD_HISTOGRAM( |
| 231 internal::kHistogramDocWriteParseBlockedOnScriptExecutionDocumentWrite, | 233 internal::kHistogramDocWriteParseBlockedOnScriptExecutionDocumentWrite, |
| 232 timing.parse_timing | 234 timing.parse_timing |
| 233 .parse_blocked_on_script_execution_from_document_write_duration | 235 ->parse_blocked_on_script_execution_from_document_write_duration |
| 234 .value()); | 236 .value()); |
| 235 } else { | 237 } else { |
| 236 PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramDocWriteParseDuration, | 238 PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramDocWriteParseDuration, |
| 237 parse_duration); | 239 parse_duration); |
| 238 PAGE_LOAD_HISTOGRAM( | 240 PAGE_LOAD_HISTOGRAM( |
| 239 internal::kBackgroundHistogramDocWriteParseBlockedOnScriptLoad, | 241 internal::kBackgroundHistogramDocWriteParseBlockedOnScriptLoad, |
| 240 timing.parse_timing.parse_blocked_on_script_load_duration.value()); | 242 timing.parse_timing->parse_blocked_on_script_load_duration.value()); |
| 241 PAGE_LOAD_HISTOGRAM( | 243 PAGE_LOAD_HISTOGRAM( |
| 242 internal:: | 244 internal:: |
| 243 kBackgroundHistogramDocWriteParseBlockedOnScriptLoadDocumentWrite, | 245 kBackgroundHistogramDocWriteParseBlockedOnScriptLoadDocumentWrite, |
| 244 timing.parse_timing | 246 timing.parse_timing |
| 245 .parse_blocked_on_script_load_from_document_write_duration.value()); | 247 ->parse_blocked_on_script_load_from_document_write_duration |
| 248 .value()); |
| 246 } | 249 } |
| 247 } | 250 } |
| 248 | 251 |
| 249 void DocumentWritePageLoadMetricsObserver:: | 252 void DocumentWritePageLoadMetricsObserver:: |
| 250 LogDocumentWriteBlockFirstContentfulPaint( | 253 LogDocumentWriteBlockFirstContentfulPaint( |
| 251 const page_load_metrics::PageLoadTiming& timing, | 254 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 252 const page_load_metrics::PageLoadExtraInfo& info) { | 255 const page_load_metrics::PageLoadExtraInfo& info) { |
| 253 if (WasStartedInForegroundOptionalEventInForeground( | 256 if (WasStartedInForegroundOptionalEventInForeground( |
| 254 timing.paint_timing.first_contentful_paint, info)) { | 257 timing.paint_timing->first_contentful_paint, info)) { |
| 255 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockFirstContentfulPaint, | 258 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockFirstContentfulPaint, |
| 256 timing.paint_timing.first_contentful_paint.value()); | 259 timing.paint_timing->first_contentful_paint.value()); |
| 257 PAGE_LOAD_HISTOGRAM( | 260 PAGE_LOAD_HISTOGRAM( |
| 258 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, | 261 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, |
| 259 timing.paint_timing.first_contentful_paint.value() - | 262 timing.paint_timing->first_contentful_paint.value() - |
| 260 timing.parse_timing.parse_start.value()); | 263 timing.parse_timing->parse_start.value()); |
| 261 } | 264 } |
| 262 } | 265 } |
| 263 | 266 |
| 264 void DocumentWritePageLoadMetricsObserver::LogDocumentWriteBlockParseStop( | 267 void DocumentWritePageLoadMetricsObserver::LogDocumentWriteBlockParseStop( |
| 265 const page_load_metrics::PageLoadTiming& timing, | 268 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 266 const page_load_metrics::PageLoadExtraInfo& info) { | 269 const page_load_metrics::PageLoadExtraInfo& info) { |
| 267 base::TimeDelta parse_duration = timing.parse_timing.parse_stop.value() - | 270 base::TimeDelta parse_duration = timing.parse_timing->parse_stop.value() - |
| 268 timing.parse_timing.parse_start.value(); | 271 timing.parse_timing->parse_start.value(); |
| 269 if (WasStartedInForegroundOptionalEventInForeground( | 272 if (WasStartedInForegroundOptionalEventInForeground( |
| 270 timing.parse_timing.parse_stop, info)) { | 273 timing.parse_timing->parse_stop, info)) { |
| 271 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockParseDuration, | 274 PAGE_LOAD_HISTOGRAM(internal::kHistogramDocWriteBlockParseDuration, |
| 272 parse_duration); | 275 parse_duration); |
| 273 PAGE_LOAD_HISTOGRAM( | 276 PAGE_LOAD_HISTOGRAM( |
| 274 internal::kHistogramDocWriteBlockParseBlockedOnScriptLoad, | 277 internal::kHistogramDocWriteBlockParseBlockedOnScriptLoad, |
| 275 timing.parse_timing.parse_blocked_on_script_load_duration.value()); | 278 timing.parse_timing->parse_blocked_on_script_load_duration.value()); |
| 276 PAGE_LOAD_HISTOGRAM( | 279 PAGE_LOAD_HISTOGRAM( |
| 277 internal::kHistogramDocWriteBlockParseBlockedOnScriptLoadDocumentWrite, | 280 internal::kHistogramDocWriteBlockParseBlockedOnScriptLoadDocumentWrite, |
| 278 timing.parse_timing | 281 timing.parse_timing |
| 279 .parse_blocked_on_script_load_from_document_write_duration.value()); | 282 ->parse_blocked_on_script_load_from_document_write_duration |
| 283 .value()); |
| 280 PAGE_LOAD_HISTOGRAM( | 284 PAGE_LOAD_HISTOGRAM( |
| 281 internal::kHistogramDocWriteBlockParseBlockedOnScriptExecution, | 285 internal::kHistogramDocWriteBlockParseBlockedOnScriptExecution, |
| 282 timing.parse_timing.parse_blocked_on_script_execution_duration.value()); | 286 timing.parse_timing->parse_blocked_on_script_execution_duration |
| 287 .value()); |
| 283 PAGE_LOAD_HISTOGRAM( | 288 PAGE_LOAD_HISTOGRAM( |
| 284 internal:: | 289 internal:: |
| 285 kHistogramDocWriteBlockParseBlockedOnScriptExecutionDocumentWrite, | 290 kHistogramDocWriteBlockParseBlockedOnScriptExecutionDocumentWrite, |
| 286 timing.parse_timing | 291 timing.parse_timing |
| 287 .parse_blocked_on_script_execution_from_document_write_duration | 292 ->parse_blocked_on_script_execution_from_document_write_duration |
| 288 .value()); | 293 .value()); |
| 289 } else { | 294 } else { |
| 290 PAGE_LOAD_HISTOGRAM( | 295 PAGE_LOAD_HISTOGRAM( |
| 291 internal::kBackgroundHistogramDocWriteBlockParseDuration, | 296 internal::kBackgroundHistogramDocWriteBlockParseDuration, |
| 292 parse_duration); | 297 parse_duration); |
| 293 PAGE_LOAD_HISTOGRAM( | 298 PAGE_LOAD_HISTOGRAM( |
| 294 internal::kBackgroundHistogramDocWriteBlockParseBlockedOnScriptLoad, | 299 internal::kBackgroundHistogramDocWriteBlockParseBlockedOnScriptLoad, |
| 295 timing.parse_timing.parse_blocked_on_script_load_duration.value()); | 300 timing.parse_timing->parse_blocked_on_script_load_duration.value()); |
| 296 PAGE_LOAD_HISTOGRAM( | 301 PAGE_LOAD_HISTOGRAM( |
| 297 internal::kBackgroundDocWriteBlockParseBlockedOnScriptLoadDocumentWrite, | 302 internal::kBackgroundDocWriteBlockParseBlockedOnScriptLoadDocumentWrite, |
| 298 timing.parse_timing | 303 timing.parse_timing |
| 299 .parse_blocked_on_script_load_from_document_write_duration.value()); | 304 ->parse_blocked_on_script_load_from_document_write_duration |
| 305 .value()); |
| 300 } | 306 } |
| 301 } | 307 } |
| OLD | NEW |