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

Unified Diff: chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc

Issue 2883273003: Move the user interaction policy for FirstMeaningfulPaint UMA into renderer (Closed)
Patch Set: rebase Created 3 years, 6 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: 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(

Powered by Google App Engine
This is Rietveld 408576698