| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/prefs/pref_service.h" | 6 #include "base/prefs/pref_service.h" |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
| 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
| 10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" | 10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 325 |
| 326 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); | 326 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); |
| 327 } | 327 } |
| 328 | 328 |
| 329 TEST_F(ManagePasswordsUIControllerTest, SlowNavigations) { | 329 TEST_F(ManagePasswordsUIControllerTest, SlowNavigations) { |
| 330 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 330 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 331 CreateFormManager()); | 331 CreateFormManager()); |
| 332 controller()->OnPasswordSubmitted(test_form_manager.Pass()); | 332 controller()->OnPasswordSubmitted(test_form_manager.Pass()); |
| 333 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); | 333 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); |
| 334 | 334 |
| 335 // Fake-navigate after a second. We expect the bubble's state to be reset | 335 // Fake-navigate after 5 seconds. We expect the bubble's state to be reset |
| 336 // if a navigation occurs after this limit. | 336 // if a navigation occurs after this limit. |
| 337 controller()->SetElapsed( | 337 controller()->SetElapsed( |
| 338 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS)); | 338 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS)); |
| 339 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), | 339 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), |
| 340 content::FrameNavigateParams()); | 340 content::FrameNavigateParams()); |
| 341 | 341 |
| 342 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); | 342 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); |
| 343 } | 343 } |
| 344 | 344 |
| 345 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) { | 345 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) { |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 CreateFormManager()); | 564 CreateFormManager()); |
| 565 test_form_manager->ProvisionallySave( | 565 test_form_manager->ProvisionallySave( |
| 566 test_local_form(), | 566 test_local_form(), |
| 567 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 567 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 568 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); | 568 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); |
| 569 | 569 |
| 570 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); | 570 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); |
| 571 controller()->UpdatePassword(autofill::PasswordForm()); | 571 controller()->UpdatePassword(autofill::PasswordForm()); |
| 572 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); | 572 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
| 573 } | 573 } |
| 574 |
| 575 TEST_F(ManagePasswordsUIControllerTest, NavigationWhenUpdateBubbleActive) { |
| 576 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 577 CreateFormManager()); |
| 578 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); |
| 579 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, |
| 580 controller()->state()); |
| 581 // Fake-navigate after 5 seconds. We expect the bubble's state to be reset |
| 582 // if a navigation occurs after this limit. |
| 583 controller()->SetElapsed( |
| 584 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS)); |
| 585 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), |
| 586 content::FrameNavigateParams()); |
| 587 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
| 588 // The following line shouldn't crash browser. |
| 589 controller()->OnNoInteractionOnUpdate(); |
| 590 } |
| OLD | NEW |