| Index: chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc | 
| diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc | 
| index b8d9232578a8584343dd8ce37dd772ee96b61934..4e19cb9763f50611eab9b796b4e2573f97d045f4 100644 | 
| --- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc | 
| +++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc | 
| @@ -104,12 +104,6 @@ const char kBackgroundHistogramFirstContentfulPaint[] = | 
| "PageLoad.PaintTiming.NavigationToFirstContentfulPaint.Background"; | 
| const char kHistogramFirstMeaningfulPaint[] = | 
| "PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint"; | 
| -const char kHistogramFirstMeaningfulPaintNoUserInput[] = | 
| -    "PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint." | 
| -    "NoUserInput"; | 
| -const char kHistogramFirstMeaningfulPaintHadUserInput[] = | 
| -    "PageLoad.Experimental.PaintTiming.NavigationToFirstMeaningfulPaint." | 
| -    "HadUserInput"; | 
| const char kHistogramParseStartToFirstMeaningfulPaint[] = | 
| "PageLoad.Experimental.PaintTiming.ParseStartToFirstMeaningfulPaint"; | 
| const char kHistogramParseStartToFirstContentfulPaint[] = | 
| @@ -120,8 +114,6 @@ const char kHistogramParseStart[] = | 
| "PageLoad.ParseTiming.NavigationToParseStart"; | 
| const char kBackgroundHistogramParseStart[] = | 
| "PageLoad.ParseTiming.NavigationToParseStart.Background"; | 
| -const char kHistogramFirstMeaningfulPaintToNetworkStable[] = | 
| -    "PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintToNetworkStable"; | 
| const char kHistogramParseDuration[] = "PageLoad.ParseTiming.ParseDuration"; | 
| const char kBackgroundHistogramParseDuration[] = | 
| "PageLoad.ParseTiming.ParseDuration.Background"; | 
| @@ -211,8 +203,6 @@ const char kHistogramFirstContentfulPaintUserInitiated[] = | 
|  | 
| const char kHistogramFirstMeaningfulPaintStatus[] = | 
| "PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintStatus"; | 
| -const char kHistogramFirstMeaningfulPaintSignalStatus2[] = | 
| -    "PageLoad.Experimental.PaintTiming.FirstMeaningfulPaintSignalStatus2"; | 
|  | 
| const char kHistogramFirstNonScrollInputAfterFirstPaint[] = | 
| "PageLoad.InputTiming.NavigationToFirstNonScroll.AfterPaint"; | 
| @@ -478,26 +468,14 @@ void CorePageLoadMetricsObserver::OnFirstContentfulPaintInPage( | 
| void CorePageLoadMetricsObserver::OnFirstMeaningfulPaintInMainFrameDocument( | 
| const page_load_metrics::mojom::PageLoadTiming& timing, | 
| const page_load_metrics::PageLoadExtraInfo& info) { | 
| -  base::TimeTicks paint = info.navigation_start + | 
| -                          timing.paint_timing->first_meaningful_paint.value(); | 
| -  if (first_user_interaction_after_first_paint_.is_null() || | 
| -      paint < first_user_interaction_after_first_paint_) { | 
| -    if (WasStartedInForegroundOptionalEventInForeground( | 
| -            timing.paint_timing->first_meaningful_paint, info)) { | 
| -      PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstMeaningfulPaint, | 
| -                          timing.paint_timing->first_meaningful_paint.value()); | 
| -      PAGE_LOAD_HISTOGRAM(internal::kHistogramParseStartToFirstMeaningfulPaint, | 
| -                          timing.paint_timing->first_meaningful_paint.value() - | 
| -                              timing.parse_timing->parse_start.value()); | 
| -      PAGE_LOAD_HISTOGRAM( | 
| -          internal::kHistogramFirstMeaningfulPaintToNetworkStable, | 
| -          base::TimeTicks::Now() - paint); | 
| -      RecordFirstMeaningfulPaintStatus( | 
| -          internal::FIRST_MEANINGFUL_PAINT_RECORDED); | 
| -    } else { | 
| -      RecordFirstMeaningfulPaintStatus( | 
| -          internal::FIRST_MEANINGFUL_PAINT_BACKGROUNDED); | 
| -    } | 
| +  if (WasStartedInForegroundOptionalEventInForeground( | 
| +          timing.paint_timing->first_meaningful_paint, info)) { | 
| +    PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstMeaningfulPaint, | 
| +                        timing.paint_timing->first_meaningful_paint.value()); | 
| +    PAGE_LOAD_HISTOGRAM(internal::kHistogramParseStartToFirstMeaningfulPaint, | 
| +                        timing.paint_timing->first_meaningful_paint.value() - | 
| +                            timing.parse_timing->parse_start.value()); | 
| +    RecordFirstMeaningfulPaintStatus(internal::FIRST_MEANINGFUL_PAINT_RECORDED); | 
|  | 
| if (WasStartedInBackgroundOptionalEventInForeground( | 
| timing.paint_timing->first_meaningful_paint, info)) { | 
| @@ -507,7 +485,7 @@ void CorePageLoadMetricsObserver::OnFirstMeaningfulPaintInMainFrameDocument( | 
| } | 
| } else { | 
| RecordFirstMeaningfulPaintStatus( | 
| -          internal::FIRST_MEANINGFUL_PAINT_USER_INTERACTION_BEFORE_FMP); | 
| +        internal::FIRST_MEANINGFUL_PAINT_BACKGROUNDED); | 
| } | 
| } | 
|  | 
| @@ -656,13 +634,6 @@ void CorePageLoadMetricsObserver::OnFailedProvisionalLoad( | 
| void CorePageLoadMetricsObserver::OnUserInput( | 
| const blink::WebInputEvent& event) { | 
| base::TimeTicks now; | 
| -  if (!first_paint_.is_null() && | 
| -      first_user_interaction_after_first_paint_.is_null() && | 
| -      event.GetType() != blink::WebInputEvent::kMouseMove) { | 
| -    if (now.is_null()) | 
| -      now = base::TimeTicks::Now(); | 
| -    first_user_interaction_after_first_paint_ = now; | 
| -  } | 
|  | 
| if (first_paint_.is_null()) | 
| return; | 
| @@ -718,30 +689,6 @@ void CorePageLoadMetricsObserver::RecordTimingHistograms( | 
| : internal:: | 
| FIRST_MEANINGFUL_PAINT_DID_NOT_REACH_FIRST_CONTENTFUL_PAINT); | 
| } | 
| - | 
| -  if (timing.paint_timing->first_paint) { | 
| -    enum FirstMeaningfulPaintSignalStatus { | 
| -      HAD_USER_INPUT = 1 << 0, | 
| -      NETWORK_STABLE = 1 << 1, | 
| -      FIRST_MEANINGFUL_PAINT_SIGNAL_STATUS_LAST_ENTRY = 1 << 2 | 
| -    }; | 
| -    int signal_status = | 
| -        (first_user_interaction_after_first_paint_.is_null() ? 0 | 
| -                                                             : HAD_USER_INPUT) + | 
| -        (timing.paint_timing->first_meaningful_paint ? NETWORK_STABLE : 0); | 
| -    UMA_HISTOGRAM_ENUMERATION( | 
| -        internal::kHistogramFirstMeaningfulPaintSignalStatus2, | 
| -        signal_status, FIRST_MEANINGFUL_PAINT_SIGNAL_STATUS_LAST_ENTRY); | 
| -  } | 
| -  if (timing.paint_timing->first_meaningful_paint) { | 
| -    if (first_user_interaction_after_first_paint_.is_null()) { | 
| -      PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstMeaningfulPaintNoUserInput, | 
| -                          timing.paint_timing->first_meaningful_paint.value()); | 
| -    } else { | 
| -      PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstMeaningfulPaintHadUserInput, | 
| -                          timing.paint_timing->first_meaningful_paint.value()); | 
| -    } | 
| -  } | 
| } | 
|  | 
| void CorePageLoadMetricsObserver::RecordForegroundDurationHistograms( | 
|  |