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

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

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: Remove unnecessary variable 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/page_load_metrics.mojom
diff --git a/chrome/common/page_load_metrics/page_load_timing.h b/chrome/common/page_load_metrics/page_load_metrics.mojom
similarity index 50%
copy from chrome/common/page_load_metrics/page_load_timing.h
copy to chrome/common/page_load_metrics/page_load_metrics.mojom
index 528718810e9d32e667c2a70425647a5a88c7a51e..c755c6366e8f623be904797bd6a6c8121dbb78df 100644
--- a/chrome/common/page_load_metrics/page_load_timing.h
+++ b/chrome/common/page_load_metrics/page_load_metrics.mojom
@@ -1,85 +1,54 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
+// 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.
-#ifndef CHROME_COMMON_PAGE_LOAD_METRICS_PAGE_LOAD_TIMING_H_
-#define CHROME_COMMON_PAGE_LOAD_METRICS_PAGE_LOAD_TIMING_H_
+module page_load_metrics.mojom;
-#include "base/optional.h"
-#include "base/time/time.h"
-#include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h"
-
-namespace page_load_metrics {
+import "mojo/common/time.mojom";
+// TimeDeltas below relative to navigation start.
struct DocumentTiming {
- DocumentTiming();
- DocumentTiming(const DocumentTiming& other);
- ~DocumentTiming();
-
- bool operator==(const DocumentTiming& other) const;
- bool operator!=(const DocumentTiming& other) const {
- return !(*this == other);
- }
-
- bool IsEmpty() const;
-
- // TimeDeltas below relative to navigation start:
-
// Time immediately before the DOMContentLoaded event is fired.
- base::Optional<base::TimeDelta> dom_content_loaded_event_start;
+ mojo.common.mojom.TimeDelta? dom_content_loaded_event_start;
+
// Time immediately before the load event is fired.
- base::Optional<base::TimeDelta> load_event_start;
+ mojo.common.mojom.TimeDelta? load_event_start;
+
// Time when the first layout is completed.
- base::Optional<base::TimeDelta> first_layout;
+ mojo.common.mojom.TimeDelta? first_layout;
};
+// TimeDeltas below relative to navigation start.
struct PaintTiming {
- PaintTiming();
- PaintTiming(const PaintTiming& other);
- ~PaintTiming();
-
- bool operator==(const PaintTiming& other) const;
- bool operator!=(const PaintTiming& other) const { return !(*this == other); }
-
- bool IsEmpty() const;
-
- // TimeDeltas below relative to navigation start:
-
// Time when the first paint is performed.
- base::Optional<base::TimeDelta> first_paint;
+ mojo.common.mojom.TimeDelta? first_paint;
+
// Time when the first non-blank text is painted.
- base::Optional<base::TimeDelta> first_text_paint;
+ mojo.common.mojom.TimeDelta? first_text_paint;
+
// Time when the first image is painted.
- base::Optional<base::TimeDelta> first_image_paint;
+ mojo.common.mojom.TimeDelta? first_image_paint;
+
// Time when the first contentful thing (image, text, etc.) is painted.
- base::Optional<base::TimeDelta> first_contentful_paint;
+ mojo.common.mojom.TimeDelta? first_contentful_paint;
+
// (Experimental) Time when the page's primary content is painted.
- base::Optional<base::TimeDelta> first_meaningful_paint;
+ mojo.common.mojom.TimeDelta? first_meaningful_paint;
};
+// TimeDeltas below represent durations of time during the page load.
struct ParseTiming {
- ParseTiming();
- ParseTiming(const ParseTiming& other);
- ~ParseTiming();
-
- bool operator==(const ParseTiming& other) const;
- bool operator!=(const ParseTiming& other) const { return !(*this == other); }
-
- bool IsEmpty() const;
-
- // TimeDeltas below represent durations of time during the page load:
-
// Time that the document's parser started and stopped parsing main resource
// content.
- base::Optional<base::TimeDelta> parse_start;
- base::Optional<base::TimeDelta> parse_stop;
+ mojo.common.mojom.TimeDelta? parse_start;
+ mojo.common.mojom.TimeDelta? parse_stop;
// Sum of times when the parser is blocked waiting on the load of a script.
// This duration takes place between parser_start and parser_stop, and thus
// must be less than or equal to parser_stop - parser_start. Note that this
// value may be updated multiple times during the period between parse_start
// and parse_stop.
- base::Optional<base::TimeDelta> parse_blocked_on_script_load_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_load_duration;
// Sum of times when the parser is blocked waiting on the load of a script
// that was inserted from document.write. This duration must be less than or
@@ -88,14 +57,13 @@ struct ParseTiming {
// parse_stop. Note that some uncommon cases where scripts are loaded via
// document.write are not currently covered by this field. See crbug/600711
// for details.
- base::Optional<base::TimeDelta>
- parse_blocked_on_script_load_from_document_write_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_load_from_document_write_duration;
// Sum of times when the parser is executing a script. This duration takes
// place between parser_start and parser_stop, and thus must be less than or
// equal to parser_stop - parser_start. Note that this value may be updated
// multiple times during the period between parse_start and parse_stop.
- base::Optional<base::TimeDelta> parse_blocked_on_script_execution_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_execution_duration;
// Sum of times when the parser is executing a script that was inserted from
// document.write. This duration must be less than or equal to
@@ -103,72 +71,45 @@ struct ParseTiming {
// multiple times during the period between parse_start and parse_stop. Note
// that some uncommon cases where scripts are loaded via document.write are
// not currently covered by this field. See crbug/600711 for details.
- base::Optional<base::TimeDelta>
- parse_blocked_on_script_execution_from_document_write_duration;
+ mojo.common.mojom.TimeDelta? parse_blocked_on_script_execution_from_document_write_duration;
};
struct StyleSheetTiming {
- StyleSheetTiming();
- StyleSheetTiming(const StyleSheetTiming& other);
- ~StyleSheetTiming();
-
- bool operator==(const StyleSheetTiming& other) const;
- bool operator!=(const StyleSheetTiming& other) const {
- return !(*this == other);
- }
-
- bool IsEmpty() const;
-
// Total time spent parsing author style sheets, before the first contentful
// paint.
- base::Optional<base::TimeDelta> author_style_sheet_parse_duration_before_fcp;
-
+ mojo.common.mojom.TimeDelta? author_style_sheet_parse_duration_before_fcp;
// Time spent in Document::updateStyle before FCP.
- base::Optional<base::TimeDelta> update_style_duration_before_fcp;
+ mojo.common.mojom.TimeDelta? update_style_duration_before_fcp;
};
// PageLoadTiming contains timing metrics associated with a page load. Many of
// the metrics here are based on the Navigation Timing spec:
// http://www.w3.org/TR/navigation-timing/.
struct PageLoadTiming {
- public:
- PageLoadTiming();
- PageLoadTiming(const PageLoadTiming& other);
- ~PageLoadTiming();
-
- bool operator==(const PageLoadTiming& other) const;
- bool operator!=(const PageLoadTiming& other) const {
- return !(*this == other);
- }
-
- bool IsEmpty() const;
-
// Time that the navigation for the associated page was initiated. Note that
// this field is only used for internal tracking purposes and should not be
// used by PageLoadMetricsObservers. This field will likely be removed in the
// future.
- base::Time navigation_start;
+ mojo.common.mojom.Time navigation_start;
// Time relative to navigation_start that the first byte of the response is
// received.
- base::Optional<base::TimeDelta> response_start;
-
+ mojo.common.mojom.TimeDelta? response_start;
DocumentTiming document_timing;
PaintTiming paint_timing;
ParseTiming parse_timing;
StyleSheetTiming style_sheet_timing;
- // If you add additional members, also be sure to update operator==,
- // page_load_metrics_messages.h, and IsEmpty().
+ // If you add additional members, also be sure to update page_load_timing.h.
};
struct PageLoadMetadata {
- PageLoadMetadata();
- bool operator==(const PageLoadMetadata& other) const;
// These are packed blink::WebLoadingBehaviorFlag enums.
- int behavior_flags = blink::kWebLoadingBehaviorNone;
+ int32 behavior_flags = 0;
};
-} // namespace page_load_metrics
-
-#endif // CHROME_COMMON_PAGE_LOAD_METRICS_PAGE_LOAD_TIMING_H_
+// 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);
+};
« no previous file with comments | « chrome/common/page_load_metrics/OWNERS ('k') | chrome/common/page_load_metrics/page_load_metrics_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698