| Index: chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.cc | 
| diff --git a/chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.cc | 
| index 7dcc94a5071c73c7982440f866e333050d7488af..b1ca8e15c9cc1b2a6899331b50621c67502e7c3b 100644 | 
| --- a/chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.cc | 
| +++ b/chrome/browser/page_load_metrics/observers/android_page_load_metrics_observer.cc | 
| @@ -9,6 +9,7 @@ | 
| #include "base/android/jni_android.h" | 
| #include "base/android/jni_string.h" | 
| #include "base/android/scoped_java_ref.h" | 
| +#include "base/time/time.h" | 
| #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" | 
| #include "content/public/browser/browser_thread.h" | 
| #include "content/public/browser/web_contents.h" | 
| @@ -19,6 +20,15 @@ AndroidPageLoadMetricsObserver::AndroidPageLoadMetricsObserver( | 
| content::WebContents* web_contents) | 
| : web_contents_(web_contents) {} | 
|  | 
| +page_load_metrics::PageLoadMetricsObserver::ObservePolicy | 
| +AndroidPageLoadMetricsObserver::OnStart( | 
| +    content::NavigationHandle* navigation_handle, | 
| +    const GURL& currently_committed_url, | 
| +    bool started_in_foreground) { | 
| +  navigation_start_ = navigation_handle->NavigationStart(); | 
| +  return CONTINUE_OBSERVING; | 
| +} | 
| + | 
| void AndroidPageLoadMetricsObserver::OnFirstContentfulPaint( | 
| const page_load_metrics::PageLoadTiming& timing, | 
| const page_load_metrics::PageLoadExtraInfo& extra_info) { | 
| @@ -29,5 +39,8 @@ void AndroidPageLoadMetricsObserver::OnFirstContentfulPaint( | 
| web_contents_->GetJavaWebContents(); | 
| JNIEnv* env = base::android::AttachCurrentThread(); | 
| Java_PageLoadMetrics_onFirstContentfulPaint( | 
| -      env, java_web_contents, static_cast<jlong>(first_contentful_paint_ms)); | 
| +      env, java_web_contents, | 
| +      static_cast<jlong>( | 
| +          (navigation_start_ - base::TimeTicks()).InMicroseconds()), | 
| +      static_cast<jlong>(first_contentful_paint_ms)); | 
| } | 
|  |