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

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: Inter process time ticks skew related error fixed, Rebased Created 4 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: 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 dbfa35ebad04390d702be6642f8a546ce3715e76..211489c6afb4ffd377412261a83cd968ca47e19b 100644
--- a/components/page_load_metrics/browser/page_load_metrics_util.cc
+++ b/components/page_load_metrics/browser/page_load_metrics_util.cc
@@ -11,11 +11,25 @@
namespace page_load_metrics {
-bool WasStartedInForegroundEventInForeground(base::TimeDelta event,
+bool WasStartedInForegroundEventInForeground(const 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) Since the above function is called for
+// TimeDelta coming over IPC (PageLoadTiming) and since Optional is not
+// currently supported in IPC, thus creating another function.
+// They should ideally converge to one function in the future
+// when either the serialization framework supports Optional or we send
+// actual timestamps over IPC and compute deltas in 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());
}
} // namespace page_load_metrics

Powered by Google App Engine
This is Rietveld 408576698