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

Unified Diff: components/page_load_metrics/browser/page_load_metrics_util.cc

Issue 1837233002: Optional <TimeDelta> since they may be non existent. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added dcheck when isHighResolution is true. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: components/page_load_metrics/browser/page_load_metrics_util.cc
diff --git a/components/page_load_metrics/browser/page_load_metrics_util.cc b/components/page_load_metrics/browser/page_load_metrics_util.cc
index a9ead770ea308b064e88f1d5c375dadb6f5d5e95..96217bf00cd7df8399659dad5f9f67de77ce7a9d 100644
--- a/components/page_load_metrics/browser/page_load_metrics_util.cc
+++ b/components/page_load_metrics/browser/page_load_metrics_util.cc
@@ -14,8 +14,19 @@ namespace page_load_metrics {
bool WasStartedInForegroundEventInForeground(base::TimeDelta event,
const PageLoadExtraInfo& info) {
return info.started_in_foreground && !event.is_zero() &&
- (info.first_background_time.is_zero() ||
- event < info.first_background_time);
+ (!info.first_background_time ||
+ event <= info.first_background_time.value());
+}
+
+// TODO (shivanisha) The above function is used for TimeDeltas coming over IPC.
+// Merge these two when page_load_metrics only handles Optional TimeDelta
+// values in the browser process.
+bool WasStartedInForegroundOptionalEventInForeground(
+ const base::Optional<base::TimeDelta>& event,
+ const PageLoadExtraInfo& info) {
+ return info.started_in_foreground && event &&
+ (!info.first_background_time ||
+ event.value() <= info.first_background_time.value());
}
bool WasParseInForeground(base::TimeDelta parse_start,
@@ -24,9 +35,9 @@ bool WasParseInForeground(base::TimeDelta parse_start,
if (parse_start.is_zero()) {
return false;
}
- const bool incomplete_parse_in_foreground =
- parse_stop.is_zero() && info.started_in_foreground &&
- info.first_background_time.is_zero();
+ const bool incomplete_parse_in_foreground = parse_stop.is_zero() &&
+ info.started_in_foreground &&
+ !info.first_background_time;
return incomplete_parse_in_foreground ||
WasStartedInForegroundEventInForeground(parse_stop, info);
« no previous file with comments | « components/page_load_metrics/browser/page_load_metrics_util.h ('k') | components/page_load_metrics/common/page_load_timing.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698