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

Side by Side Diff: chrome/browser/prerender/prerender_manager.cc

Issue 6263014: Add Perceived PageLoad Time (PPLT) metrics for Prerender Experiments,... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/prerender/prerender_manager.h" 5 #include "chrome/browser/prerender/prerender_manager.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/time.h" 8 #include "base/time.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/prerender/prerender_contents.h" 10 #include "chrome/browser/prerender/prerender_contents.h"
(...skipping 12 matching lines...) Expand all
23 : contents_(contents), 23 : contents_(contents),
24 start_time_(start_time), 24 start_time_(start_time),
25 url_(url) { 25 url_(url) {
26 } 26 }
27 }; 27 };
28 28
29 PrerenderManager::PrerenderManager(Profile* profile) 29 PrerenderManager::PrerenderManager(Profile* profile)
30 : profile_(profile), 30 : profile_(profile),
31 max_prerender_age_(base::TimeDelta::FromSeconds( 31 max_prerender_age_(base::TimeDelta::FromSeconds(
32 kDefaultMaxPrerenderAgeSeconds)), 32 kDefaultMaxPrerenderAgeSeconds)),
33 max_elements_(kDefaultMaxPrerenderElements) { 33 max_elements_(kDefaultMaxPrerenderElements),
34 mode_(kEnabled) {
34 } 35 }
35 36
36 PrerenderManager::~PrerenderManager() { 37 PrerenderManager::~PrerenderManager() {
37 while (prerender_list_.size() > 0) { 38 while (prerender_list_.size() > 0) {
38 PrerenderContentsData data = prerender_list_.front(); 39 PrerenderContentsData data = prerender_list_.front();
39 prerender_list_.pop_front(); 40 prerender_list_.pop_front();
40 delete data.contents_; 41 delete data.contents_;
41 } 42 }
42 } 43 }
43 44
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 tc->SwapInRenderViewHost(rvh); 102 tc->SwapInRenderViewHost(rvh);
102 103
103 ViewHostMsg_FrameNavigate_Params* p = pc->navigate_params(); 104 ViewHostMsg_FrameNavigate_Params* p = pc->navigate_params();
104 if (p != NULL) 105 if (p != NULL)
105 tc->DidNavigate(rvh, *p); 106 tc->DidNavigate(rvh, *p);
106 107
107 string16 title = pc->title(); 108 string16 title = pc->title();
108 if (!title.empty()) 109 if (!title.empty())
109 tc->UpdateTitle(rvh, pc->page_id(), UTF16ToWideHack(title)); 110 tc->UpdateTitle(rvh, pc->page_id(), UTF16ToWideHack(title));
110 111
112 if (pc->has_stopped_loading())
113 tc->DidStopLoading();
114
111 return true; 115 return true;
112 } 116 }
113 117
114 void PrerenderManager::RemoveEntry(PrerenderContents* entry) { 118 void PrerenderManager::RemoveEntry(PrerenderContents* entry) {
115 DCHECK(CalledOnValidThread()); 119 DCHECK(CalledOnValidThread());
116 for (std::list<PrerenderContentsData>::iterator it = prerender_list_.begin(); 120 for (std::list<PrerenderContentsData>::iterator it = prerender_list_.begin();
117 it != prerender_list_.end(); 121 it != prerender_list_.end();
118 ++it) { 122 ++it) {
119 if (it->contents_ == entry) { 123 if (it->contents_ == entry) {
120 prerender_list_.erase(it); 124 prerender_list_.erase(it);
(...skipping 11 matching lines...) Expand all
132 bool PrerenderManager::IsPrerenderElementFresh(const base::Time start) const { 136 bool PrerenderManager::IsPrerenderElementFresh(const base::Time start) const {
133 base::Time now = GetCurrentTime(); 137 base::Time now = GetCurrentTime();
134 return (now - start < max_prerender_age_); 138 return (now - start < max_prerender_age_);
135 } 139 }
136 140
137 PrerenderContents* PrerenderManager::CreatePrerenderContents( 141 PrerenderContents* PrerenderManager::CreatePrerenderContents(
138 const GURL& url, 142 const GURL& url,
139 const std::vector<GURL>& alias_urls) { 143 const std::vector<GURL>& alias_urls) {
140 return new PrerenderContents(this, profile_, url, alias_urls); 144 return new PrerenderContents(this, profile_, url, alias_urls);
141 } 145 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698