| 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 d13ba64cbca2686158bcdbd2ed05fcadecea1857..d5dd2d533beb0c8e5705863a0013b96f43937b9e 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
|
| @@ -240,107 +240,112 @@ void CorePageLoadMetricsObserver::OnCommit(
|
| void CorePageLoadMetricsObserver::OnDomContentLoadedEventStart(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(
|
| + if (WasStartedInForegroundOptionalEventInForeground(
|
| timing.dom_content_loaded_event_start, info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDomContentLoadedImmediate,
|
| - timing.dom_content_loaded_event_start);
|
| + timing.dom_content_loaded_event_start.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramDomContentLoadedImmediate,
|
| - timing.dom_content_loaded_event_start);
|
| + timing.dom_content_loaded_event_start.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnLoadEventStart(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.load_event_start, info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.load_event_start,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramLoadImmediate,
|
| - timing.load_event_start);
|
| + timing.load_event_start.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramLoadImmediate,
|
| - timing.load_event_start);
|
| + timing.load_event_start.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnFirstLayout(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_layout, info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_layout,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstLayoutImmediate,
|
| - timing.first_layout);
|
| + timing.first_layout.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstLayoutImmediate,
|
| - timing.first_layout);
|
| + timing.first_layout.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnFirstPaint(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_paint, info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_paint,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstPaintImmediate,
|
| - timing.first_paint);
|
| + timing.first_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstPaintImmediate,
|
| - timing.first_paint);
|
| + timing.first_paint.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnFirstTextPaint(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_text_paint, info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_text_paint,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstTextPaintImmediate,
|
| - timing.first_text_paint);
|
| + timing.first_text_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstTextPaintImmediate,
|
| - timing.first_text_paint);
|
| + timing.first_text_paint.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnFirstImagePaint(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_image_paint, info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_image_paint,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstImagePaintImmediate,
|
| - timing.first_image_paint);
|
| + timing.first_image_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstImagePaintImmediate,
|
| - timing.first_image_paint);
|
| + timing.first_image_paint.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnFirstContentfulPaint(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_contentful_paint,
|
| - info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(
|
| + timing.first_contentful_paint, info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstContentfulPaintImmediate,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramParseStartToFirstContentfulPaintImmediate,
|
| - timing.first_contentful_paint - timing.parse_start);
|
| + timing.first_contentful_paint.value() - timing.parse_start.value());
|
|
|
| switch (GetPageLoadType(transition_)) {
|
| case LOAD_TYPE_RELOAD:
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramLoadTypeFirstContentfulPaintReload,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| if (initiated_by_user_gesture_) {
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramLoadTypeFirstContentfulPaintReloadByGesture,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| }
|
| break;
|
| case LOAD_TYPE_FORWARD_BACK:
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramLoadTypeFirstContentfulPaintForwardBack,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| break;
|
| case LOAD_TYPE_NEW_NAVIGATION:
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| break;
|
| case LOAD_TYPE_NONE:
|
| NOTREACHED();
|
| @@ -349,32 +354,33 @@ void CorePageLoadMetricsObserver::OnFirstContentfulPaint(
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kBackgroundHistogramFirstContentfulPaintImmediate,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kBackgroundHistogramParseStartToFirstContentfulPaintImmediate,
|
| - timing.first_contentful_paint - timing.parse_start);
|
| + timing.first_contentful_paint.value() - timing.parse_start.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnParseStart(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - if (WasStartedInForegroundEventInForeground(timing.parse_start, info)) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_start,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramParseStartImmediate,
|
| - timing.parse_start);
|
| + timing.parse_start.value());
|
|
|
| switch (GetPageLoadType(transition_)) {
|
| case LOAD_TYPE_RELOAD:
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramLoadTypeParseStartReload,
|
| - timing.parse_start);
|
| + timing.parse_start.value());
|
| break;
|
| case LOAD_TYPE_FORWARD_BACK:
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramLoadTypeParseStartForwardBack,
|
| - timing.parse_start);
|
| + timing.parse_start.value());
|
| break;
|
| case LOAD_TYPE_NEW_NAVIGATION:
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramLoadTypeParseStartNewNavigation,
|
| - timing.parse_start);
|
| + timing.parse_start.value());
|
| break;
|
| case LOAD_TYPE_NONE:
|
| NOTREACHED();
|
| @@ -382,32 +388,36 @@ void CorePageLoadMetricsObserver::OnParseStart(
|
| }
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramParseStartImmediate,
|
| - timing.parse_start);
|
| + timing.parse_start.value());
|
| }
|
| }
|
|
|
| void CorePageLoadMetricsObserver::OnParseStop(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| - base::TimeDelta parse_duration = timing.parse_stop - timing.parse_start;
|
| - if (WasStartedInForegroundEventInForeground(timing.parse_stop, info)) {
|
| + base::TimeDelta parse_duration =
|
| + timing.parse_stop.value() - timing.parse_start.value();
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_stop,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramParseDurationImmediate,
|
| parse_duration);
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramParseBlockedOnScriptLoadImmediate,
|
| - timing.parse_blocked_on_script_load_duration);
|
| + timing.parse_blocked_on_script_load_duration.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramParseBlockedOnScriptLoadDocumentWriteImmediate,
|
| - timing.parse_blocked_on_script_load_from_document_write_duration);
|
| + timing.parse_blocked_on_script_load_from_document_write_duration
|
| + .value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramParseDurationImmediate,
|
| parse_duration);
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kBackgroundHistogramParseBlockedOnScriptLoadImmediate,
|
| - timing.parse_blocked_on_script_load_duration);
|
| + timing.parse_blocked_on_script_load_duration.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::
|
| kBackgroundHistogramParseBlockedOnScriptLoadDocumentWriteImmediate,
|
| - timing.parse_blocked_on_script_load_from_document_write_duration);
|
| + timing.parse_blocked_on_script_load_from_document_write_duration
|
| + .value());
|
| }
|
| }
|
|
|
| @@ -455,15 +465,13 @@ void CorePageLoadMetricsObserver::RecordTimingHistograms(
|
| if (!info.time_to_commit) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramBackgroundBeforeCommit,
|
| first_background_time);
|
| - } else if (timing.first_paint.is_zero() ||
|
| + } else if (!timing.first_paint ||
|
| timing.first_paint > first_background_time) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramBackgroundBeforePaint,
|
| first_background_time);
|
| }
|
| - if (!timing.parse_start.is_zero() &&
|
| - first_background_time >= timing.parse_start &&
|
| - (timing.parse_stop.is_zero() ||
|
| - timing.parse_stop > first_background_time)) {
|
| + if (timing.parse_start && first_background_time >= timing.parse_start &&
|
| + (!timing.parse_stop || timing.parse_stop > first_background_time)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramBackgroundDuringParse,
|
| first_background_time);
|
| }
|
| @@ -493,42 +501,47 @@ void CorePageLoadMetricsObserver::RecordTimingHistograms(
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramCommit, time_to_commit);
|
| }
|
| - if (!timing.dom_content_loaded_event_start.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(
|
| + if (timing.dom_content_loaded_event_start) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(
|
| timing.dom_content_loaded_event_start, info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramDomContentLoaded,
|
| - timing.dom_content_loaded_event_start);
|
| - PAGE_LOAD_HISTOGRAM(
|
| - internal::kHistogramDomLoadingToDomContentLoaded,
|
| - timing.dom_content_loaded_event_start - timing.dom_loading);
|
| + timing.dom_content_loaded_event_start.value());
|
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramDomLoadingToDomContentLoaded,
|
| + timing.dom_content_loaded_event_start.value() -
|
| + timing.dom_loading.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramDomContentLoaded,
|
| - timing.dom_content_loaded_event_start);
|
| + timing.dom_content_loaded_event_start.value());
|
| }
|
| }
|
| - if (!timing.load_event_start.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(timing.load_event_start,
|
| - info)) {
|
| - PAGE_LOAD_HISTOGRAM(internal::kHistogramLoad, timing.load_event_start);
|
| + if (timing.load_event_start) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.load_event_start,
|
| + info)) {
|
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramLoad,
|
| + timing.load_event_start.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramLoad,
|
| - timing.load_event_start);
|
| + timing.load_event_start.value());
|
| }
|
| }
|
| - if (!timing.first_layout.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_layout, info)) {
|
| - PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstLayout, timing.first_layout);
|
| + if (timing.first_layout) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_layout,
|
| + info)) {
|
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstLayout,
|
| + timing.first_layout.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstLayout,
|
| - timing.first_layout);
|
| + timing.first_layout.value());
|
| }
|
| }
|
| - if (!timing.first_paint.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_paint, info)) {
|
| - PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstPaint, timing.first_paint);
|
| + if (timing.first_paint) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_paint,
|
| + info)) {
|
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstPaint,
|
| + timing.first_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstPaint,
|
| - timing.first_paint);
|
| + timing.first_paint.value());
|
| }
|
|
|
| // Record the time to first paint for pages which were:
|
| @@ -541,90 +554,98 @@ void CorePageLoadMetricsObserver::RecordTimingHistograms(
|
| timing.first_paint < info.first_background_time.value())) {
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramForegroundToFirstPaint,
|
| - timing.first_paint - info.first_foreground_time.value());
|
| + timing.first_paint.value() - info.first_foreground_time.value());
|
| }
|
| }
|
| - if (!timing.first_text_paint.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_text_paint,
|
| - info)) {
|
| + if (timing.first_text_paint) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.first_text_paint,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstTextPaint,
|
| - timing.first_text_paint);
|
| + timing.first_text_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstTextPaint,
|
| - timing.first_text_paint);
|
| + timing.first_text_paint.value());
|
| }
|
| }
|
| - if (!timing.first_image_paint.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_image_paint,
|
| - info)) {
|
| + if (timing.first_image_paint) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(
|
| + timing.first_image_paint, info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstImagePaint,
|
| - timing.first_image_paint);
|
| + timing.first_image_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstImagePaint,
|
| - timing.first_image_paint);
|
| + timing.first_image_paint.value());
|
| }
|
| }
|
| - if (!timing.first_contentful_paint.is_zero()) {
|
| - if (WasStartedInForegroundEventInForeground(timing.first_contentful_paint,
|
| - info)) {
|
| + if (timing.first_contentful_paint) {
|
| + if (WasStartedInForegroundOptionalEventInForeground(
|
| + timing.first_contentful_paint, info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstContentfulPaint,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| // Bucket these histograms into high/low resolution clock systems. This
|
| // might point us to directions that will de-noise some UMA.
|
| if (base::TimeTicks::IsHighResolution()) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstContentfulPaintHigh,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstContentfulPaintLow,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| }
|
| - PAGE_LOAD_HISTOGRAM(internal::kHistogramParseStartToFirstContentfulPaint,
|
| - timing.first_contentful_paint - timing.parse_start);
|
| - PAGE_LOAD_HISTOGRAM(internal::kHistogramDomLoadingToFirstContentfulPaint,
|
| - timing.first_contentful_paint - timing.dom_loading);
|
| + PAGE_LOAD_HISTOGRAM(
|
| + internal::kHistogramParseStartToFirstContentfulPaint,
|
| + timing.first_contentful_paint.value() - timing.parse_start.value());
|
| + PAGE_LOAD_HISTOGRAM(
|
| + internal::kHistogramDomLoadingToFirstContentfulPaint,
|
| + timing.first_contentful_paint.value() - timing.dom_loading.value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstContentfulPaint,
|
| - timing.first_contentful_paint);
|
| + timing.first_contentful_paint.value());
|
| }
|
| }
|
| - if (!timing.parse_start.is_zero()) {
|
| + if (timing.parse_start) {
|
| if (WasParseInForeground(timing.parse_start, timing.parse_stop, info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramParseBlockedOnScriptLoad,
|
| - timing.parse_blocked_on_script_load_duration);
|
| + timing.parse_blocked_on_script_load_duration.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramParseBlockedOnScriptLoadDocumentWrite,
|
| - timing.parse_blocked_on_script_load_from_document_write_duration);
|
| + timing.parse_blocked_on_script_load_from_document_write_duration
|
| + .value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kBackgroundHistogramParseBlockedOnScriptLoad,
|
| - timing.parse_blocked_on_script_load_duration);
|
| + timing.parse_blocked_on_script_load_duration.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kBackgroundHistogramParseBlockedOnScriptLoadDocumentWrite,
|
| - timing.parse_blocked_on_script_load_from_document_write_duration);
|
| + timing.parse_blocked_on_script_load_from_document_write_duration
|
| + .value());
|
| }
|
| }
|
|
|
| - if (!timing.parse_stop.is_zero()) {
|
| - base::TimeDelta parse_duration = timing.parse_stop - timing.parse_start;
|
| - if (WasStartedInForegroundEventInForeground(timing.parse_stop, info)) {
|
| + if (timing.parse_stop) {
|
| + base::TimeDelta parse_duration =
|
| + timing.parse_stop.value() - timing.parse_start.value();
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_stop,
|
| + info)) {
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramParseDuration, parse_duration);
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kHistogramParseBlockedOnScriptLoadParseComplete,
|
| - timing.parse_blocked_on_script_load_duration);
|
| + timing.parse_blocked_on_script_load_duration.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::
|
| kHistogramParseBlockedOnScriptLoadDocumentWriteParseComplete,
|
| - timing.parse_blocked_on_script_load_from_document_write_duration);
|
| + timing.parse_blocked_on_script_load_from_document_write_duration
|
| + .value());
|
| } else {
|
| PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramParseDuration,
|
| parse_duration);
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::kBackgroundHistogramParseBlockedOnScriptLoadParseComplete,
|
| - timing.parse_blocked_on_script_load_duration);
|
| + timing.parse_blocked_on_script_load_duration.value());
|
| PAGE_LOAD_HISTOGRAM(
|
| internal::
|
| kBackgroundHistogramParseBlockedOnScriptLoadDocumentWriteParseComplete,
|
| - timing.parse_blocked_on_script_load_from_document_write_duration);
|
| + timing.parse_blocked_on_script_load_from_document_write_duration
|
| + .value());
|
| }
|
| }
|
|
|
| @@ -657,8 +678,8 @@ void CorePageLoadMetricsObserver::RecordRappor(
|
| return;
|
| DCHECK(!info.committed_url.is_empty());
|
| // Log the eTLD+1 of sites that show poor loading performance.
|
| - if (!WasStartedInForegroundEventInForeground(timing.first_contentful_paint,
|
| - info)) {
|
| + if (!WasStartedInForegroundOptionalEventInForeground(
|
| + timing.first_contentful_paint, info)) {
|
| return;
|
| }
|
| std::unique_ptr<rappor::Sample> sample =
|
| @@ -666,13 +687,13 @@ void CorePageLoadMetricsObserver::RecordRappor(
|
| sample->SetStringField(
|
| "Domain", rappor::GetDomainAndRegistrySampleFromGURL(info.committed_url));
|
| uint64_t bucket_index =
|
| - RapporHistogramBucketIndex(timing.first_contentful_paint);
|
| + RapporHistogramBucketIndex(timing.first_contentful_paint.value());
|
| sample->SetFlagsField("Bucket", uint64_t(1) << bucket_index,
|
| kNumRapporHistogramBuckets);
|
| // The IsSlow flag is just a one bit boolean if the first contentful paint
|
| // was > 10s.
|
| - sample->SetFlagsField("IsSlow",
|
| - timing.first_contentful_paint.InSecondsF() >= 10, 1);
|
| + sample->SetFlagsField(
|
| + "IsSlow", timing.first_contentful_paint.value().InSecondsF() >= 10, 1);
|
| rappor_service->RecordSampleObj(internal::kRapporMetricsNameCoarseTiming,
|
| std::move(sample));
|
| }
|
|
|