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

Unified 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, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/page_load_metrics/test/page_load_metrics_test_util.cc
diff --git a/chrome/common/page_load_metrics/test/page_load_metrics_test_util.cc b/chrome/common/page_load_metrics/test/page_load_metrics_test_util.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4b587e87eb3033c411cd965e82ba0b5e90de4dda
--- /dev/null
+++ b/chrome/common/page_load_metrics/test/page_load_metrics_test_util.cc
@@ -0,0 +1,79 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/common/page_load_metrics/test/page_load_metrics_test_util.h"
+
+#include "chrome/common/page_load_metrics/page_load_metrics.mojom.h"
+#include "chrome/common/page_load_metrics/page_load_metrics_util.h"
+
+using page_load_metrics::OptionalMin;
+
+void PopulateRequiredTimingFields(
+ page_load_metrics::mojom::PageLoadTiming* inout_timing) {
+ if (inout_timing->paint_timing->first_meaningful_paint &&
+ !inout_timing->paint_timing->first_contentful_paint) {
+ inout_timing->paint_timing->first_contentful_paint =
+ inout_timing->paint_timing->first_meaningful_paint;
+ }
+ if ((inout_timing->paint_timing->first_text_paint ||
+ inout_timing->paint_timing->first_image_paint ||
+ inout_timing->paint_timing->first_contentful_paint) &&
+ !inout_timing->paint_timing->first_paint) {
+ inout_timing->paint_timing->first_paint =
+ OptionalMin(OptionalMin(inout_timing->paint_timing->first_text_paint,
+ inout_timing->paint_timing->first_image_paint),
+ inout_timing->paint_timing->first_contentful_paint);
+ }
+ if (inout_timing->paint_timing->first_paint &&
+ !inout_timing->document_timing->first_layout) {
+ inout_timing->document_timing->first_layout =
+ inout_timing->paint_timing->first_paint;
+ }
+ if (inout_timing->document_timing->load_event_start &&
+ !inout_timing->document_timing->dom_content_loaded_event_start) {
+ inout_timing->document_timing->dom_content_loaded_event_start =
+ inout_timing->document_timing->load_event_start;
+ }
+ if (inout_timing->document_timing->first_layout &&
+ !inout_timing->parse_timing->parse_start) {
+ inout_timing->parse_timing->parse_start =
+ inout_timing->document_timing->first_layout;
+ }
+ if (inout_timing->document_timing->dom_content_loaded_event_start &&
+ !inout_timing->parse_timing->parse_stop) {
+ inout_timing->parse_timing->parse_stop =
+ inout_timing->document_timing->dom_content_loaded_event_start;
+ }
+ if (inout_timing->parse_timing->parse_stop &&
+ !inout_timing->parse_timing->parse_start) {
+ inout_timing->parse_timing->parse_start =
+ inout_timing->parse_timing->parse_stop;
+ }
+ if (inout_timing->parse_timing->parse_start &&
+ !inout_timing->response_start) {
+ inout_timing->response_start = inout_timing->parse_timing->parse_start;
+ }
+ if (inout_timing->parse_timing->parse_start) {
+ if (!inout_timing->parse_timing->parse_blocked_on_script_load_duration)
+ inout_timing->parse_timing->parse_blocked_on_script_load_duration =
+ base::TimeDelta();
+ if (!inout_timing->parse_timing
+ ->parse_blocked_on_script_execution_duration) {
+ inout_timing->parse_timing->parse_blocked_on_script_execution_duration =
+ base::TimeDelta();
+ }
+ if (!inout_timing->parse_timing
+ ->parse_blocked_on_script_load_from_document_write_duration) {
+ inout_timing->parse_timing
+ ->parse_blocked_on_script_load_from_document_write_duration =
+ base::TimeDelta();
+ }
+ if (!inout_timing->parse_timing
+ ->parse_blocked_on_script_execution_from_document_write_duration) {
+ inout_timing->parse_timing
+ ->parse_blocked_on_script_execution_from_document_write_duration =
+ base::TimeDelta();
+ }
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698