Index: chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
index f71bfafe964a7bb474d7d11c974bfc342fb80223..86a76e25c8ed3f35079a4c580c73489dbca8cff0 100644 |
--- a/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
+++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer.cc |
@@ -115,6 +115,12 @@ bool IsValidPageLoadTiming(const PageLoadTiming& timing) { |
<< " for parse duration " << parse_duration; |
return false; |
} |
+ if (timing.parse_blocked_on_script_execution_duration > parse_duration) { |
+ NOTREACHED() << "Invalid parse_blocked_on_script_execution_duration " |
+ << timing.parse_blocked_on_script_execution_duration |
+ << " for parse duration " << parse_duration; |
+ return false; |
+ } |
} |
if (timing.parse_blocked_on_script_load_from_document_write_duration > |
@@ -127,6 +133,17 @@ bool IsValidPageLoadTiming(const PageLoadTiming& timing) { |
return false; |
} |
+ if (timing.parse_blocked_on_script_execution_from_document_write_duration > |
+ timing.parse_blocked_on_script_execution_duration) { |
+ NOTREACHED() |
+ << "Invalid " |
+ "parse_blocked_on_script_execution_from_document_write_duration " |
+ << timing.parse_blocked_on_script_execution_from_document_write_duration |
+ << " for parse_blocked_on_script_execution_duration " |
+ << timing.parse_blocked_on_script_execution_duration; |
+ return false; |
+ } |
+ |
if (!EventsInOrder(timing.parse_stop, |
timing.dom_content_loaded_event_start)) { |
NOTREACHED() << "Invalid parse_stop " << timing.parse_stop |