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

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

Issue 7835004: Moved the following IPCs out of chrome into content where they are handled by (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_tab_helper.h" 5 #include "chrome/browser/prerender/prerender_tab_helper.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "chrome/browser/prerender/prerender_manager.h" 10 #include "chrome/browser/prerender/prerender_manager.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 return; // PrerenderManager needs a delegate to handle the swap. 200 return; // PrerenderManager needs a delegate to handle the swap.
201 PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); 201 PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
202 if (!prerender_manager) 202 if (!prerender_manager)
203 return; 203 return;
204 if (prerender_manager->IsTabContentsPrerendering(tab_contents())) 204 if (prerender_manager->IsTabContentsPrerendering(tab_contents()))
205 return; 205 return;
206 prerender_manager->MarkTabContentsAsNotPrerendered(tab_contents()); 206 prerender_manager->MarkTabContentsAsNotPrerendered(tab_contents());
207 MaybeUsePrerenderedPage(url, has_opener_set); 207 MaybeUsePrerenderedPage(url, has_opener_set);
208 } 208 }
209 209
210 bool PrerenderTabHelper::OnMessageReceived(const IPC::Message& message) { 210 void PrerenderTabHelper::DidStartProvisionalLoadForFrame(int64 frame_id,
211 IPC_BEGIN_MESSAGE_MAP(PrerenderTabHelper, message) 211 bool is_main_frame,
212 IPC_MESSAGE_HANDLER(ViewHostMsg_DidStartProvisionalLoadForFrame, 212 bool has_opener_set,
213 OnDidStartProvisionalLoadForFrame) 213 const GURL& url) {
214 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnMsgUpdateTargetURL)
215 IPC_END_MESSAGE_MAP()
216 return false;
217 }
218
219 void PrerenderTabHelper::OnDidStartProvisionalLoadForFrame(int64 frame_id,
220 bool is_main_frame,
221 bool has_opener_set,
222 const GURL& url) {
223 if (is_main_frame) { 214 if (is_main_frame) {
224 RecordPageviewEvent(PAGEVIEW_EVENT_LOAD_START); 215 RecordPageviewEvent(PAGEVIEW_EVENT_LOAD_START);
225 if (IsTopSite(url)) 216 if (IsTopSite(url))
226 RecordPageviewEvent(PAGEVIEW_EVENT_TOP_SITE_LOAD_START); 217 RecordPageviewEvent(PAGEVIEW_EVENT_TOP_SITE_LOAD_START);
227 218
228 // Record the beginning of a new PPLT navigation. 219 // Record the beginning of a new PPLT navigation.
229 pplt_load_start_ = base::TimeTicks::Now(); 220 pplt_load_start_ = base::TimeTicks::Now();
230 221
231 // Update hover stats. 222 // Update hover stats.
232 for (int i = 0; i < kNumHoverThresholds; i++) 223 for (int i = 0; i < kNumHoverThresholds; i++)
233 last_hovers_[i].RecordNavigation(url); 224 last_hovers_[i].RecordNavigation(url);
234 225
235 MaybeLogCurrentHover(current_hover_url_ == url); 226 MaybeLogCurrentHover(current_hover_url_ == url);
236 } 227 }
237 } 228 }
238 229
239 void PrerenderTabHelper::OnMsgUpdateTargetURL(int32 page_id, const GURL& url) { 230 void PrerenderTabHelper::UpdateTargetURL(int32 page_id, const GURL& url) {
240 for (int i = 0; i < kNumHoverThresholds; i++) 231 for (int i = 0; i < kNumHoverThresholds; i++)
241 last_hovers_[i].RecordHover(url); 232 last_hovers_[i].RecordHover(url);
242 233
243 if (url != current_hover_url_) { 234 if (url != current_hover_url_) {
244 MaybeLogCurrentHover(false); 235 MaybeLogCurrentHover(false);
245 current_hover_url_ = url; 236 current_hover_url_ = url;
246 current_hover_time_ = base::TimeTicks::Now(); 237 current_hover_time_ = base::TimeTicks::Now();
247 } 238 }
248 } 239 }
249 240
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 315
325 current_hover_url_ = GURL(); 316 current_hover_url_ = GURL();
326 } 317 }
327 318
328 bool PrerenderTabHelper::IsTopSite(const GURL& url) const { 319 bool PrerenderTabHelper::IsTopSite(const GURL& url) const {
329 PrerenderManager* pm = MaybeGetPrerenderManager(); 320 PrerenderManager* pm = MaybeGetPrerenderManager();
330 return (pm && pm->IsTopSite(url)); 321 return (pm && pm->IsTopSite(url));
331 } 322 }
332 323
333 } // namespace prerender 324 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698