| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/passwords/manage_passwords_bubble_model.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 
| 6 | 6 | 
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" | 
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" | 
| 9 #include "chrome/browser/password_manager/password_store_factory.h" | 9 #include "chrome/browser/password_manager/password_store_factory.h" | 
| 10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 50 } | 50 } | 
| 51 | 51 | 
| 52 void RecordExperimentStatistics(content::WebContents* web_contents, | 52 void RecordExperimentStatistics(content::WebContents* web_contents, | 
| 53                                 metrics_util::UIDismissalReason reason) { | 53                                 metrics_util::UIDismissalReason reason) { | 
| 54   Profile* profile = GetProfileFromWebContents(web_contents); | 54   Profile* profile = GetProfileFromWebContents(web_contents); | 
| 55   if (!profile) | 55   if (!profile) | 
| 56     return; | 56     return; | 
| 57   password_bubble_experiment::RecordBubbleClosed(profile->GetPrefs(), reason); | 57   password_bubble_experiment::RecordBubbleClosed(profile->GetPrefs(), reason); | 
| 58 } | 58 } | 
| 59 | 59 | 
| 60 base::string16 PendingStateTitleBasedOnSavePasswordPref( |  | 
| 61     bool never_save_passwords) { |  | 
| 62   return l10n_util::GetStringUTF16( |  | 
| 63       never_save_passwords ? IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TITLE |  | 
| 64                            : IDS_SAVE_PASSWORD); |  | 
| 65 } |  | 
| 66 |  | 
| 67 ScopedVector<const autofill::PasswordForm> DeepCopyForms( | 60 ScopedVector<const autofill::PasswordForm> DeepCopyForms( | 
| 68     const std::vector<const autofill::PasswordForm*>& forms) { | 61     const std::vector<const autofill::PasswordForm*>& forms) { | 
| 69   ScopedVector<const autofill::PasswordForm> result; | 62   ScopedVector<const autofill::PasswordForm> result; | 
| 70   result.reserve(forms.size()); | 63   result.reserve(forms.size()); | 
| 71   std::transform(forms.begin(), forms.end(), std::back_inserter(result), | 64   std::transform(forms.begin(), forms.end(), std::back_inserter(result), | 
| 72                  [](const autofill::PasswordForm* form) { | 65                  [](const autofill::PasswordForm* form) { | 
| 73     return new autofill::PasswordForm(*form); | 66     return new autofill::PasswordForm(*form); | 
| 74   }); | 67   }); | 
| 75   return result.Pass(); | 68   return result.Pass(); | 
| 76 } | 69 } | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 96   } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { | 89   } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { | 
| 97     local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); | 90     local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); | 
| 98     federated_credentials_ = DeepCopyForms(controller->GetFederatedForms()); | 91     federated_credentials_ = DeepCopyForms(controller->GetFederatedForms()); | 
| 99   } else if (state_ == password_manager::ui::AUTO_SIGNIN_STATE) { | 92   } else if (state_ == password_manager::ui::AUTO_SIGNIN_STATE) { | 
| 100     pending_password_ = *controller->GetCurrentForms()[0]; | 93     pending_password_ = *controller->GetCurrentForms()[0]; | 
| 101   } else { | 94   } else { | 
| 102     local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); | 95     local_credentials_ = DeepCopyForms(controller->GetCurrentForms()); | 
| 103   } | 96   } | 
| 104 | 97 | 
| 105   if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) { | 98   if (state_ == password_manager::ui::PENDING_PASSWORD_STATE) { | 
| 106     title_ = PendingStateTitleBasedOnSavePasswordPref(never_save_passwords_); | 99     title_ = PendingStateTitleBasedOnSavePasswordPref(); | 
| 107   } else if (state_ == password_manager::ui::BLACKLIST_STATE) { | 100   } else if (state_ == password_manager::ui::BLACKLIST_STATE) { | 
| 108     title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE); | 101     title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_BLACKLISTED_TITLE); | 
| 109   } else if (state_ == password_manager::ui::CONFIRMATION_STATE) { | 102   } else if (state_ == password_manager::ui::CONFIRMATION_STATE) { | 
| 110     title_ = | 103     title_ = | 
| 111         l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE); | 104         l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CONFIRM_GENERATED_TITLE); | 
| 112   } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { | 105   } else if (state_ == password_manager::ui::CREDENTIAL_REQUEST_STATE) { | 
| 113     title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE); | 106     title_ = l10n_util::GetStringUTF16(IDS_MANAGE_PASSWORDS_CHOOSE_TITLE); | 
| 114   } else if (state_ == password_manager::ui::AUTO_SIGNIN_STATE) { | 107   } else if (state_ == password_manager::ui::AUTO_SIGNIN_STATE) { | 
| 115     // There is no title. | 108     // There is no title. | 
| 116   } else { | 109   } else { | 
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 190 | 183 | 
| 191 void ManagePasswordsBubbleModel::OnNopeClicked() { | 184 void ManagePasswordsBubbleModel::OnNopeClicked() { | 
| 192   dismissal_reason_ = metrics_util::CLICKED_NOPE; | 185   dismissal_reason_ = metrics_util::CLICKED_NOPE; | 
| 193   RecordExperimentStatistics(web_contents(), dismissal_reason_); | 186   RecordExperimentStatistics(web_contents(), dismissal_reason_); | 
| 194   if (state_ != password_manager::ui::CREDENTIAL_REQUEST_STATE) | 187   if (state_ != password_manager::ui::CREDENTIAL_REQUEST_STATE) | 
| 195     state_ = password_manager::ui::PENDING_PASSWORD_STATE; | 188     state_ = password_manager::ui::PENDING_PASSWORD_STATE; | 
| 196 } | 189 } | 
| 197 | 190 | 
| 198 void ManagePasswordsBubbleModel::OnConfirmationForNeverForThisSite() { | 191 void ManagePasswordsBubbleModel::OnConfirmationForNeverForThisSite() { | 
| 199   never_save_passwords_ = true; | 192   never_save_passwords_ = true; | 
| 200   title_ = PendingStateTitleBasedOnSavePasswordPref(never_save_passwords_); | 193   title_ = PendingStateTitleBasedOnSavePasswordPref(); | 
| 201 } | 194 } | 
| 202 | 195 | 
| 203 void ManagePasswordsBubbleModel::OnUndoNeverForThisSite() { | 196 void ManagePasswordsBubbleModel::OnUndoNeverForThisSite() { | 
| 204   never_save_passwords_ = false; | 197   never_save_passwords_ = false; | 
| 205   title_ = PendingStateTitleBasedOnSavePasswordPref(never_save_passwords_); | 198   title_ = PendingStateTitleBasedOnSavePasswordPref(); | 
| 206 } | 199 } | 
| 207 | 200 | 
| 208 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() { | 201 void ManagePasswordsBubbleModel::OnNeverForThisSiteClicked() { | 
| 209   dismissal_reason_ = metrics_util::CLICKED_NEVER; | 202   dismissal_reason_ = metrics_util::CLICKED_NEVER; | 
| 210   RecordExperimentStatistics(web_contents(), dismissal_reason_); | 203   RecordExperimentStatistics(web_contents(), dismissal_reason_); | 
| 211   ManagePasswordsUIController* manage_passwords_ui_controller = | 204   ManagePasswordsUIController* manage_passwords_ui_controller = | 
| 212       ManagePasswordsUIController::FromWebContents(web_contents()); | 205       ManagePasswordsUIController::FromWebContents(web_contents()); | 
| 213   manage_passwords_ui_controller->NeverSavePassword(); | 206   manage_passwords_ui_controller->NeverSavePassword(); | 
| 214   state_ = password_manager::ui::BLACKLIST_STATE; | 207   state_ = password_manager::ui::BLACKLIST_STATE; | 
| 215 } | 208 } | 
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 299 | 292 | 
| 300 // static | 293 // static | 
| 301 int ManagePasswordsBubbleModel::UsernameFieldWidth() { | 294 int ManagePasswordsBubbleModel::UsernameFieldWidth() { | 
| 302   return GetFieldWidth(USERNAME_FIELD); | 295   return GetFieldWidth(USERNAME_FIELD); | 
| 303 } | 296 } | 
| 304 | 297 | 
| 305 // static | 298 // static | 
| 306 int ManagePasswordsBubbleModel::PasswordFieldWidth() { | 299 int ManagePasswordsBubbleModel::PasswordFieldWidth() { | 
| 307   return GetFieldWidth(PASSWORD_FIELD); | 300   return GetFieldWidth(PASSWORD_FIELD); | 
| 308 } | 301 } | 
|  | 302 | 
|  | 303 base::string16 | 
|  | 304 ManagePasswordsBubbleModel::PendingStateTitleBasedOnSavePasswordPref() const { | 
|  | 305   int message_id = 0; | 
|  | 306   if (never_save_passwords_) | 
|  | 307     message_id = IDS_MANAGE_PASSWORDS_BLACKLIST_CONFIRMATION_TITLE; | 
|  | 308   else if (IsNewUIActive()) | 
|  | 309     message_id = IDS_PASSWORD_MANAGER_SAVE_PASSWORD_SMART_LOCK_PROMPT; | 
|  | 310   else | 
|  | 311     message_id = IDS_SAVE_PASSWORD; | 
|  | 312   return l10n_util::GetStringUTF16(message_id); | 
|  | 313 } | 
| OLD | NEW | 
|---|