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

Unified Diff: chrome/browser/ui/login/login_prompt.cc

Issue 707173004: Refactor Autofill for out of process iframes (OOPIF). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update tests, respond to review comments, cleanup Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/login/login_prompt.cc
diff --git a/chrome/browser/ui/login/login_prompt.cc b/chrome/browser/ui/login/login_prompt.cc
index 8200bb21934b89e71de94d14dd1d4ca9f67e7f0c..0788ce41ab9be55512d7c095334e89ed6dcb88c4 100644
--- a/chrome/browser/ui/login/login_prompt.cc
+++ b/chrome/browser/ui/login/login_prompt.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/tab_contents/tab_util.h"
#include "chrome/browser/ui/login/login_interstitial_delegate.h"
#include "chrome/grit/generated_resources.h"
+#include "components/password_manager/content/browser/content_password_manager_driver.h"
#include "components/password_manager/core/browser/browser_save_password_progress_logger.h"
#include "components/password_manager/core/browser/password_manager.h"
#include "content/public/browser/browser_thread.h"
@@ -135,6 +136,14 @@ WebContents* LoginHandler::GetWebContentsForLogin() const {
return WebContents::FromRenderFrameHost(rfh);
}
+password_manager::ContentPasswordManagerDriver*
+LoginHandler::GetPasswordManagerDriverForLogin() {
+ content::RenderFrameHost* rfh = content::RenderFrameHost::FromID(
+ render_process_host_id_, render_frame_id_);
+ return password_manager::ContentPasswordManagerDriver::GetForRenderFrameHost(
+ rfh);
+}
+
void LoginHandler::SetAuth(const base::string16& username,
const base::string16& password) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -460,9 +469,10 @@ void ShowLoginPrompt(const GURL& request_url,
return;
}
- password_manager::PasswordManager* password_manager =
- ChromePasswordManagerClient::GetManagerFromWebContents(parent_contents);
- if (!password_manager) {
+ password_manager::ContentPasswordManagerDriver* driver =
+ handler->GetPasswordManagerDriverForLogin();
+
+ if (!driver) {
// Same logic as above.
handler->CancelAuth();
return;
@@ -471,8 +481,8 @@ void ShowLoginPrompt(const GURL& request_url,
// Tell the password manager to look for saved passwords.
std::vector<PasswordForm> v;
MakeInputForPasswordManager(request_url, auth_info, handler, &v);
- password_manager->OnPasswordFormsParsed(v);
- handler->SetPasswordManager(password_manager);
+ driver->OnPasswordFormsParsed(v);
+ handler->SetPasswordManager(driver->GetPasswordManager());
// The realm is controlled by the remote server, so there is no reason
// to believe it is of a reasonable length.
@@ -487,7 +497,8 @@ void ShowLoginPrompt(const GURL& request_url,
l10n_util::GetStringFUTF16(IDS_LOGIN_DIALOG_DESCRIPTION,
host_and_port,
elided_realm);
- handler->BuildViewForPasswordManager(password_manager, explanation);
+ handler->BuildViewForPasswordManager(driver->GetPasswordManager(),
+ explanation);
}
// This callback is run on the UI thread and creates a constrained window with

Powered by Google App Engine
This is Rietveld 408576698