| Index: chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.cc
|
| index 56981a3f71bc362fdae31de14f501d6887620499..4c651b56ee31e2750ca87588467f56050011e227 100644
|
| --- a/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.cc
|
| @@ -1,30 +1,28 @@
|
| // Copyright 2016 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| #include "chrome/browser/page_load_metrics/observers/previews_page_load_metrics_observer.h"
|
|
|
| #include <string>
|
|
|
| #include "base/optional.h"
|
| #include "base/time/time.h"
|
| +#include "chrome/browser/loader/chrome_navigation_data.h"
|
| #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
|
| #include "chrome/common/features.h"
|
| #include "chrome/common/page_load_metrics/page_load_timing.h"
|
| +#include "components/offline_pages/loaded_offline_page_info.h"
|
| #include "content/public/browser/navigation_handle.h"
|
| #include "content/public/browser/web_contents.h"
|
|
|
| -#if BUILDFLAG(ANDROID_JAVA_UI)
|
| -#include "chrome/browser/android/offline_pages/offline_page_tab_helper.h"
|
| -#endif // BUILDFLAG(ANDROID_JAVA_UI)
|
| -
|
| namespace previews {
|
|
|
| namespace internal {
|
|
|
| const char kHistogramOfflinePreviewsDOMContentLoadedEventFired[] =
|
| "PageLoad.Clients.Previews.OfflinePages.DocumentTiming."
|
| "NavigationToDOMContentLoadedEventFired";
|
| const char kHistogramOfflinePreviewsFirstLayout[] =
|
| "PageLoad.Clients.Previews.OfflinePages.DocumentTiming."
|
| "NavigationToFirstLayout";
|
| @@ -39,23 +37,28 @@ const char kHistogramOfflinePreviewsParseStart[] =
|
|
|
| } // namespace internal
|
|
|
| PreviewsPageLoadMetricsObserver::PreviewsPageLoadMetricsObserver() {}
|
|
|
| PreviewsPageLoadMetricsObserver::~PreviewsPageLoadMetricsObserver() {}
|
|
|
| page_load_metrics::PageLoadMetricsObserver::ObservePolicy
|
| PreviewsPageLoadMetricsObserver::OnCommit(
|
| content::NavigationHandle* navigation_handle) {
|
| - return IsOfflinePreview(navigation_handle->GetWebContents())
|
| - ? CONTINUE_OBSERVING
|
| - : STOP_OBSERVING;
|
| + ChromeNavigationData* chrome_navigation_data =
|
| + ChromeNavigationData::GetForNavigationHandle(navigation_handle);
|
| + if (!chrome_navigation_data)
|
| + return STOP_OBSERVING;
|
| + offline_pages::LoadedOfflinePageInfo* info =
|
| + chrome_navigation_data->GetLoadedOfflinePageInfo();
|
| + return info && info->is_offline_preview() ? CONTINUE_OBSERVING
|
| + : STOP_OBSERVING;
|
| }
|
|
|
| void PreviewsPageLoadMetricsObserver::OnDomContentLoadedEventStart(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| if (!WasStartedInForegroundOptionalEventInForeground(
|
| timing.dom_content_loaded_event_start, info)) {
|
| return;
|
| }
|
| PAGE_LOAD_HISTOGRAM(
|
| @@ -100,22 +103,11 @@ void PreviewsPageLoadMetricsObserver::OnParseStart(
|
| const page_load_metrics::PageLoadTiming& timing,
|
| const page_load_metrics::PageLoadExtraInfo& info) {
|
| if (!WasStartedInForegroundOptionalEventInForeground(
|
| timing.dom_content_loaded_event_start, info)) {
|
| return;
|
| }
|
| PAGE_LOAD_HISTOGRAM(internal::kHistogramOfflinePreviewsParseStart,
|
| timing.parse_start.value());
|
| }
|
|
|
| -bool PreviewsPageLoadMetricsObserver::IsOfflinePreview(
|
| - content::WebContents* web_contents) const {
|
| -#if BUILDFLAG(ANDROID_JAVA_UI)
|
| - offline_pages::OfflinePageTabHelper* tab_helper =
|
| - offline_pages::OfflinePageTabHelper::FromWebContents(web_contents);
|
| - return tab_helper && tab_helper->is_offline_preview();
|
| -#else
|
| - return false;
|
| -#endif // BUILDFLAG(ANDROID_JAVA_UI)
|
| -}
|
| -
|
| } // namespace previews
|
|
|