| OLD | NEW |
| 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/ui/login/login_prompt.h" | 5 #include "chrome/browser/ui/login/login_prompt.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/prefs/pref_service.h" | 12 #include "base/prefs/pref_service.h" |
| 13 #include "base/strings/string_util.h" | 13 #include "base/strings/string_util.h" |
| 14 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
| 15 #include "base/synchronization/lock.h" | 15 #include "base/synchronization/lock.h" |
| 16 #include "chrome/browser/chrome_notification_types.h" | 16 #include "chrome/browser/chrome_notification_types.h" |
| 17 #include "chrome/browser/password_manager/chrome_password_manager_client.h" | 17 #include "chrome/browser/password_manager/chrome_password_manager_client.h" |
| 18 #include "chrome/browser/prerender/prerender_contents.h" | 18 #include "chrome/browser/prerender/prerender_contents.h" |
| 19 #include "chrome/browser/profiles/profile.h" | 19 #include "chrome/browser/profiles/profile.h" |
| 20 #include "chrome/browser/tab_contents/tab_util.h" | 20 #include "chrome/browser/tab_contents/tab_util.h" |
| 21 #include "chrome/browser/ui/login/login_interstitial_delegate.h" | 21 #include "chrome/browser/ui/login/login_interstitial_delegate.h" |
| 22 #include "chrome/common/pref_names.h" | 22 #include "chrome/common/pref_names.h" |
| 23 #include "chrome/grit/generated_resources.h" | 23 #include "chrome/grit/generated_resources.h" |
| 24 #include "components/password_manager/core/browser/browser_save_password_progres
s_logger.h" | 24 #include "components/password_manager/core/browser/browser_save_password_progres
s_logger.h" |
| 25 #include "components/password_manager/core/browser/log_manager.h" |
| 25 #include "components/password_manager/core/browser/password_manager.h" | 26 #include "components/password_manager/core/browser/password_manager.h" |
| 26 #include "components/url_formatter/elide_url.h" | 27 #include "components/url_formatter/elide_url.h" |
| 27 #include "content/public/browser/browser_thread.h" | 28 #include "content/public/browser/browser_thread.h" |
| 28 #include "content/public/browser/notification_registrar.h" | 29 #include "content/public/browser/notification_registrar.h" |
| 29 #include "content/public/browser/notification_service.h" | 30 #include "content/public/browser/notification_service.h" |
| 30 #include "content/public/browser/render_frame_host.h" | 31 #include "content/public/browser/render_frame_host.h" |
| 31 #include "content/public/browser/resource_dispatcher_host.h" | 32 #include "content/public/browser/resource_dispatcher_host.h" |
| 32 #include "content/public/browser/resource_request_info.h" | 33 #include "content/public/browser/resource_request_info.h" |
| 33 #include "content/public/browser/web_contents.h" | 34 #include "content/public/browser/web_contents.h" |
| 34 #include "net/base/auth.h" | 35 #include "net/base/auth.h" |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 // manager, but still needs to be able to show login prompts. | 141 // manager, but still needs to be able to show login prompts. |
| 141 if (guest_view::GuestViewBase::FromWebContents(parent_contents)) { | 142 if (guest_view::GuestViewBase::FromWebContents(parent_contents)) { |
| 142 handler->BuildViewWithoutPasswordManager(explanation); | 143 handler->BuildViewWithoutPasswordManager(explanation); |
| 143 return; | 144 return; |
| 144 } | 145 } |
| 145 #endif | 146 #endif |
| 146 handler->CancelAuth(); | 147 handler->CancelAuth(); |
| 147 return; | 148 return; |
| 148 } | 149 } |
| 149 | 150 |
| 150 if (password_manager && password_manager->client()->IsLoggingActive()) { | 151 if (password_manager && |
| 152 password_manager->client()->GetLogManager()->IsLoggingActive()) { |
| 151 password_manager::BrowserSavePasswordProgressLogger logger( | 153 password_manager::BrowserSavePasswordProgressLogger logger( |
| 152 password_manager->client()); | 154 password_manager->client()->GetLogManager()); |
| 153 logger.LogMessage( | 155 logger.LogMessage( |
| 154 autofill::SavePasswordProgressLogger::STRING_SHOW_LOGIN_PROMPT_METHOD); | 156 autofill::SavePasswordProgressLogger::STRING_SHOW_LOGIN_PROMPT_METHOD); |
| 155 } | 157 } |
| 156 | 158 |
| 157 PasswordForm observed_form( | 159 PasswordForm observed_form( |
| 158 MakeInputForPasswordManager(request_url, auth_info)); | 160 MakeInputForPasswordManager(request_url, auth_info)); |
| 159 handler->BuildViewWithPasswordManager(explanation, password_manager, | 161 handler->BuildViewWithPasswordManager(explanation, password_manager, |
| 160 observed_form); | 162 observed_form); |
| 161 } | 163 } |
| 162 | 164 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 password_manager::PasswordManagerClient* client = | 241 password_manager::PasswordManagerClient* client = |
| 240 ChromePasswordManagerClient::FromWebContents(GetWebContentsForLogin()); | 242 ChromePasswordManagerClient::FromWebContents(GetWebContentsForLogin()); |
| 241 return client ? client->GetPasswordManager() : nullptr; | 243 return client ? client->GetPasswordManager() : nullptr; |
| 242 } | 244 } |
| 243 | 245 |
| 244 void LoginHandler::SetAuth(const base::string16& username, | 246 void LoginHandler::SetAuth(const base::string16& username, |
| 245 const base::string16& password) { | 247 const base::string16& password) { |
| 246 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 248 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 247 | 249 |
| 248 scoped_ptr<password_manager::BrowserSavePasswordProgressLogger> logger; | 250 scoped_ptr<password_manager::BrowserSavePasswordProgressLogger> logger; |
| 249 if (password_manager_ && password_manager_->client()->IsLoggingActive()) { | 251 if (password_manager_ && |
| 252 password_manager_->client()->GetLogManager()->IsLoggingActive()) { |
| 250 logger.reset(new password_manager::BrowserSavePasswordProgressLogger( | 253 logger.reset(new password_manager::BrowserSavePasswordProgressLogger( |
| 251 password_manager_->client())); | 254 password_manager_->client()->GetLogManager())); |
| 252 logger->LogMessage( | 255 logger->LogMessage( |
| 253 autofill::SavePasswordProgressLogger::STRING_SET_AUTH_METHOD); | 256 autofill::SavePasswordProgressLogger::STRING_SET_AUTH_METHOD); |
| 254 } | 257 } |
| 255 | 258 |
| 256 bool already_handled = TestAndSetAuthHandled(); | 259 bool already_handled = TestAndSetAuthHandled(); |
| 257 if (logger) { | 260 if (logger) { |
| 258 logger->LogBoolean( | 261 logger->LogBoolean( |
| 259 autofill::SavePasswordProgressLogger::STRING_AUTHENTICATION_HANDLED, | 262 autofill::SavePasswordProgressLogger::STRING_AUTHENTICATION_HANDLED, |
| 260 already_handled); | 263 already_handled); |
| 261 } | 264 } |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 604 signon_realm = auth_info.challenger.ToString(); | 607 signon_realm = auth_info.challenger.ToString(); |
| 605 signon_realm.append("/"); | 608 signon_realm.append("/"); |
| 606 } else { | 609 } else { |
| 607 // Take scheme, host, and port from the url. | 610 // Take scheme, host, and port from the url. |
| 608 signon_realm = url.GetOrigin().spec(); | 611 signon_realm = url.GetOrigin().spec(); |
| 609 // This ends with a "/". | 612 // This ends with a "/". |
| 610 } | 613 } |
| 611 signon_realm.append(auth_info.realm); | 614 signon_realm.append(auth_info.realm); |
| 612 return signon_realm; | 615 return signon_realm; |
| 613 } | 616 } |
| OLD | NEW |