| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/password_manager/chrome_password_manager_client.h" | 5 #include "chrome/browser/password_manager/chrome_password_manager_client.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 #include "components/password_manager/sync/browser/password_sync_util.h" | 45 #include "components/password_manager/sync/browser/password_sync_util.h" |
| 46 #include "components/signin/core/browser/signin_manager.h" | 46 #include "components/signin/core/browser/signin_manager.h" |
| 47 #include "components/version_info/version_info.h" | 47 #include "components/version_info/version_info.h" |
| 48 #include "content/public/browser/navigation_entry.h" | 48 #include "content/public/browser/navigation_entry.h" |
| 49 #include "content/public/browser/render_view_host.h" | 49 #include "content/public/browser/render_view_host.h" |
| 50 #include "content/public/browser/web_contents.h" | 50 #include "content/public/browser/web_contents.h" |
| 51 #include "google_apis/gaia/gaia_urls.h" | 51 #include "google_apis/gaia/gaia_urls.h" |
| 52 #include "net/base/url_util.h" | 52 #include "net/base/url_util.h" |
| 53 #include "third_party/re2/re2/re2.h" | 53 #include "third_party/re2/re2/re2.h" |
| 54 | 54 |
| 55 #if defined(OS_MACOSX) || defined(OS_ANDROID) | 55 #if defined(OS_MACOSX) || defined(ANDROID_JAVA_UI) |
| 56 #include "chrome/browser/password_manager/save_password_infobar_delegate.h" | 56 #include "chrome/browser/password_manager/save_password_infobar_delegate.h" |
| 57 #endif | 57 #endif |
| 58 | 58 |
| 59 #if defined(OS_ANDROID) | 59 #if defined(ANDROID_JAVA_UI) |
| 60 #include "chrome/browser/android/tab_android.h" | 60 #include "chrome/browser/android/tab_android.h" |
| 61 #include "chrome/browser/password_manager/generated_password_saved_infobar_deleg
ate_android.h" | 61 #include "chrome/browser/password_manager/generated_password_saved_infobar_deleg
ate_android.h" |
| 62 #include "chrome/browser/ui/android/snackbars/auto_signin_prompt_controller.h" | 62 #include "chrome/browser/ui/android/snackbars/auto_signin_prompt_controller.h" |
| 63 #endif | 63 #endif |
| 64 | 64 |
| 65 using password_manager::ContentPasswordManagerDriverFactory; | 65 using password_manager::ContentPasswordManagerDriverFactory; |
| 66 using password_manager::PasswordManagerInternalsService; | 66 using password_manager::PasswordManagerInternalsService; |
| 67 using password_manager::PasswordManagerInternalsServiceFactory; | 67 using password_manager::PasswordManagerInternalsServiceFactory; |
| 68 | 68 |
| 69 // Shorten the name to spare line breaks. The code provides enough context | 69 // Shorten the name to spare line breaks. The code provides enough context |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 if (IsTheHotNewBubbleUIEnabled()) { | 222 if (IsTheHotNewBubbleUIEnabled()) { |
| 223 ManagePasswordsUIController* manage_passwords_ui_controller = | 223 ManagePasswordsUIController* manage_passwords_ui_controller = |
| 224 ManagePasswordsUIController::FromWebContents(web_contents()); | 224 ManagePasswordsUIController::FromWebContents(web_contents()); |
| 225 if (update_password && IsUpdatePasswordUIEnabled()) { | 225 if (update_password && IsUpdatePasswordUIEnabled()) { |
| 226 manage_passwords_ui_controller->OnUpdatePasswordSubmitted( | 226 manage_passwords_ui_controller->OnUpdatePasswordSubmitted( |
| 227 form_to_save.Pass()); | 227 form_to_save.Pass()); |
| 228 } else { | 228 } else { |
| 229 manage_passwords_ui_controller->OnPasswordSubmitted(form_to_save.Pass()); | 229 manage_passwords_ui_controller->OnPasswordSubmitted(form_to_save.Pass()); |
| 230 } | 230 } |
| 231 } else { | 231 } else { |
| 232 #if defined(OS_MACOSX) || defined(OS_ANDROID) | 232 #if defined(OS_MACOSX) || defined(ANDROID_JAVA_UI) |
| 233 if (form_to_save->IsBlacklisted()) | 233 if (form_to_save->IsBlacklisted()) |
| 234 return false; | 234 return false; |
| 235 std::string uma_histogram_suffix( | 235 std::string uma_histogram_suffix( |
| 236 password_manager::metrics_util::GroupIdToString( | 236 password_manager::metrics_util::GroupIdToString( |
| 237 password_manager::metrics_util::MonitoredDomainGroupId( | 237 password_manager::metrics_util::MonitoredDomainGroupId( |
| 238 form_to_save->pending_credentials().signon_realm, GetPrefs()))); | 238 form_to_save->pending_credentials().signon_realm, GetPrefs()))); |
| 239 SavePasswordInfoBarDelegate::Create( | 239 SavePasswordInfoBarDelegate::Create( |
| 240 web_contents(), form_to_save.Pass(), uma_histogram_suffix, type); | 240 web_contents(), form_to_save.Pass(), uma_histogram_suffix, type); |
| 241 #else | 241 #else |
| 242 NOTREACHED() << "Aura platforms should always use the bubble"; | 242 NOTREACHED() << "Aura platforms should always use the bubble"; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 257 | 257 |
| 258 void ChromePasswordManagerClient::ForceSavePassword() { | 258 void ChromePasswordManagerClient::ForceSavePassword() { |
| 259 password_manager::ContentPasswordManagerDriver* driver = | 259 password_manager::ContentPasswordManagerDriver* driver = |
| 260 driver_factory_->GetDriverForFrame(web_contents()->GetFocusedFrame()); | 260 driver_factory_->GetDriverForFrame(web_contents()->GetFocusedFrame()); |
| 261 driver->ForceSavePassword(); | 261 driver->ForceSavePassword(); |
| 262 } | 262 } |
| 263 | 263 |
| 264 void ChromePasswordManagerClient::NotifyUserAutoSignin( | 264 void ChromePasswordManagerClient::NotifyUserAutoSignin( |
| 265 ScopedVector<autofill::PasswordForm> local_forms) { | 265 ScopedVector<autofill::PasswordForm> local_forms) { |
| 266 DCHECK(!local_forms.empty()); | 266 DCHECK(!local_forms.empty()); |
| 267 #if defined(OS_ANDROID) | 267 #if defined(ANDROID_JAVA_UI) |
| 268 ShowAutoSigninPrompt(web_contents(), local_forms[0]->username_value); | 268 ShowAutoSigninPrompt(web_contents(), local_forms[0]->username_value); |
| 269 #else | 269 #else |
| 270 ManagePasswordsUIController::FromWebContents(web_contents())-> | 270 ManagePasswordsUIController::FromWebContents(web_contents())-> |
| 271 OnAutoSignin(local_forms.Pass()); | 271 OnAutoSignin(local_forms.Pass()); |
| 272 | 272 |
| 273 #endif | 273 #endif |
| 274 } | 274 } |
| 275 | 275 |
| 276 void ChromePasswordManagerClient::AutomaticPasswordSave( | 276 void ChromePasswordManagerClient::AutomaticPasswordSave( |
| 277 scoped_ptr<password_manager::PasswordFormManager> saved_form) { | 277 scoped_ptr<password_manager::PasswordFormManager> saved_form) { |
| 278 #if defined(OS_ANDROID) | 278 #if defined(ANDROID_JAVA_UI) |
| 279 GeneratedPasswordSavedInfoBarDelegateAndroid::Create(web_contents()); | 279 GeneratedPasswordSavedInfoBarDelegateAndroid::Create(web_contents()); |
| 280 #else | 280 #else |
| 281 if (IsTheHotNewBubbleUIEnabled()) { | 281 if (IsTheHotNewBubbleUIEnabled()) { |
| 282 ManagePasswordsUIController* manage_passwords_ui_controller = | 282 ManagePasswordsUIController* manage_passwords_ui_controller = |
| 283 ManagePasswordsUIController::FromWebContents(web_contents()); | 283 ManagePasswordsUIController::FromWebContents(web_contents()); |
| 284 manage_passwords_ui_controller->OnAutomaticPasswordSave( | 284 manage_passwords_ui_controller->OnAutomaticPasswordSave( |
| 285 saved_form.Pass()); | 285 saved_form.Pass()); |
| 286 } | 286 } |
| 287 #endif | 287 #endif |
| 288 } | 288 } |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 void ChromePasswordManagerClient::NotifyRendererOfLoggingAvailability() { | 485 void ChromePasswordManagerClient::NotifyRendererOfLoggingAvailability() { |
| 486 if (!web_contents()) | 486 if (!web_contents()) |
| 487 return; | 487 return; |
| 488 | 488 |
| 489 web_contents()->GetRenderViewHost()->Send(new AutofillMsg_SetLoggingState( | 489 web_contents()->GetRenderViewHost()->Send(new AutofillMsg_SetLoggingState( |
| 490 web_contents()->GetRenderViewHost()->GetRoutingID(), | 490 web_contents()->GetRenderViewHost()->GetRoutingID(), |
| 491 can_use_log_router_)); | 491 can_use_log_router_)); |
| 492 } | 492 } |
| 493 | 493 |
| 494 bool ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled() { | 494 bool ChromePasswordManagerClient::IsTheHotNewBubbleUIEnabled() { |
| 495 #if defined(OS_ANDROID) | 495 #if defined(ANDROID_JAVA_UI) |
| 496 return false; | 496 return false; |
| 497 #elif defined(OS_MACOSX) | 497 #elif defined(OS_MACOSX) |
| 498 // Query the group first for correct UMA reporting. | 498 // Query the group first for correct UMA reporting. |
| 499 std::string group_name = | 499 std::string group_name = |
| 500 base::FieldTrialList::FindFullName("PasswordManagerUI"); | 500 base::FieldTrialList::FindFullName("PasswordManagerUI"); |
| 501 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 501 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| 502 if (command_line->HasSwitch(switches::kDisableSavePasswordBubble)) | 502 if (command_line->HasSwitch(switches::kDisableSavePasswordBubble)) |
| 503 return false; | 503 return false; |
| 504 | 504 |
| 505 if (command_line->HasSwitch(switches::kEnableSavePasswordBubble)) | 505 if (command_line->HasSwitch(switches::kEnableSavePasswordBubble)) |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 if (!entry) | 548 if (!entry) |
| 549 return GURL::EmptyGURL(); | 549 return GURL::EmptyGURL(); |
| 550 | 550 |
| 551 return entry->GetURL(); | 551 return entry->GetURL(); |
| 552 } | 552 } |
| 553 | 553 |
| 554 const password_manager::CredentialsFilter* | 554 const password_manager::CredentialsFilter* |
| 555 ChromePasswordManagerClient::GetStoreResultFilter() const { | 555 ChromePasswordManagerClient::GetStoreResultFilter() const { |
| 556 return &credentials_filter_; | 556 return &credentials_filter_; |
| 557 } | 557 } |
| OLD | NEW |