Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: chrome/common/page_load_metrics/test/page_load_metrics_test_util.cc

Issue 2917693002: Reland: Buffer cross frame paint timing updates. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/common/page_load_metrics/test/page_load_metrics_test_util.h"
6
7 #include "chrome/common/page_load_metrics/page_load_metrics.mojom.h"
8 #include "chrome/common/page_load_metrics/page_load_metrics_util.h"
9
10 using page_load_metrics::OptionalMin;
11
12 void PopulateRequiredTimingFields(
13 page_load_metrics::mojom::PageLoadTiming* inout_timing) {
14 if (inout_timing->paint_timing->first_meaningful_paint &&
15 !inout_timing->paint_timing->first_contentful_paint) {
16 inout_timing->paint_timing->first_contentful_paint =
17 inout_timing->paint_timing->first_meaningful_paint;
18 }
19 if ((inout_timing->paint_timing->first_text_paint ||
20 inout_timing->paint_timing->first_image_paint ||
21 inout_timing->paint_timing->first_contentful_paint) &&
22 !inout_timing->paint_timing->first_paint) {
23 inout_timing->paint_timing->first_paint =
24 OptionalMin(OptionalMin(inout_timing->paint_timing->first_text_paint,
25 inout_timing->paint_timing->first_image_paint),
26 inout_timing->paint_timing->first_contentful_paint);
27 }
28 if (inout_timing->paint_timing->first_paint &&
29 !inout_timing->document_timing->first_layout) {
30 inout_timing->document_timing->first_layout =
31 inout_timing->paint_timing->first_paint;
32 }
33 if (inout_timing->document_timing->load_event_start &&
34 !inout_timing->document_timing->dom_content_loaded_event_start) {
35 inout_timing->document_timing->dom_content_loaded_event_start =
36 inout_timing->document_timing->load_event_start;
37 }
38 if (inout_timing->document_timing->first_layout &&
39 !inout_timing->parse_timing->parse_start) {
40 inout_timing->parse_timing->parse_start =
41 inout_timing->document_timing->first_layout;
42 }
43 if (inout_timing->document_timing->dom_content_loaded_event_start &&
44 !inout_timing->parse_timing->parse_stop) {
45 inout_timing->parse_timing->parse_stop =
46 inout_timing->document_timing->dom_content_loaded_event_start;
47 }
48 if (inout_timing->parse_timing->parse_stop &&
49 !inout_timing->parse_timing->parse_start) {
50 inout_timing->parse_timing->parse_start =
51 inout_timing->parse_timing->parse_stop;
52 }
53 if (inout_timing->parse_timing->parse_start &&
54 !inout_timing->response_start) {
55 inout_timing->response_start = inout_timing->parse_timing->parse_start;
56 }
57 if (inout_timing->parse_timing->parse_start) {
58 if (!inout_timing->parse_timing->parse_blocked_on_script_load_duration)
59 inout_timing->parse_timing->parse_blocked_on_script_load_duration =
60 base::TimeDelta();
61 if (!inout_timing->parse_timing
62 ->parse_blocked_on_script_execution_duration) {
63 inout_timing->parse_timing->parse_blocked_on_script_execution_duration =
64 base::TimeDelta();
65 }
66 if (!inout_timing->parse_timing
67 ->parse_blocked_on_script_load_from_document_write_duration) {
68 inout_timing->parse_timing
69 ->parse_blocked_on_script_load_from_document_write_duration =
70 base::TimeDelta();
71 }
72 if (!inout_timing->parse_timing
73 ->parse_blocked_on_script_execution_from_document_write_duration) {
74 inout_timing->parse_timing
75 ->parse_blocked_on_script_execution_from_document_write_duration =
76 base::TimeDelta();
77 }
78 }
79 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698