| 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/utf_string_conversions.h" | 6 #include "base/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 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 std::string error_message; | 382 std::string error_message; |
| 383 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 383 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 384 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 384 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 385 "user@gmail.com", &error_message)); | 385 "user@gmail.com", &error_message)); |
| 386 EXPECT_EQ("", error_message); | 386 EXPECT_EQ("", error_message); |
| 387 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 387 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 388 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 388 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 389 "user@gmail.com", &error_message)); | 389 "user@gmail.com", &error_message)); |
| 390 EXPECT_EQ("", error_message); | 390 EXPECT_EQ("", error_message); |
| 391 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 391 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 392 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 392 NULL, |
| 393 "", &error_message)); | 393 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 394 std::string(), |
| 395 &error_message)); |
| 394 EXPECT_EQ("", error_message); | 396 EXPECT_EQ("", error_message); |
| 395 } | 397 } |
| 396 | 398 |
| 397 TEST_F(OneClickSigninHelperTest, CanOffer) { | 399 TEST_F(OneClickSigninHelperTest, CanOffer) { |
| 398 CreateSigninManager(false, ""); | 400 CreateSigninManager(false, std::string()); |
| 399 | 401 |
| 400 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 402 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 401 WillRepeatedly(Return(true)); | 403 WillRepeatedly(Return(true)); |
| 402 | 404 |
| 403 EnableOneClick(true); | 405 EnableOneClick(true); |
| 404 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 406 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 405 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 407 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 406 "user@gmail.com", NULL)); | 408 "user@gmail.com", NULL)); |
| 407 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 409 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 408 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 410 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 409 "user@gmail.com", NULL)); | 411 "user@gmail.com", NULL)); |
| 410 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 412 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 411 web_contents(), | 413 web_contents(), |
| 412 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 414 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 413 "", NULL)); | 415 std::string(), |
| 416 NULL)); |
| 414 | 417 |
| 415 EnableOneClick(false); | 418 EnableOneClick(false); |
| 416 | 419 |
| 417 std::string error_message; | 420 std::string error_message; |
| 418 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 421 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 419 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 422 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 420 "user@gmail.com", &error_message)); | 423 "user@gmail.com", &error_message)); |
| 421 EXPECT_EQ("", error_message); | 424 EXPECT_EQ("", error_message); |
| 422 | 425 |
| 423 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 426 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 424 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 427 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 425 "user@gmail.com", &error_message)); | 428 "user@gmail.com", &error_message)); |
| 426 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 429 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 427 web_contents(), | 430 web_contents(), |
| 428 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 431 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 429 "", &error_message)); | 432 std::string(), |
| 433 &error_message)); |
| 430 EXPECT_EQ("", error_message); | 434 EXPECT_EQ("", error_message); |
| 431 } | 435 } |
| 432 | 436 |
| 433 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { | 437 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { |
| 434 CreateSigninManager(false, ""); | 438 CreateSigninManager(false, std::string()); |
| 435 | 439 |
| 436 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 440 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 437 WillRepeatedly(Return(true)); | 441 WillRepeatedly(Return(true)); |
| 438 | 442 |
| 439 // Invoke OneClickTestProfileSyncService factory function and grab result. | 443 // Invoke OneClickTestProfileSyncService factory function and grab result. |
| 440 OneClickTestProfileSyncService* sync = | 444 OneClickTestProfileSyncService* sync = |
| 441 static_cast<OneClickTestProfileSyncService*>( | 445 static_cast<OneClickTestProfileSyncService*>( |
| 442 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 446 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| 443 static_cast<Profile*>(browser_context()), | 447 static_cast<Profile*>(browser_context()), |
| 444 OneClickTestProfileSyncService::Build)); | 448 OneClickTestProfileSyncService::Build)); |
| 445 | 449 |
| 446 sync->set_first_setup_in_progress(true); | 450 sync->set_first_setup_in_progress(true); |
| 447 | 451 |
| 448 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 452 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 449 web_contents(), | 453 web_contents(), |
| 450 OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 454 OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 451 "foo@gmail.com", NULL)); | 455 "foo@gmail.com", NULL)); |
| 452 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 456 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 453 web_contents(), | 457 web_contents(), |
| 454 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 458 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 455 "foo@gmail.com", NULL)); | 459 "foo@gmail.com", NULL)); |
| 456 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 460 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 457 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 461 web_contents(), |
| 458 "", NULL)); | 462 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 463 std::string(), |
| 464 NULL)); |
| 459 } | 465 } |
| 460 | 466 |
| 461 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { | 467 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { |
| 462 CreateSigninManager(false, "foo@gmail.com"); | 468 CreateSigninManager(false, "foo@gmail.com"); |
| 463 | 469 |
| 464 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 470 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 465 WillRepeatedly(Return(true)); | 471 WillRepeatedly(Return(true)); |
| 466 | 472 |
| 467 std::string error_message; | 473 std::string error_message; |
| 468 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 474 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| (...skipping 16 matching lines...) Expand all Loading... |
| 485 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 491 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 486 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 492 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 487 "foo", &error_message)); | 493 "foo", &error_message)); |
| 488 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 494 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 489 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 495 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 490 "user@gmail.com", &error_message)); | 496 "user@gmail.com", &error_message)); |
| 491 EXPECT_EQ(l10n_util::GetStringFUTF8(IDS_SYNC_WRONG_EMAIL, | 497 EXPECT_EQ(l10n_util::GetStringFUTF8(IDS_SYNC_WRONG_EMAIL, |
| 492 UTF8ToUTF16("foo@gmail.com")), | 498 UTF8ToUTF16("foo@gmail.com")), |
| 493 error_message); | 499 error_message); |
| 494 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 500 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 495 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 501 web_contents(), |
| 496 "", &error_message)); | 502 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 503 std::string(), |
| 504 &error_message)); |
| 497 } | 505 } |
| 498 | 506 |
| 499 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { | 507 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { |
| 500 CreateSigninManager(false, ""); | 508 CreateSigninManager(false, std::string()); |
| 501 | 509 |
| 502 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 510 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 503 WillRepeatedly(Return(false)); | 511 WillRepeatedly(Return(false)); |
| 504 | 512 |
| 505 std::string error_message; | 513 std::string error_message; |
| 506 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 514 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 507 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 515 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 508 "foo@gmail.com", &error_message)); | 516 "foo@gmail.com", &error_message)); |
| 509 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), | 517 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), |
| 510 error_message); | 518 error_message); |
| 511 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 519 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 512 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 520 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 513 "foo@gmail.com", &error_message)); | 521 "foo@gmail.com", &error_message)); |
| 514 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), | 522 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), |
| 515 error_message); | 523 error_message); |
| 516 EXPECT_TRUE( | 524 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 517 OneClickSigninHelper::CanOffer( | 525 web_contents(), |
| 518 web_contents(), | 526 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 519 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 527 std::string(), |
| 520 "", | 528 &error_message)); |
| 521 &error_message)); | |
| 522 } | 529 } |
| 523 | 530 |
| 524 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { | 531 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { |
| 525 CreateSigninManager(false, ""); | 532 CreateSigninManager(false, std::string()); |
| 526 | 533 |
| 527 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 534 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 528 WillRepeatedly(Return(true)); | 535 WillRepeatedly(Return(true)); |
| 529 | 536 |
| 530 AddEmailToOneClickRejectedList("foo@gmail.com"); | 537 AddEmailToOneClickRejectedList("foo@gmail.com"); |
| 531 AddEmailToOneClickRejectedList("user@gmail.com"); | 538 AddEmailToOneClickRejectedList("user@gmail.com"); |
| 532 | 539 |
| 533 std::string error_message; | 540 std::string error_message; |
| 534 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 541 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 535 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 542 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 536 "foo@gmail.com", &error_message)); | 543 "foo@gmail.com", &error_message)); |
| 537 EXPECT_EQ("", error_message); | 544 EXPECT_EQ("", error_message); |
| 538 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 545 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 539 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 546 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 540 "user@gmail.com", &error_message)); | 547 "user@gmail.com", &error_message)); |
| 541 EXPECT_EQ("", error_message); | 548 EXPECT_EQ("", error_message); |
| 542 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 549 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 543 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 550 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 544 "foo@gmail.com", &error_message)); | 551 "foo@gmail.com", &error_message)); |
| 545 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 552 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 546 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 553 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 547 "user@gmail.com", &error_message)); | 554 "user@gmail.com", &error_message)); |
| 548 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 555 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 549 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 556 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 550 "john@gmail.com", &error_message)); | 557 "john@gmail.com", &error_message)); |
| 551 } | 558 } |
| 552 | 559 |
| 553 TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { | 560 TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { |
| 554 CreateSigninManager(true, ""); | 561 CreateSigninManager(true, std::string()); |
| 555 | 562 |
| 556 std::string error_message; | 563 std::string error_message; |
| 557 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 564 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 558 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 565 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 559 "user@gmail.com", &error_message)); | 566 "user@gmail.com", &error_message)); |
| 560 EXPECT_EQ("", error_message); | 567 EXPECT_EQ("", error_message); |
| 561 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 568 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 562 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 569 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 563 "user@gmail.com", &error_message)); | 570 "user@gmail.com", &error_message)); |
| 564 EXPECT_EQ("", error_message); | 571 EXPECT_EQ("", error_message); |
| 565 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 572 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 566 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 573 web_contents(), |
| 567 "", &error_message)); | 574 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 575 std::string(), |
| 576 &error_message)); |
| 568 EXPECT_EQ("", error_message); | 577 EXPECT_EQ("", error_message); |
| 569 } | 578 } |
| 570 | 579 |
| 571 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { | 580 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { |
| 572 CreateSigninManager(false, ""); | 581 CreateSigninManager(false, std::string()); |
| 573 AllowSigninCookies(false); | 582 AllowSigninCookies(false); |
| 574 | 583 |
| 575 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 584 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 576 WillRepeatedly(Return(true)); | 585 WillRepeatedly(Return(true)); |
| 577 | 586 |
| 578 std::string error_message; | 587 std::string error_message; |
| 579 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 588 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 580 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 589 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 581 "user@gmail.com", &error_message)); | 590 "user@gmail.com", &error_message)); |
| 582 EXPECT_EQ("", error_message); | 591 EXPECT_EQ("", error_message); |
| 583 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 592 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 584 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 593 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 585 "user@gmail.com", &error_message)); | 594 "user@gmail.com", &error_message)); |
| 586 EXPECT_EQ("", error_message); | 595 EXPECT_EQ("", error_message); |
| 587 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 596 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 588 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 597 web_contents(), |
| 589 "", &error_message)); | 598 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 599 std::string(), |
| 600 &error_message)); |
| 590 EXPECT_EQ("", error_message); | 601 EXPECT_EQ("", error_message); |
| 591 } | 602 } |
| 592 | 603 |
| 593 TEST_F(OneClickSigninHelperTest, CanOfferUntrustedProcess) { | 604 TEST_F(OneClickSigninHelperTest, CanOfferUntrustedProcess) { |
| 594 content::MockRenderProcessHost trusted(browser_context_.get()); | 605 content::MockRenderProcessHost trusted(browser_context_.get()); |
| 595 ASSERT_NE(trusted.GetID(), process()->GetID()); | 606 ASSERT_NE(trusted.GetID(), process()->GetID()); |
| 596 // Make sure the RenderProcessHost used by the test is untrusted. | 607 // Make sure the RenderProcessHost used by the test is untrusted. |
| 597 SetTrustedSigninProcessID(trusted.GetID()); | 608 SetTrustedSigninProcessID(trusted.GetID()); |
| 598 CreateSigninManager(false, ""); | 609 CreateSigninManager(false, std::string()); |
| 599 | 610 |
| 600 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 611 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 601 WillRepeatedly(Return(true)); | 612 WillRepeatedly(Return(true)); |
| 602 | 613 |
| 603 EnableOneClick(true); | 614 EnableOneClick(true); |
| 604 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 615 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 605 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 616 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 606 "user@gmail.com", NULL)); | 617 "user@gmail.com", NULL)); |
| 607 } | 618 } |
| 608 | 619 |
| 609 TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) { | 620 TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) { |
| 610 CreateSigninManager(false, ""); | 621 CreateSigninManager(false, std::string()); |
| 611 | 622 |
| 612 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 623 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 613 WillRepeatedly(Return(true)); | 624 WillRepeatedly(Return(true)); |
| 614 | 625 |
| 615 EnableOneClick(true); | 626 EnableOneClick(true); |
| 616 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 627 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 617 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 628 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 618 "user@gmail.com", NULL)); | 629 "user@gmail.com", NULL)); |
| 619 | 630 |
| 620 // Simulate a policy disabling signin by writing kSigninAllowed directly. | 631 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 635 | 646 |
| 636 // Should still offer even if sync is disabled by policy. | 647 // Should still offer even if sync is disabled by policy. |
| 637 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 648 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 638 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 649 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 639 "user@gmail.com", NULL)); | 650 "user@gmail.com", NULL)); |
| 640 } | 651 } |
| 641 | 652 |
| 642 // Should not crash if a helper instance is not associated with an incognito | 653 // Should not crash if a helper instance is not associated with an incognito |
| 643 // web contents. | 654 // web contents. |
| 644 TEST_F(OneClickSigninHelperTest, ShowInfoBarUIThreadIncognito) { | 655 TEST_F(OneClickSigninHelperTest, ShowInfoBarUIThreadIncognito) { |
| 645 CreateSigninManager(true, ""); | 656 CreateSigninManager(true, std::string()); |
| 646 OneClickSigninHelper* helper = | 657 OneClickSigninHelper* helper = |
| 647 OneClickSigninHelper::FromWebContents(web_contents()); | 658 OneClickSigninHelper::FromWebContents(web_contents()); |
| 648 EXPECT_EQ(NULL, helper); | 659 EXPECT_EQ(NULL, helper); |
| 649 | 660 |
| 650 OneClickSigninHelper::ShowInfoBarUIThread( | 661 OneClickSigninHelper::ShowInfoBarUIThread( |
| 651 "session_index", "email", OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED, | 662 "session_index", "email", OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED, |
| 652 SyncPromoUI::SOURCE_UNKNOWN, GURL(), process()->GetID(), | 663 SyncPromoUI::SOURCE_UNKNOWN, GURL(), process()->GetID(), |
| 653 rvh()->GetRoutingID()); | 664 rvh()->GetRoutingID()); |
| 654 } | 665 } |
| 655 | 666 |
| 656 // If Chrome signin is triggered from a webstore install, and user chooses to | 667 // If Chrome signin is triggered from a webstore install, and user chooses to |
| 657 // config sync, then Chrome should redirect immidiately to sync settings page, | 668 // config sync, then Chrome should redirect immidiately to sync settings page, |
| 658 // and upon successful setup, redirect back to webstore. | 669 // and upon successful setup, redirect back to webstore. |
| 659 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { | 670 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { |
| 660 CreateSigninManager(false, ""); | 671 CreateSigninManager(false, std::string()); |
| 661 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 672 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) |
| 662 WillRepeatedly(Return(true)); | 673 .WillRepeatedly(Return(true)); |
| 663 | 674 |
| 664 CreateProfileSyncServiceMock(); | 675 CreateProfileSyncServiceMock(); |
| 665 | 676 |
| 666 content::WebContents* contents = web_contents(); | 677 content::WebContents* contents = web_contents(); |
| 667 | 678 |
| 668 OneClickSigninHelper::CreateForWebContents(contents); | 679 OneClickSigninHelper::CreateForWebContents(contents); |
| 669 OneClickSigninHelper* helper = | 680 OneClickSigninHelper* helper = |
| 670 OneClickSigninHelper::FromWebContents(contents); | 681 OneClickSigninHelper::FromWebContents(contents); |
| 671 | 682 |
| 672 GURL continueUrl("https://chrome.google.com/webstore?source=5"); | 683 GURL continueUrl("https://chrome.google.com/webstore?source=5"); |
| 673 OneClickSigninHelper::ShowInfoBarUIThread( | 684 OneClickSigninHelper::ShowInfoBarUIThread( |
| 674 "session_index", "user@gmail.com", | 685 "session_index", "user@gmail.com", |
| 675 OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT, | 686 OneClickSigninHelper::AUTO_ACCEPT_EXPLICIT, |
| 676 SyncPromoUI::SOURCE_WEBSTORE_INSTALL, | 687 SyncPromoUI::SOURCE_WEBSTORE_INSTALL, |
| 677 continueUrl, process()->GetID(), rvh()->GetRoutingID()); | 688 continueUrl, process()->GetID(), rvh()->GetRoutingID()); |
| 678 | 689 |
| 679 SubmitGAIAPassword(helper); | 690 SubmitGAIAPassword(helper); |
| 680 | 691 |
| 681 NavigateAndCommit(GURL("https://chrome.google.com/webstore?source=3")); | 692 NavigateAndCommit(GURL("https://chrome.google.com/webstore?source=3")); |
| 682 helper->DidStopLoading(rvh()); | 693 helper->DidStopLoading(rvh()); |
| 683 | 694 |
| 684 helper->OnStateChanged(); | 695 helper->OnStateChanged(); |
| 685 EXPECT_EQ(GURL(continueUrl), contents->GetURL()); | 696 EXPECT_EQ(GURL(continueUrl), contents->GetURL()); |
| 686 EXPECT_EQ("user@gmail.com", signin_manager_->GetAuthenticatedUsername()); | 697 EXPECT_EQ("user@gmail.com", signin_manager_->GetAuthenticatedUsername()); |
| 687 } | 698 } |
| 688 | 699 |
| 689 TEST_F(OneClickSigninHelperTest, ShowSigninBubbleAfterSigninComplete) { | 700 TEST_F(OneClickSigninHelperTest, ShowSigninBubbleAfterSigninComplete) { |
| 690 CreateSigninManager(false, ""); | 701 CreateSigninManager(false, std::string()); |
| 691 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 702 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) |
| 692 WillRepeatedly(Return(true)); | 703 .WillRepeatedly(Return(true)); |
| 693 | 704 |
| 694 CreateProfileSyncServiceMock(); | 705 CreateProfileSyncServiceMock(); |
| 695 | 706 |
| 696 content::WebContents* contents = web_contents(); | 707 content::WebContents* contents = web_contents(); |
| 697 | 708 |
| 698 OneClickSigninHelper::CreateForWebContents(contents); | 709 OneClickSigninHelper::CreateForWebContents(contents); |
| 699 OneClickSigninHelper* helper = | 710 OneClickSigninHelper* helper = |
| 700 OneClickSigninHelper::FromWebContents(contents); | 711 OneClickSigninHelper::FromWebContents(contents); |
| 701 | 712 |
| 702 GURL continueUrl( | 713 GURL continueUrl( |
| (...skipping 15 matching lines...) Expand all Loading... |
| 718 helper->SigninSuccess(); | 729 helper->SigninSuccess(); |
| 719 EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), true); | 730 EXPECT_EQ(pref_service->GetBoolean(prefs::kSyncPromoShowNTPBubble), true); |
| 720 } | 731 } |
| 721 | 732 |
| 722 // I/O thread tests | 733 // I/O thread tests |
| 723 | 734 |
| 724 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThread) { | 735 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThread) { |
| 725 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 736 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 726 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 737 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 727 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 738 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 728 valid_gaia_url_, "", &request_, io_data.get())); | 739 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 729 } | 740 } |
| 730 | 741 |
| 731 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadIncognito) { | 742 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadIncognito) { |
| 732 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(true)); | 743 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(true)); |
| 733 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 744 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 734 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 745 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 735 valid_gaia_url_, "", &request_, io_data.get())); | 746 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 736 } | 747 } |
| 737 | 748 |
| 738 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoIOData) { | 749 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoIOData) { |
| 739 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 750 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 740 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 751 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 741 valid_gaia_url_, "", &request_, NULL)); | 752 valid_gaia_url_, std::string(), &request_, NULL)); |
| 742 } | 753 } |
| 743 | 754 |
| 744 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadBadURL) { | 755 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadBadURL) { |
| 745 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 756 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 757 EXPECT_EQ( |
| 758 OneClickSigninHelper::IGNORE_REQUEST, |
| 759 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 760 GURL("https://foo.com/"), std::string(), &request_, io_data.get())); |
| 746 EXPECT_EQ(OneClickSigninHelper::IGNORE_REQUEST, | 761 EXPECT_EQ(OneClickSigninHelper::IGNORE_REQUEST, |
| 747 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 762 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 748 GURL("https://foo.com/"), "", &request_, io_data.get())); | 763 GURL("http://accounts.google.com/"), |
| 749 EXPECT_EQ(OneClickSigninHelper::IGNORE_REQUEST, | 764 std::string(), |
| 750 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 765 &request_, |
| 751 GURL("http://accounts.google.com/"), "", | 766 io_data.get())); |
| 752 &request_, io_data.get())); | |
| 753 } | 767 } |
| 754 | 768 |
| 755 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadReferrer) { | 769 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadReferrer) { |
| 756 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 770 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 757 std::string continue_url(SyncPromoUI::GetSyncPromoURL( | 771 std::string continue_url(SyncPromoUI::GetSyncPromoURL( |
| 758 GURL(), SyncPromoUI::SOURCE_START_PAGE, false).spec()); | 772 GURL(), SyncPromoUI::SOURCE_START_PAGE, false).spec()); |
| 759 | 773 |
| 760 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 774 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 761 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 775 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 762 valid_gaia_url_, continue_url, &request_, io_data.get())); | 776 valid_gaia_url_, continue_url, &request_, io_data.get())); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 789 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 803 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 790 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 804 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 791 valid_gaia_url_, bad_url_3, &request_, io_data.get())); | 805 valid_gaia_url_, bad_url_3, &request_, io_data.get())); |
| 792 } | 806 } |
| 793 | 807 |
| 794 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabled) { | 808 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabled) { |
| 795 EnableOneClick(false); | 809 EnableOneClick(false); |
| 796 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 810 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 797 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 811 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 798 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 812 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 799 valid_gaia_url_, "", &request_, io_data.get())); | 813 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 800 } | 814 } |
| 801 | 815 |
| 802 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadSignedIn) { | 816 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadSignedIn) { |
| 803 PrefService* pref_service = profile_->GetPrefs(); | 817 PrefService* pref_service = profile_->GetPrefs(); |
| 804 pref_service->SetString(prefs::kGoogleServicesUsername, "user@gmail.com"); | 818 pref_service->SetString(prefs::kGoogleServicesUsername, "user@gmail.com"); |
| 805 | 819 |
| 806 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 820 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 807 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 821 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 808 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 822 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 809 valid_gaia_url_, "", &request_, io_data.get())); | 823 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 810 } | 824 } |
| 811 | 825 |
| 812 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailNotAllowed) { | 826 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailNotAllowed) { |
| 813 SetAllowedUsernamePattern("*@example.com"); | 827 SetAllowedUsernamePattern("*@example.com"); |
| 814 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 828 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 815 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 829 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 816 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 830 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 817 valid_gaia_url_, "", &request_, io_data.get())); | 831 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 818 } | 832 } |
| 819 | 833 |
| 820 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailAlreadyUsed) { | 834 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailAlreadyUsed) { |
| 821 ProfileInfoCache* cache = testing_profile_manager_.profile_info_cache(); | 835 ProfileInfoCache* cache = testing_profile_manager_.profile_info_cache(); |
| 822 const base::FilePath& user_data_dir = cache->GetUserDataDir(); | 836 const base::FilePath& user_data_dir = cache->GetUserDataDir(); |
| 823 cache->AddProfileToCache(user_data_dir.Append(FILE_PATH_LITERAL("user")), | 837 cache->AddProfileToCache(user_data_dir.Append(FILE_PATH_LITERAL("user")), |
| 824 UTF8ToUTF16("user"), | 838 UTF8ToUTF16("user"), |
| 825 UTF8ToUTF16("user@gmail.com"), 0, false); | 839 UTF8ToUTF16("user@gmail.com"), 0, false); |
| 826 | 840 |
| 827 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 841 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 828 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 842 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 829 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 843 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 830 valid_gaia_url_, "", &request_, io_data.get())); | 844 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 831 } | 845 } |
| 832 | 846 |
| 833 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadWithRejectedEmail) { | 847 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadWithRejectedEmail) { |
| 834 AddEmailToOneClickRejectedList("user@gmail.com"); | 848 AddEmailToOneClickRejectedList("user@gmail.com"); |
| 835 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 849 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 836 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 850 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 837 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 851 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 838 valid_gaia_url_, "", &request_, io_data.get())); | 852 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 839 } | 853 } |
| 840 | 854 |
| 841 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoSigninCookies) { | 855 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoSigninCookies) { |
| 842 AllowSigninCookies(false); | 856 AllowSigninCookies(false); |
| 843 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 857 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 844 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 858 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 845 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 859 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 846 valid_gaia_url_, "", &request_, io_data.get())); | 860 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 847 } | 861 } |
| 848 | 862 |
| 849 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { | 863 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { |
| 850 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 864 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 851 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 865 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 852 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 866 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 853 valid_gaia_url_, "", &request_, io_data.get())); | 867 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 854 | 868 |
| 855 // Simulate a policy disabling signin by writing kSigninAllowed directly. | 869 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
| 856 // We should not offer to sign in the browser. | 870 // We should not offer to sign in the browser. |
| 857 profile_->GetTestingPrefService()->SetManagedPref( | 871 profile_->GetTestingPrefService()->SetManagedPref( |
| 858 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); | 872 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); |
| 859 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 873 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 860 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 874 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 861 valid_gaia_url_, "", &request_, io_data.get())); | 875 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 862 | 876 |
| 863 // Reset the preference. | 877 // Reset the preference. |
| 864 profile_->GetTestingPrefService()->SetManagedPref( | 878 profile_->GetTestingPrefService()->SetManagedPref( |
| 865 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); | 879 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
| 866 | 880 |
| 867 // Simulate a policy disabling sync by writing kSyncManaged directly. | 881 // Simulate a policy disabling sync by writing kSyncManaged directly. |
| 868 // We should still offer to sign in the browser. | 882 // We should still offer to sign in the browser. |
| 869 profile_->GetTestingPrefService()->SetManagedPref( | 883 profile_->GetTestingPrefService()->SetManagedPref( |
| 870 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 884 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
| 871 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 885 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 872 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 886 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 873 valid_gaia_url_, "", &request_, io_data.get())); | 887 valid_gaia_url_, std::string(), &request_, io_data.get())); |
| 874 } | 888 } |
| OLD | NEW |