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

Side by Side Diff: chrome/browser/ui/login/login_prompt.cc

Issue 6312154: Remove wstring from RVH's run Javascript command.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/ui/login/login_prompt.h" 5 #include "chrome/browser/ui/login/login_prompt.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 117
118 RenderViewHostDelegate* LoginHandler::GetRenderViewHostDelegate() const { 118 RenderViewHostDelegate* LoginHandler::GetRenderViewHostDelegate() const {
119 RenderViewHost* rvh = RenderViewHost::FromID(render_process_host_id_, 119 RenderViewHost* rvh = RenderViewHost::FromID(render_process_host_id_,
120 tab_contents_id_); 120 tab_contents_id_);
121 if (!rvh) 121 if (!rvh)
122 return NULL; 122 return NULL;
123 123
124 return rvh->delegate(); 124 return rvh->delegate();
125 } 125 }
126 126
127 void LoginHandler::SetAuth(const std::wstring& username, 127 void LoginHandler::SetAuth(const string16& username,
128 const std::wstring& password) { 128 const string16& password) {
129 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 129 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
130 130
131 if (TestAndSetAuthHandled()) 131 if (TestAndSetAuthHandled())
132 return; 132 return;
133 133
134 // Tell the password manager the credentials were submitted / accepted. 134 // Tell the password manager the credentials were submitted / accepted.
135 if (password_manager_) { 135 if (password_manager_) {
136 password_form_.username_value = WideToUTF16Hack(username); 136 password_form_.username_value = username;
137 password_form_.password_value = WideToUTF16Hack(password); 137 password_form_.password_value = password;
138 password_manager_->ProvisionallySavePassword(password_form_); 138 password_manager_->ProvisionallySavePassword(password_form_);
139 } 139 }
140 140
141 // Calling NotifyAuthSupplied() directly instead of posting a task 141 // Calling NotifyAuthSupplied() directly instead of posting a task
142 // allows other LoginHandler instances to queue their 142 // allows other LoginHandler instances to queue their
143 // CloseContentsDeferred() before ours. Closing dialogs in the 143 // CloseContentsDeferred() before ours. Closing dialogs in the
144 // opposite order as they were created avoids races where remaining 144 // opposite order as they were created avoids races where remaining
145 // dialogs in the same tab may be briefly displayed to the user 145 // dialogs in the same tab may be briefly displayed to the user
146 // before they are removed. 146 // before they are removed.
147 NotifyAuthSupplied(username, password); 147 NotifyAuthSupplied(username, password);
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 if (requesting_contents) 286 if (requesting_contents)
287 controller = &requesting_contents->controller(); 287 controller = &requesting_contents->controller();
288 288
289 LoginNotificationDetails details(this); 289 LoginNotificationDetails details(this);
290 290
291 service->Notify(NotificationType::AUTH_CANCELLED, 291 service->Notify(NotificationType::AUTH_CANCELLED,
292 Source<NavigationController>(controller), 292 Source<NavigationController>(controller),
293 Details<LoginNotificationDetails>(&details)); 293 Details<LoginNotificationDetails>(&details));
294 } 294 }
295 295
296 void LoginHandler::NotifyAuthSupplied(const std::wstring& username, 296 void LoginHandler::NotifyAuthSupplied(const string16& username,
297 const std::wstring& password) { 297 const string16& password) {
298 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 298 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
299 DCHECK(WasAuthHandled()); 299 DCHECK(WasAuthHandled());
300 300
301 TabContents* requesting_contents = GetTabContentsForLogin(); 301 TabContents* requesting_contents = GetTabContentsForLogin();
302 if (!requesting_contents) 302 if (!requesting_contents)
303 return; 303 return;
304 304
305 NotificationService* service = NotificationService::current(); 305 NotificationService* service = NotificationService::current();
306 NavigationController* controller = &requesting_contents->controller(); 306 NavigationController* controller = &requesting_contents->controller();
307 AuthSuppliedLoginNotificationDetails details(this, username, password); 307 AuthSuppliedLoginNotificationDetails details(this, username, password);
(...skipping 30 matching lines...) Expand all
338 338
339 // Marks authentication as handled and returns the previous handled state. 339 // Marks authentication as handled and returns the previous handled state.
340 bool LoginHandler::TestAndSetAuthHandled() { 340 bool LoginHandler::TestAndSetAuthHandled() {
341 base::AutoLock lock(handled_auth_lock_); 341 base::AutoLock lock(handled_auth_lock_);
342 bool was_handled = handled_auth_; 342 bool was_handled = handled_auth_;
343 handled_auth_ = true; 343 handled_auth_ = true;
344 return was_handled; 344 return was_handled;
345 } 345 }
346 346
347 // Calls SetAuth from the IO loop. 347 // Calls SetAuth from the IO loop.
348 void LoginHandler::SetAuthDeferred(const std::wstring& username, 348 void LoginHandler::SetAuthDeferred(const string16& username,
349 const std::wstring& password) { 349 const string16& password) {
350 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 350 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
351 351
352 if (request_) { 352 if (request_) {
353 request_->SetAuth(WideToUTF16Hack(username), WideToUTF16Hack(password)); 353 request_->SetAuth(username, password);
354 ResetLoginHandlerForRequest(request_); 354 ResetLoginHandlerForRequest(request_);
355 } 355 }
356 } 356 }
357 357
358 // Calls CancelAuth from the IO loop. 358 // Calls CancelAuth from the IO loop.
359 void LoginHandler::CancelAuthDeferred() { 359 void LoginHandler::CancelAuthDeferred() {
360 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 360 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
361 361
362 if (request_) { 362 if (request_) {
363 request_->CancelAuth(); 363 request_->CancelAuth();
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 handler_->SetPasswordManager(password_manager); 414 handler_->SetPasswordManager(password_manager);
415 415
416 string16 host_and_port_hack16 = WideToUTF16Hack(auth_info_->host_and_port); 416 string16 host_and_port_hack16 = WideToUTF16Hack(auth_info_->host_and_port);
417 string16 realm_hack16 = WideToUTF16Hack(auth_info_->realm); 417 string16 realm_hack16 = WideToUTF16Hack(auth_info_->realm);
418 string16 explanation = realm_hack16.empty() ? 418 string16 explanation = realm_hack16.empty() ?
419 l10n_util::GetStringFUTF16(IDS_LOGIN_DIALOG_DESCRIPTION_NO_REALM, 419 l10n_util::GetStringFUTF16(IDS_LOGIN_DIALOG_DESCRIPTION_NO_REALM,
420 host_and_port_hack16) : 420 host_and_port_hack16) :
421 l10n_util::GetStringFUTF16(IDS_LOGIN_DIALOG_DESCRIPTION, 421 l10n_util::GetStringFUTF16(IDS_LOGIN_DIALOG_DESCRIPTION,
422 host_and_port_hack16, 422 host_and_port_hack16,
423 realm_hack16); 423 realm_hack16);
424 handler_->BuildViewForPasswordManager(password_manager, 424 handler_->BuildViewForPasswordManager(password_manager, explanation);
425 UTF16ToWideHack(explanation));
426 } 425 }
427 426
428 private: 427 private:
429 // Helper to create a PasswordForm and stuff it into a vector as input 428 // Helper to create a PasswordForm and stuff it into a vector as input
430 // for PasswordManager::PasswordFormsFound, the hook into PasswordManager. 429 // for PasswordManager::PasswordFormsFound, the hook into PasswordManager.
431 void MakeInputForPasswordManager( 430 void MakeInputForPasswordManager(
432 std::vector<PasswordForm>* password_manager_input) { 431 std::vector<PasswordForm>* password_manager_input) {
433 PasswordForm dialog_form; 432 PasswordForm dialog_form;
434 if (LowerCaseEqualsASCII(auth_info_->scheme, "basic")) { 433 if (LowerCaseEqualsASCII(auth_info_->scheme, "basic")) {
435 dialog_form.scheme = PasswordForm::SCHEME_BASIC; 434 dialog_form.scheme = PasswordForm::SCHEME_BASIC;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 // Public API 473 // Public API
475 474
476 LoginHandler* CreateLoginPrompt(net::AuthChallengeInfo* auth_info, 475 LoginHandler* CreateLoginPrompt(net::AuthChallengeInfo* auth_info,
477 net::URLRequest* request) { 476 net::URLRequest* request) {
478 LoginHandler* handler = LoginHandler::Create(auth_info, request); 477 LoginHandler* handler = LoginHandler::Create(auth_info, request);
479 BrowserThread::PostTask( 478 BrowserThread::PostTask(
480 BrowserThread::UI, FROM_HERE, new LoginDialogTask( 479 BrowserThread::UI, FROM_HERE, new LoginDialogTask(
481 request->url(), auth_info, handler)); 480 request->url(), auth_info, handler));
482 return handler; 481 return handler;
483 } 482 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698