Index: chrome/common/page_load_metrics/page_load_metrics_util.cc |
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_util.cc b/chrome/common/page_load_metrics/page_load_metrics_util.cc |
similarity index 38% |
copy from chrome/browser/page_load_metrics/page_load_metrics_util.cc |
copy to chrome/common/page_load_metrics/page_load_metrics_util.cc |
index 22ec5505e23665708b80541e24c2f059047659b0..43e65e995986ac72154670454eccb641701dc381 100644 |
--- a/chrome/browser/page_load_metrics/page_load_metrics_util.cc |
+++ b/chrome/common/page_load_metrics/page_load_metrics_util.cc |
@@ -1,50 +1,16 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Copyright 2017 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/page_load_metrics_util.h" |
+#include "chrome/common/page_load_metrics/page_load_metrics_util.h" |
#include <algorithm> |
-#include "chrome/common/page_load_metrics/page_load_timing.h" |
+#include "base/strings/string_util.h" |
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
-#include "url/gurl.h" |
namespace page_load_metrics { |
-namespace { |
- |
-bool IsBackgroundAbort(const PageLoadExtraInfo& info) { |
- if (!info.started_in_foreground || !info.first_background_time) |
- return false; |
- |
- if (!info.page_end_time) |
- return true; |
- |
- return info.first_background_time <= info.page_end_time; |
-} |
- |
-PageAbortReason GetAbortReasonForEndReason(PageEndReason end_reason) { |
- switch (end_reason) { |
- case END_RELOAD: |
- return ABORT_RELOAD; |
- case END_FORWARD_BACK: |
- return ABORT_FORWARD_BACK; |
- case END_NEW_NAVIGATION: |
- return ABORT_NEW_NAVIGATION; |
- case END_STOP: |
- return ABORT_STOP; |
- case END_CLOSE: |
- return ABORT_CLOSE; |
- case END_OTHER: |
- return ABORT_OTHER; |
- default: |
- return ABORT_NONE; |
- } |
-} |
- |
-} // namespace |
- |
base::Optional<std::string> GetGoogleHostnamePrefix(const GURL& url) { |
const size_t registry_length = |
net::registry_controlled_domains::GetRegistryLength( |
@@ -84,54 +50,6 @@ bool IsGoogleHostname(const GURL& url) { |
return GetGoogleHostnamePrefix(url).has_value(); |
} |
-bool WasStartedInForegroundOptionalEventInForeground( |
- const base::Optional<base::TimeDelta>& event, |
- const PageLoadExtraInfo& info) { |
- return info.started_in_foreground && event && |
- (!info.first_background_time || |
- event.value() <= info.first_background_time.value()); |
-} |
- |
-PageAbortInfo GetPageAbortInfo(const PageLoadExtraInfo& info) { |
- if (IsBackgroundAbort(info)) { |
- // Though most cases where a tab is backgrounded are user initiated, we |
- // can't be certain that we were backgrounded due to a user action. For |
- // example, on Android, the screen times out after a period of inactivity, |
- // resulting in a non-user-initiated backgrounding. |
- return {ABORT_BACKGROUND, UserInitiatedInfo::NotUserInitiated(), |
- info.first_background_time.value()}; |
- } |
- |
- PageAbortReason abort_reason = |
- GetAbortReasonForEndReason(info.page_end_reason); |
- if (abort_reason == ABORT_NONE) |
- return PageAbortInfo(); |
- |
- return {abort_reason, info.page_end_user_initiated_info, |
- info.page_end_time.value()}; |
-} |
- |
-base::Optional<base::TimeDelta> GetInitialForegroundDuration( |
- const PageLoadExtraInfo& info, |
- base::TimeTicks app_background_time) { |
- if (!info.started_in_foreground) |
- return base::Optional<base::TimeDelta>(); |
- |
- base::Optional<base::TimeDelta> time_on_page = |
- OptionalMin(info.first_background_time, info.page_end_time); |
- |
- // If we don't have a time_on_page value yet, and we have an app background |
- // time, use the app background time as our end time. This addresses cases |
- // where the Chrome app is backgrounded before the page load is complete, on |
- // platforms where Chrome may be killed once it goes into the background |
- // (Android). In these cases, we use the app background time as the 'end |
- // time'. |
- if (!time_on_page && !app_background_time.is_null()) { |
- time_on_page = app_background_time - info.navigation_start; |
- } |
- return time_on_page; |
-} |
- |
base::Optional<base::TimeDelta> OptionalMin( |
const base::Optional<base::TimeDelta>& a, |
const base::Optional<base::TimeDelta>& b) { |
@@ -144,14 +62,4 @@ base::Optional<base::TimeDelta> OptionalMin( |
return base::Optional<base::TimeDelta>(std::min(a.value(), b.value())); |
} |
-bool DidObserveLoadingBehaviorInAnyFrame( |
- const page_load_metrics::PageLoadExtraInfo& info, |
- blink::WebLoadingBehaviorFlag behavior) { |
- const int all_frame_loading_behavior_flags = |
- info.main_frame_metadata.behavior_flags | |
- info.subframe_metadata.behavior_flags; |
- |
- return (all_frame_loading_behavior_flags & behavior) != 0; |
-} |
- |
} // namespace page_load_metrics |