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

Unified Diff: chrome/common/page_load_metrics/page_load_metrics.mojom

Issue 2823523003: [Page Load Metrics] PageLoadMetrics Mojofication. (Closed)
Patch Set: Addressed comments, remove unnecessary RunUntilIdle, call OnTimingUpdated directly in unit tests Created 3 years, 8 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/page_load_metrics.mojom
diff --git a/chrome/common/page_load_metrics/page_load_metrics.mojom b/chrome/common/page_load_metrics/page_load_metrics.mojom
new file mode 100644
index 0000000000000000000000000000000000000000..13b8d18db582c5b6e6d474702310ffb4c8b4b8af
--- /dev/null
+++ b/chrome/common/page_load_metrics/page_load_metrics.mojom
@@ -0,0 +1,56 @@
+// 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.
+
+module page_load_metrics.mojom;
+
+import "mojo/common/time.mojom";
+
+// See comments in page_load_timing.h for details on each field.
+
+struct DocumentTiming {
+ mojo.common.mojom.TimeDelta? dom_content_loaded_event_start;
+ mojo.common.mojom.TimeDelta? load_event_start;
+ mojo.common.mojom.TimeDelta? first_layout;
+};
+
+struct PaintTiming {
+ mojo.common.mojom.TimeDelta? first_paint;
+ mojo.common.mojom.TimeDelta? first_text_paint;
+ mojo.common.mojom.TimeDelta? first_image_paint;
+ mojo.common.mojom.TimeDelta? first_contentful_paint;
+ mojo.common.mojom.TimeDelta? first_meaningful_paint;
+};
+
+struct ParseTiming {
+ mojo.common.mojom.TimeDelta? parse_start;
+ mojo.common.mojom.TimeDelta? parse_stop;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_load_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_load_from_document_write_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_execution_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_execution_from_document_write_duration;
+};
+
+struct StyleSheetTiming {
+ mojo.common.mojom.TimeDelta? author_style_sheet_parse_duration_before_fcp;
+ mojo.common.mojom.TimeDelta? update_style_duration_before_fcp;
+};
+
+struct PageLoadTiming {
+ mojo.common.mojom.Time navigation_start;
+ mojo.common.mojom.TimeDelta? response_start;
+ DocumentTiming document_timing;
Bryan McQuade 2017/04/26 15:24:22 In looking at the generated code for this struct i
Ken Rockot(use gerrit already) 2017/04/26 15:28:45 Yes, this is the point of typemapping. You typemap
Bryan McQuade 2017/04/26 20:41:51 Based on other discussions on the thread, I'm incl
lpy 2017/04/27 10:58:35 I prefer not to do it. I don't see clear benefit e
Bryan McQuade 2017/04/27 15:42:32 Ok. Just so I better understand, if we were writin
lpy 2017/05/05 17:49:30 Acknowledged.
+ PaintTiming paint_timing;
+ ParseTiming parse_timing;
+ StyleSheetTiming style_sheet_timing;
+};
+
+struct PageLoadMetadata {
+ int32 behavior_flags;
+};
+
+// Sent from renderer to browser process when the PageLoadTiming for the
+// associated frame changed.
+interface PageLoadMetrics {
+ UpdateTiming(PageLoadTiming page_load_timing, PageLoadMetadata page_load_metadata);
Bryan McQuade 2017/04/26 15:24:22 similarly, the generated code appears to be using
lpy 2017/05/05 17:49:30 Acknowledged.
+};

Powered by Google App Engine
This is Rietveld 408576698