| 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 "base/prefs/pref_service.h" | 5 #include "base/prefs/pref_service.h" |
| 6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
| 7 #include "base/values.h" | 7 #include "base/values.h" |
| 8 #include "chrome/browser/content_settings/cookie_settings.h" | 8 #include "chrome/browser/content_settings/cookie_settings.h" |
| 9 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 9 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
| 10 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 10 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 EXPECT_CALL(*sync_service, sync_initialized()).WillRepeatedly(Return(true)); | 318 EXPECT_CALL(*sync_service, sync_initialized()).WillRepeatedly(Return(true)); |
| 319 return sync_service; | 319 return sync_service; |
| 320 } | 320 } |
| 321 | 321 |
| 322 void OneClickSigninHelperTest::SubmitGAIAPassword( | 322 void OneClickSigninHelperTest::SubmitGAIAPassword( |
| 323 OneClickSigninHelper* helper) { | 323 OneClickSigninHelper* helper) { |
| 324 content::PasswordForm password_form; | 324 content::PasswordForm password_form; |
| 325 password_form.origin = GURL("https://accounts.google.com"); | 325 password_form.origin = GURL("https://accounts.google.com"); |
| 326 password_form.signon_realm = "https://accounts.google.com"; | 326 password_form.signon_realm = "https://accounts.google.com"; |
| 327 password_form.password_value = UTF8ToUTF16("password"); | 327 password_form.password_value = UTF8ToUTF16("password"); |
| 328 helper->OnFormSubmitted(password_form); | 328 helper->PasswordSubmitted(password_form); |
| 329 } | 329 } |
| 330 | 330 |
| 331 class OneClickSigninHelperIOTest : public OneClickSigninHelperTest { | 331 class OneClickSigninHelperIOTest : public OneClickSigninHelperTest { |
| 332 public: | 332 public: |
| 333 OneClickSigninHelperIOTest(); | 333 OneClickSigninHelperIOTest(); |
| 334 | 334 |
| 335 virtual void SetUp() OVERRIDE; | 335 virtual void SetUp() OVERRIDE; |
| 336 | 336 |
| 337 TestProfileIOData* CreateTestProfileIOData(bool is_incognito); | 337 TestProfileIOData* CreateTestProfileIOData(bool is_incognito); |
| 338 | 338 |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 // and upon successful setup, redirect back to webstore. | 643 // and upon successful setup, redirect back to webstore. |
| 644 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { | 644 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { |
| 645 CreateSigninManager(false, std::string()); | 645 CreateSigninManager(false, std::string()); |
| 646 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) | 646 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) |
| 647 .WillRepeatedly(Return(true)); | 647 .WillRepeatedly(Return(true)); |
| 648 | 648 |
| 649 CreateProfileSyncServiceMock(); | 649 CreateProfileSyncServiceMock(); |
| 650 | 650 |
| 651 content::WebContents* contents = web_contents(); | 651 content::WebContents* contents = web_contents(); |
| 652 | 652 |
| 653 OneClickSigninHelper::CreateForWebContents(contents); | 653 OneClickSigninHelper::CreateForWebContentsWithPasswordManager(contents, NULL); |
| 654 OneClickSigninHelper* helper = | 654 OneClickSigninHelper* helper = |
| 655 OneClickSigninHelper::FromWebContents(contents); | 655 OneClickSigninHelper::FromWebContents(contents); |
| 656 helper->SetDoNotClearPendingEmailForTesting(); | 656 helper->SetDoNotClearPendingEmailForTesting(); |
| 657 | 657 |
| 658 GURL continueUrl("https://chrome.google.com/webstore?source=5"); | 658 GURL continueUrl("https://chrome.google.com/webstore?source=5"); |
| 659 OneClickSigninHelper::ShowInfoBarUIThread( | 659 OneClickSigninHelper::ShowInfoBarUIThread( |
| 660 "session_index", "user@gmail.com", | 660 "session_index", "user@gmail.com", |
| 661 OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT, | 661 OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT, |
| 662 signin::SOURCE_WEBSTORE_INSTALL, | 662 signin::SOURCE_WEBSTORE_INSTALL, |
| 663 continueUrl, process()->GetID(), rvh()->GetRoutingID()); | 663 continueUrl, process()->GetID(), rvh()->GetRoutingID()); |
| 664 | 664 |
| 665 SubmitGAIAPassword(helper); | 665 SubmitGAIAPassword(helper); |
| 666 | 666 |
| 667 NavigateAndCommit(GURL("https://chrome.google.com/webstore?source=3")); | 667 NavigateAndCommit(GURL("https://chrome.google.com/webstore?source=3")); |
| 668 helper->DidStopLoading(rvh()); | 668 helper->DidStopLoading(rvh()); |
| 669 | 669 |
| 670 helper->OnStateChanged(); | 670 helper->OnStateChanged(); |
| 671 EXPECT_EQ(GURL(continueUrl), contents->GetURL()); | 671 EXPECT_EQ(GURL(continueUrl), contents->GetURL()); |
| 672 EXPECT_EQ("user@gmail.com", signin_manager_->GetAuthenticatedUsername()); | 672 EXPECT_EQ("user@gmail.com", signin_manager_->GetAuthenticatedUsername()); |
| 673 } | 673 } |
| 674 | 674 |
| 675 // Checks that the state of OneClickSigninHelper is cleaned when there is a | 675 // Checks that the state of OneClickSigninHelper is cleaned when there is a |
| 676 // navigation away from the sign in flow that is not triggered by the | 676 // navigation away from the sign in flow that is not triggered by the |
| 677 // web contents. | 677 // web contents. |
| 678 TEST_F(OneClickSigninHelperTest, CleanTransientStateOnNavigate) { | 678 TEST_F(OneClickSigninHelperTest, CleanTransientStateOnNavigate) { |
| 679 content::WebContents* contents = web_contents(); | 679 content::WebContents* contents = web_contents(); |
| 680 | 680 |
| 681 OneClickSigninHelper::CreateForWebContents(contents); | 681 OneClickSigninHelper::CreateForWebContentsWithPasswordManager(contents, NULL); |
| 682 OneClickSigninHelper* helper = | 682 OneClickSigninHelper* helper = |
| 683 OneClickSigninHelper::FromWebContents(contents); | 683 OneClickSigninHelper::FromWebContents(contents); |
| 684 helper->SetDoNotClearPendingEmailForTesting(); | 684 helper->SetDoNotClearPendingEmailForTesting(); |
| 685 helper->auto_accept_ = OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT; | 685 helper->auto_accept_ = OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT; |
| 686 | 686 |
| 687 content::LoadCommittedDetails details; | 687 content::LoadCommittedDetails details; |
| 688 content::FrameNavigateParams params; | 688 content::FrameNavigateParams params; |
| 689 params.url = GURL("http://crbug.com"); | 689 params.url = GURL("http://crbug.com"); |
| 690 params.transition = content::PAGE_TRANSITION_TYPED; | 690 params.transition = content::PAGE_TRANSITION_TYPED; |
| 691 helper->DidNavigateMainFrame(details, params); | 691 helper->DidNavigateMainFrame(details, params); |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); | 842 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
| 843 | 843 |
| 844 // Simulate a policy disabling sync by writing kSyncManaged directly. | 844 // Simulate a policy disabling sync by writing kSyncManaged directly. |
| 845 // We should still offer to sign in the browser. | 845 // We should still offer to sign in the browser. |
| 846 profile()->GetTestingPrefService()->SetManagedPref( | 846 profile()->GetTestingPrefService()->SetManagedPref( |
| 847 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 847 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
| 848 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 848 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 849 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 849 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 850 valid_gaia_url_, std::string(), &request_, io_data.get())); | 850 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 851 } | 851 } |
| OLD | NEW |