Index: chrome/browser/prerender/prerender_tab_helper.cc |
diff --git a/chrome/browser/prerender/prerender_tab_helper.cc b/chrome/browser/prerender/prerender_tab_helper.cc |
index 90fac8ad2a6fa893c3d1b419cab192787b8b6e51..04ed554260ac754cf8b39facb93a98c8d368c7c1 100644 |
--- a/chrome/browser/prerender/prerender_tab_helper.cc |
+++ b/chrome/browser/prerender/prerender_tab_helper.cc |
@@ -55,65 +55,19 @@ void PrerenderTabHelper::DidFinishNavigation( |
prerender_manager->RecordNavigation(url_); |
} |
-void PrerenderTabHelper::DidStopLoading() { |
- // Compute the PPLT metric and report it in a histogram, if needed. If the |
- // page is still prerendering, record the not swapped in page load time |
- // instead. |
- if (!pplt_load_start_.is_null()) { |
- base::TimeTicks now = GetTimeTicksFromPrerenderManager(); |
- if (IsPrerendering()) { |
- PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); |
- if (prerender_manager) { |
- prerender_manager->RecordPageLoadTimeNotSwappedIn( |
- origin_, now - pplt_load_start_, url_); |
- } else { |
- NOTREACHED(); |
- } |
- } else { |
- double fraction_elapsed_at_swapin = -1.0; |
- if (!actual_load_start_.is_null()) { |
- double plt = (now - actual_load_start_).InMillisecondsF(); |
- if (plt > 0.0) { |
- fraction_elapsed_at_swapin = 1.0 - |
- (now - pplt_load_start_).InMillisecondsF() / plt; |
- } else { |
- fraction_elapsed_at_swapin = 1.0; |
- } |
- DCHECK_GE(fraction_elapsed_at_swapin, 0.0); |
- DCHECK_LE(fraction_elapsed_at_swapin, 1.0); |
- } |
- |
- RecordPerceivedPageLoadTime( |
- now - pplt_load_start_, fraction_elapsed_at_swapin); |
- } |
- } |
- |
- // Reset the PPLT metric. |
- pplt_load_start_ = base::TimeTicks(); |
- actual_load_start_ = base::TimeTicks(); |
-} |
- |
void PrerenderTabHelper::DidStartNavigation( |
content::NavigationHandle* navigation_handle) { |
+ // Determine the origin. |
+ PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); |
+ if (prerender_manager) |
+ prerender_manager->IsWebContentsPrerendering(web_contents(), &origin_); |
+ |
if (navigation_handle->IsSameDocument()) |
return; |
- // Determine the navigation type. |
- PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); |
- if (prerender_manager && |
- prerender_manager->IsWebContentsPrerendering(web_contents(), &origin_)) { |
- navigation_type_ = NAVIGATION_TYPE_PRERENDERED; |
- } else { |
- navigation_type_ = NAVIGATION_TYPE_NORMAL; |
- } |
- |
if (!navigation_handle->IsInMainFrame()) |
return; |
- // Record PPLT state for the beginning of a new navigation. |
- pplt_load_start_ = GetTimeTicksFromPrerenderManager(); |
- actual_load_start_ = base::TimeTicks(); |
- |
MainFrameUrlDidChange(navigation_handle->GetURL()); |
} |
@@ -146,32 +100,8 @@ bool PrerenderTabHelper::IsPrerendering() { |
} |
void PrerenderTabHelper::PrerenderSwappedIn() { |
- // Ensure we are not prerendering any more. |
- DCHECK_EQ(NAVIGATION_TYPE_PRERENDERED, navigation_type_); |
DCHECK(!IsPrerendering()); |
swap_ticks_ = GetTimeTicksFromPrerenderManager(); |
- if (pplt_load_start_.is_null()) { |
- // If we have already finished loading, report a 0 PPLT. |
- RecordPerceivedPageLoadTime(base::TimeDelta(), 1.0); |
- } else { |
- // If we have not finished loading yet, record the actual load start, and |
- // rebase the start time to now. |
- actual_load_start_ = pplt_load_start_; |
- pplt_load_start_ = GetTimeTicksFromPrerenderManager(); |
- } |
-} |
- |
-void PrerenderTabHelper::RecordPerceivedPageLoadTime( |
- base::TimeDelta perceived_page_load_time, |
- double fraction_plt_elapsed_at_swap_in) { |
- DCHECK(!IsPrerendering()); |
- PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); |
- if (!prerender_manager) |
- return; |
- |
- prerender_manager->RecordPerceivedPageLoadTime( |
- origin_, navigation_type_, perceived_page_load_time, |
- fraction_plt_elapsed_at_swap_in, url_); |
} |
} // namespace prerender |