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 e28a4a3ce7d34e8e40a66a782573224431da5357..140e33994f6c261f5199ff669193f6955fb35697 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,35 @@ |
namespace page_load_metrics { |
-bool EventOccurredInForeground(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); |
+namespace { |
+ |
+// Returns true if: |
+// - We have timing information for the event. |
+// - The event occurred prior to the page being moved to the background. |
+bool InForeground(base::TimeDelta event, const PageLoadExtraInfo& info) { |
Charlie Harrison
2016/02/22 23:25:56
nit: Why not "EventInForeground" for symmetry? I l
|
+ if (event.is_zero()) |
+ return false; |
+ |
+ if (!info.started_in_foreground && |
+ (info.first_foreground_time.is_zero() || |
+ event < info.first_foreground_time)) { |
+ return false; |
+ } |
+ |
+ return info.first_background_time.is_zero() || |
+ event < info.first_background_time; |
+} |
+ |
+} // namespace |
+ |
+bool StartInForegroundEventInForeground(base::TimeDelta event, |
+ const PageLoadExtraInfo& info) { |
+ return info.started_in_foreground && InForeground(event, info); |
+} |
+ |
+bool StartInBackgroundEventInForeground(base::TimeDelta event, |
+ const PageLoadExtraInfo& info) { |
+ return !info.started_in_foreground && InForeground(event, info); |
} |
} // namespace page_load_metrics |