Index: chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java |
index fb7304208aed6c5c8f4111530b8e4c5d3a30651d..9b2e752de04f49ea8e5f050550f5225810d20aa1 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java |
@@ -131,8 +131,10 @@ public class CustomTabsConnection { |
private final AtomicBoolean mWarmupHasBeenCalled = new AtomicBoolean(); |
private final AtomicBoolean mWarmupHasBeenFinished = new AtomicBoolean(); |
private ExternalPrerenderHandler mExternalPrerenderHandler; |
- private long mOffsetTick; |
- private boolean mOffsetTickComputed = false; |
+ |
+ // Conversion between native TimeTicks and SystemClock.uptimeMillis(). |
+ private long mNativeTickOffsetUs; |
+ private boolean mNativeTickOffsetUsComputed; |
/** |
* <strong>DO NOT CALL</strong> |
@@ -686,7 +688,8 @@ public class CustomTabsConnection { |
* |
* @param session Session identifier. |
* @param metricName Name of the page load metric. |
- * @param navigationStartTick Absolute navigation start time, as TimeTicks. |
+ * @param navigationStartTick Absolute navigation start time, as TimeTicks taken from native. |
+ * |
* @param offsetMs Offset in ms from navigationStart. |
*/ |
boolean notifyPageLoadMetric(CustomTabsSessionToken session, String metricName, |
@@ -694,16 +697,17 @@ public class CustomTabsConnection { |
CustomTabsCallback callback = mClientManager.getCallbackForSession(session); |
if (callback == null) return false; |
- if (!mOffsetTickComputed) { |
+ if (!mNativeTickOffsetUsComputed) { |
// Compute offset from time ticks to uptimeMillis. |
- mOffsetTickComputed = true; |
+ mNativeTickOffsetUsComputed = true; |
long nativeNowUs = TimeUtils.nativeGetTimeTicksNowUs(); |
long javaNowUs = SystemClock.uptimeMillis() * 1000; |
- mOffsetTick = nativeNowUs - javaNowUs; |
+ mNativeTickOffsetUs = nativeNowUs - javaNowUs; |
} |
Bundle args = new Bundle(); |
- args.putLong(PageLoadMetrics.NAVIGATION_START, (navigationStartTick - mOffsetTick) / 1000); |
+ args.putLong(PageLoadMetrics.NAVIGATION_START, |
+ (navigationStartTick - mNativeTickOffsetUs) / 1000); |
args.putLong(metricName, offsetMs); |
try { |
callback.extraCallback(PAGE_LOAD_METRICS_CALLBACK, args); |