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

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

Issue 10392072: Pass the render view host with all provisional load related callbacks on the web contents observer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 7 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_histograms.h" 10 #include "chrome/browser/prerender/prerender_histograms.h"
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 : content::WebContentsObserver(tab->web_contents()), 149 : content::WebContentsObserver(tab->web_contents()),
150 pixel_stats_(new PixelStats(this)), 150 pixel_stats_(new PixelStats(this)),
151 tab_(tab) { 151 tab_(tab) {
152 } 152 }
153 153
154 PrerenderTabHelper::~PrerenderTabHelper() { 154 PrerenderTabHelper::~PrerenderTabHelper() {
155 } 155 }
156 156
157 void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl( 157 void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl(
158 const GURL& url, 158 const GURL& url,
159 const GURL& opener_url) { 159 const GURL& opener_url,
160 content::RenderViewHost* render_view_host) {
160 url_ = url; 161 url_ = url;
161 RecordPageviewEvent(PAGEVIEW_EVENT_NEW_URL); 162 RecordPageviewEvent(PAGEVIEW_EVENT_NEW_URL);
162 if (IsTopSite(url)) 163 if (IsTopSite(url))
163 RecordPageviewEvent(PAGEVIEW_EVENT_TOP_SITE_NEW_URL); 164 RecordPageviewEvent(PAGEVIEW_EVENT_TOP_SITE_NEW_URL);
164 PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); 165 PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
165 if (!prerender_manager) 166 if (!prerender_manager)
166 return; 167 return;
167 if (prerender_manager->IsWebContentsPrerendering(web_contents())) 168 if (prerender_manager->IsWebContentsPrerendering(web_contents()))
168 return; 169 return;
169 prerender_manager->MarkWebContentsAsNotPrerendered(web_contents()); 170 prerender_manager->MarkWebContentsAsNotPrerendered(web_contents());
170 } 171 }
171 172
172 void PrerenderTabHelper::DidCommitProvisionalLoadForFrame( 173 void PrerenderTabHelper::DidCommitProvisionalLoadForFrame(
173 int64 frame_id, 174 int64 frame_id,
174 bool is_main_frame, 175 bool is_main_frame,
175 const GURL& validated_url, 176 const GURL& validated_url,
176 content::PageTransition transition_type) { 177 content::PageTransition transition_type,
178 content::RenderViewHost* render_view_host) {
177 if (!is_main_frame) 179 if (!is_main_frame)
178 return; 180 return;
179 PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); 181 PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
180 if (!prerender_manager) 182 if (!prerender_manager)
181 return; 183 return;
182 if (prerender_manager->IsWebContentsPrerendering(web_contents())) 184 if (prerender_manager->IsWebContentsPrerendering(web_contents()))
183 return; 185 return;
184 prerender_manager->RecordNavigation(validated_url); 186 prerender_manager->RecordNavigation(validated_url);
185 } 187 }
186 188
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 pixel_stats_->GetBitmap(PixelStats::BITMAP_SWAP_IN, web_contents()); 271 pixel_stats_->GetBitmap(PixelStats::BITMAP_SWAP_IN, web_contents());
270 } 272 }
271 } 273 }
272 274
273 bool PrerenderTabHelper::IsTopSite(const GURL& url) { 275 bool PrerenderTabHelper::IsTopSite(const GURL& url) {
274 PrerenderManager* pm = MaybeGetPrerenderManager(); 276 PrerenderManager* pm = MaybeGetPrerenderManager();
275 return (pm && pm->IsTopSite(url)); 277 return (pm && pm->IsTopSite(url));
276 } 278 }
277 279
278 } // namespace prerender 280 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_tab_helper.h ('k') | chrome/browser/ssl/ssl_browser_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698