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

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

Issue 19705013: [password autofill] Remove references to PasswordForm from RenderViewImpl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 7 years, 4 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/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/time/time.h" 9 #include "base/time/time.h"
10 #include "chrome/browser/predictors/logged_in_predictor_table.h" 10 #include "chrome/browser/predictors/logged_in_predictor_table.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // Bitmap of what the last swapped in prerendered tab looked like at swapin, 143 // Bitmap of what the last swapped in prerendered tab looked like at swapin,
144 // and the WebContents that it was swapped into. 144 // and the WebContents that it was swapped into.
145 scoped_ptr<SkBitmap> bitmap_; 145 scoped_ptr<SkBitmap> bitmap_;
146 WebContents* bitmap_web_contents_; 146 WebContents* bitmap_web_contents_;
147 147
148 base::WeakPtrFactory<PixelStats> weak_factory_; 148 base::WeakPtrFactory<PixelStats> weak_factory_;
149 149
150 PrerenderTabHelper* tab_helper_; 150 PrerenderTabHelper* tab_helper_;
151 }; 151 };
152 152
153 PrerenderTabHelper::PrerenderTabHelper(content::WebContents* web_contents) 153 // static
154 void PrerenderTabHelper::CreateForWebContentsWithPasswordManager(
tburkard 2013/07/25 16:59:17 Can't this be done as a template in web_contents_u
Garrett Casto 2013/07/25 17:34:06 Do you mean something generic like WebContentsUser
155 content::WebContents* web_contents,
156 PasswordManager* password_manager) {
157 if (!FromWebContents(web_contents)) {
158 web_contents->SetUserData(UserDataKey(),
159 new PrerenderTabHelper(web_contents,
160 password_manager));
161 }
162 }
163
164 PrerenderTabHelper::PrerenderTabHelper(content::WebContents* web_contents,
165 PasswordManager* password_manager)
154 : content::WebContentsObserver(web_contents), 166 : content::WebContentsObserver(web_contents),
155 weak_factory_(this) { 167 weak_factory_(this) {
168 DCHECK(password_manager);
169 password_manager->AddSubmissionObserver(this);
156 } 170 }
157 171
158 PrerenderTabHelper::~PrerenderTabHelper() { 172 PrerenderTabHelper::~PrerenderTabHelper() {
159 } 173 }
160 174
161 void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl( 175 void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl(
162 const GURL& url, 176 const GURL& url,
163 content::RenderViewHost* render_view_host) { 177 content::RenderViewHost* render_view_host) {
164 url_ = url; 178 url_ = url;
165 RecordEvent(EVENT_MAINFRAME_CHANGE); 179 RecordEvent(EVENT_MAINFRAME_CHANGE);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 bool is_error_page, 250 bool is_error_page,
237 bool is_iframe_srcdoc, 251 bool is_iframe_srcdoc,
238 content::RenderViewHost* render_view_host) { 252 content::RenderViewHost* render_view_host) {
239 if (is_main_frame) { 253 if (is_main_frame) {
240 // Record the beginning of a new PPLT navigation. 254 // Record the beginning of a new PPLT navigation.
241 pplt_load_start_ = base::TimeTicks::Now(); 255 pplt_load_start_ = base::TimeTicks::Now();
242 actual_load_start_ = base::TimeTicks(); 256 actual_load_start_ = base::TimeTicks();
243 } 257 }
244 } 258 }
245 259
246 void PrerenderTabHelper::DidNavigateAnyFrame( 260 void PrerenderTabHelper::PasswordSubmitted(const content::PasswordForm& form) {
247 const content::LoadCommittedDetails& details,
248 const content::FrameNavigateParams& params) {
249 PrerenderManager* prerender_manager = MaybeGetPrerenderManager(); 261 PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
250 if (params.password_form.origin.is_valid() && prerender_manager) { 262 if (prerender_manager) {
251 prerender_manager->RecordLikelyLoginOnURL(params.url); 263 prerender_manager->RecordLikelyLoginOnURL(form.origin);
252 RecordEvent(EVENT_LOGIN_ACTION_ADDED); 264 RecordEvent(EVENT_LOGIN_ACTION_ADDED);
253 } 265 }
254 } 266 }
255 267
256 PrerenderManager* PrerenderTabHelper::MaybeGetPrerenderManager() const { 268 PrerenderManager* PrerenderTabHelper::MaybeGetPrerenderManager() const {
257 return PrerenderManagerFactory::GetForProfile( 269 return PrerenderManagerFactory::GetForProfile(
258 Profile::FromBrowserContext(web_contents()->GetBrowserContext())); 270 Profile::FromBrowserContext(web_contents()->GetBrowserContext()));
259 } 271 }
260 272
261 bool PrerenderTabHelper::IsPrerendering() { 273 bool PrerenderTabHelper::IsPrerendering() {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 331
320 void PrerenderTabHelper::RecordEventIfLoggedInURLResult( 332 void PrerenderTabHelper::RecordEventIfLoggedInURLResult(
321 PrerenderTabHelper::Event event, 333 PrerenderTabHelper::Event event,
322 scoped_ptr<bool> is_present, 334 scoped_ptr<bool> is_present,
323 scoped_ptr<bool> lookup_succeeded) { 335 scoped_ptr<bool> lookup_succeeded) {
324 if (*lookup_succeeded && *is_present) 336 if (*lookup_succeeded && *is_present)
325 RecordEvent(event); 337 RecordEvent(event);
326 } 338 }
327 339
328 } // namespace prerender 340 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698