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/ui/passwords/manage_passwords_ui_controller.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "chrome/app/chrome_command_ids.h" | 10 #include "chrome/app/chrome_command_ids.h" |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 bubble_status_ = NOT_SHOWN; | 256 bubble_status_ = NOT_SHOWN; |
257 if (GetState() == password_manager::ui::CONFIRMATION_STATE || | 257 if (GetState() == password_manager::ui::CONFIRMATION_STATE || |
258 GetState() == password_manager::ui::AUTO_SIGNIN_STATE) { | 258 GetState() == password_manager::ui::AUTO_SIGNIN_STATE) { |
259 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); | 259 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
260 update_icon = true; | 260 update_icon = true; |
261 } | 261 } |
262 if (update_icon) | 262 if (update_icon) |
263 UpdateBubbleAndIconVisibility(); | 263 UpdateBubbleAndIconVisibility(); |
264 } | 264 } |
265 | 265 |
266 void ManagePasswordsUIController::OnNoInteractionOnUpdate() { | 266 void ManagePasswordsUIController::OnNoInteraction() { |
267 if (GetState() != password_manager::ui::PENDING_PASSWORD_UPDATE_STATE) { | 267 if (GetState() != password_manager::ui::PENDING_PASSWORD_UPDATE_STATE && |
| 268 GetState() != password_manager::ui::PENDING_PASSWORD_STATE) { |
268 // Do nothing if the state was changed. It can happen for example when the | 269 // Do nothing if the state was changed. It can happen for example when the |
269 // update bubble is active and a page navigation happens. | 270 // bubble is active and a page navigation happens. |
270 return; | 271 return; |
271 } | 272 } |
| 273 bool is_update = |
| 274 GetState() == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE; |
272 password_manager::PasswordFormManager* form_manager = | 275 password_manager::PasswordFormManager* form_manager = |
273 passwords_data_.form_manager(); | 276 passwords_data_.form_manager(); |
274 DCHECK(form_manager); | 277 DCHECK(form_manager); |
275 form_manager->OnNoInteractionOnUpdate(); | 278 form_manager->OnNoInteraction(is_update); |
276 } | 279 } |
277 | 280 |
278 void ManagePasswordsUIController::OnNopeUpdateClicked() { | 281 void ManagePasswordsUIController::OnNopeUpdateClicked() { |
279 password_manager::PasswordFormManager* form_manager = | 282 password_manager::PasswordFormManager* form_manager = |
280 passwords_data_.form_manager(); | 283 passwords_data_.form_manager(); |
281 DCHECK(form_manager); | 284 DCHECK(form_manager); |
282 form_manager->OnNopeUpdateClicked(); | 285 form_manager->OnNopeUpdateClicked(); |
283 } | 286 } |
284 | 287 |
285 void ManagePasswordsUIController::NeverSavePassword() { | 288 void ManagePasswordsUIController::NeverSavePassword() { |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 const autofill::PasswordForm& password_form) { | 378 const autofill::PasswordForm& password_form) { |
376 password_manager::PasswordFormManager* form_manager = | 379 password_manager::PasswordFormManager* form_manager = |
377 passwords_data_.form_manager(); | 380 passwords_data_.form_manager(); |
378 form_manager->Update(password_form); | 381 form_manager->Update(password_form); |
379 } | 382 } |
380 | 383 |
381 void ManagePasswordsUIController::NeverSavePasswordInternal() { | 384 void ManagePasswordsUIController::NeverSavePasswordInternal() { |
382 password_manager::PasswordFormManager* form_manager = | 385 password_manager::PasswordFormManager* form_manager = |
383 passwords_data_.form_manager(); | 386 passwords_data_.form_manager(); |
384 DCHECK(form_manager); | 387 DCHECK(form_manager); |
385 form_manager->PermanentlyBlacklist(); | 388 form_manager->OnNeverClicked(); |
386 } | 389 } |
387 | 390 |
388 void ManagePasswordsUIController::UpdateBubbleAndIconVisibility() { | 391 void ManagePasswordsUIController::UpdateBubbleAndIconVisibility() { |
389 // If we're not on a "webby" URL (e.g. "chrome://sign-in"), we shouldn't | 392 // If we're not on a "webby" URL (e.g. "chrome://sign-in"), we shouldn't |
390 // display either the bubble or the icon. | 393 // display either the bubble or the icon. |
391 if (!BrowsingDataHelper::IsWebScheme( | 394 if (!BrowsingDataHelper::IsWebScheme( |
392 web_contents()->GetLastCommittedURL().scheme())) { | 395 web_contents()->GetLastCommittedURL().scheme())) { |
393 passwords_data_.OnInactive(); | 396 passwords_data_.OnInactive(); |
394 } | 397 } |
395 | 398 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); | 456 passwords_data_.TransitionToState(password_manager::ui::MANAGE_STATE); |
454 } | 457 } |
455 } | 458 } |
456 | 459 |
457 void ManagePasswordsUIController::WebContentsDestroyed() { | 460 void ManagePasswordsUIController::WebContentsDestroyed() { |
458 password_manager::PasswordStore* password_store = | 461 password_manager::PasswordStore* password_store = |
459 GetPasswordStore(web_contents()); | 462 GetPasswordStore(web_contents()); |
460 if (password_store) | 463 if (password_store) |
461 password_store->RemoveObserver(this); | 464 password_store->RemoveObserver(this); |
462 } | 465 } |
OLD | NEW |