| 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
| 7 #include "chrome/browser/content_settings/cookie_settings.h" | 7 #include "chrome/browser/content_settings/cookie_settings.h" |
| 8 #include "chrome/browser/prefs/pref_service.h" | 8 #include "chrome/browser/prefs/pref_service.h" |
| 9 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 9 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
| 11 #include "chrome/browser/profiles/profile_info_cache.h" | 11 #include "chrome/browser/profiles/profile_info_cache.h" |
| 12 #include "chrome/browser/profiles/profile_io_data.h" | 12 #include "chrome/browser/profiles/profile_io_data.h" |
| 13 #include "chrome/browser/profiles/profile_manager.h" | 13 #include "chrome/browser/profiles/profile_manager.h" |
| 14 #include "chrome/browser/signin/signin_manager_factory.h" | 14 #include "chrome/browser/signin/signin_manager_factory.h" |
| 15 #include "chrome/browser/signin/signin_manager_fake.h" | 15 #include "chrome/browser/signin/signin_manager_fake.h" |
| 16 #include "chrome/browser/signin/signin_names_io_thread.h" | 16 #include "chrome/browser/signin/signin_names_io_thread.h" |
| 17 #include "chrome/browser/sync/profile_sync_service_mock.h" | 17 #include "chrome/browser/sync/profile_sync_service_mock.h" |
| 18 #include "chrome/browser/sync/profile_sync_service_factory.h" | 18 #include "chrome/browser/sync/profile_sync_service_factory.h" |
| 19 #include "chrome/browser/sync/test_profile_sync_service.h" | 19 #include "chrome/browser/sync/test_profile_sync_service.h" |
| 20 #include "chrome/browser/ui/sync/one_click_signin_helper.h" | 20 #include "chrome/browser/ui/sync/one_click_signin_helper.h" |
| 21 #include "chrome/common/chrome_switches.h" | 21 #include "chrome/common/chrome_switches.h" |
| 22 #include "chrome/common/pref_names.h" | 22 #include "chrome/common/pref_names.h" |
| 23 #include "chrome/test/base/testing_browser_process.h" | 23 #include "chrome/test/base/testing_browser_process.h" |
| 24 #include "chrome/test/base/testing_pref_service.h" | 24 #include "chrome/test/base/testing_pref_service.h" |
| 25 #include "chrome/test/base/testing_profile.h" | 25 #include "chrome/test/base/testing_profile.h" |
| 26 #include "chrome/test/base/testing_profile_manager.h" | 26 #include "chrome/test/base/testing_profile_manager.h" |
| 27 | |
| 28 #include "content/public/browser/browser_context.h" | 27 #include "content/public/browser/browser_context.h" |
| 29 #include "content/public/browser/web_contents.h" | 28 #include "content/public/browser/web_contents.h" |
| 30 #include "content/public/test/test_browser_thread.h" | 29 #include "content/public/test/test_browser_thread.h" |
| 31 #include "content/public/test/test_renderer_host.h" | 30 #include "content/public/test/test_renderer_host.h" |
| 31 #include "grit/generated_resources.h" |
| 32 #include "testing/gtest/include/gtest/gtest.h" | 32 #include "testing/gtest/include/gtest/gtest.h" |
| 33 | 33 |
| 34 using ::testing::_; | 34 using ::testing::_; |
| 35 using ::testing::Mock; | 35 using ::testing::Mock; |
| 36 using ::testing::Return; | 36 using ::testing::Return; |
| 37 using ::testing::ReturnRef; | 37 using ::testing::ReturnRef; |
| 38 using ::testing::Values; | 38 using ::testing::Values; |
| 39 | 39 |
| 40 namespace { | 40 namespace { |
| 41 | 41 |
| 42 // Explicit URLs are sign in URLs created by chrome for specific sign in access | 42 // Explicit URLs are sign in URLs created by chrome for specific sign in access |
| 43 // points. Implicit URLs are those to sign for some Google service, like gmail | 43 // points. Implicit URLs are those to sign for some Google service, like gmail |
| 44 // or drive. In former case, with a valid URL, we don't want to offer the | 44 // or drive. In former case, with a valid URL, we don't want to offer the |
| 45 // interstitial. In all other cases we do. | 45 // interstitial. In all other cases we do. |
| 46 | 46 |
| 47 const char kImplicitURLString[] = | 47 const char kImplicitURLString[] = |
| 48 "https://accounts.google.com/ServiceLogin" | 48 "https://accounts.google.com/ServiceLogin" |
| 49 "?service=foo&continue=http://foo.google.com"; | 49 "?service=foo&continue=http://foo.google.com"; |
| 50 | 50 |
| 51 bool UseWebBasedSigninFlow() { | |
| 52 return CommandLine::ForCurrentProcess()->HasSwitch( | |
| 53 switches::kUseWebBasedSigninFlow); | |
| 54 } | |
| 55 | |
| 56 class SigninManagerMock : public FakeSigninManager { | 51 class SigninManagerMock : public FakeSigninManager { |
| 57 public: | 52 public: |
| 58 explicit SigninManagerMock(Profile* profile) | 53 explicit SigninManagerMock(Profile* profile) |
| 59 : FakeSigninManager(profile) {} | 54 : FakeSigninManager(profile) {} |
| 60 MOCK_CONST_METHOD1(IsAllowedUsername, bool(const std::string& username)); | 55 MOCK_CONST_METHOD1(IsAllowedUsername, bool(const std::string& username)); |
| 61 }; | 56 }; |
| 62 | 57 |
| 63 class TestProfileIOData : public ProfileIOData { | 58 class TestProfileIOData : public ProfileIOData { |
| 64 public: | 59 public: |
| 65 TestProfileIOData(bool is_incognito, PrefService* pref_service, | 60 TestProfileIOData(bool is_incognito, PrefService* pref_service, |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 PrefService* pref_service = testing_profile->GetPrefs(); | 318 PrefService* pref_service = testing_profile->GetPrefs(); |
| 324 PrefService* local_state = g_browser_process->local_state(); | 319 PrefService* local_state = g_browser_process->local_state(); |
| 325 CookieSettings* cookie_settings = | 320 CookieSettings* cookie_settings = |
| 326 CookieSettings::Factory::GetForProfile(testing_profile); | 321 CookieSettings::Factory::GetForProfile(testing_profile); |
| 327 TestProfileIOData* io_data = new TestProfileIOData( | 322 TestProfileIOData* io_data = new TestProfileIOData( |
| 328 is_incognito, pref_service, local_state, cookie_settings); | 323 is_incognito, pref_service, local_state, cookie_settings); |
| 329 return io_data; | 324 return io_data; |
| 330 } | 325 } |
| 331 | 326 |
| 332 TEST_F(OneClickSigninHelperTest, CanOfferNoContents) { | 327 TEST_F(OneClickSigninHelperTest, CanOfferNoContents) { |
| 333 EXPECT_FALSE(OneClickSigninHelper::CanOffer(NULL, "user@gmail.com", true)); | 328 int error_message_id = 0; |
| 334 EXPECT_FALSE(OneClickSigninHelper::CanOffer(NULL, "", false)); | 329 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 330 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 331 "user@gmail.com", &error_message_id)); |
| 332 EXPECT_EQ(0, error_message_id); |
| 333 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 334 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 335 "user@gmail.com", &error_message_id)); |
| 336 EXPECT_EQ(0, error_message_id); |
| 337 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 338 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 339 "", &error_message_id)); |
| 340 EXPECT_EQ(0, error_message_id); |
| 335 } | 341 } |
| 336 | 342 |
| 337 TEST_F(OneClickSigninHelperTest, CanOffer) { | 343 TEST_F(OneClickSigninHelperTest, CanOffer) { |
| 338 CreateSigninManager(false, ""); | 344 CreateSigninManager(false, ""); |
| 339 | 345 |
| 340 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 346 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 341 WillRepeatedly(Return(true)); | 347 WillRepeatedly(Return(true)); |
| 342 | 348 |
| 343 EnableOneClick(true); | 349 EnableOneClick(true); |
| 344 EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents(), "user@gmail.com", | 350 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 345 true)); | 351 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 346 EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents(), "", false)); | 352 "user@gmail.com", NULL)); |
| 353 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 354 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 355 "user@gmail.com", NULL)); |
| 356 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 357 web_contents(), |
| 358 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 359 "", NULL)); |
| 347 | 360 |
| 348 EnableOneClick(false); | 361 EnableOneClick(false); |
| 349 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "user@gmail.com", | 362 |
| 350 true)); | 363 int error_message_id = 0; |
| 351 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "", false)); | 364 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 365 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 366 "user@gmail.com", &error_message_id)); |
| 367 EXPECT_EQ(0, error_message_id); |
| 368 |
| 369 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 370 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 371 "user@gmail.com", &error_message_id)); |
| 372 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 373 web_contents(), |
| 374 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 375 "", &error_message_id)); |
| 376 EXPECT_EQ(0, error_message_id); |
| 352 } | 377 } |
| 353 | 378 |
| 354 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { | 379 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { |
| 355 CreateSigninManager(false, ""); | 380 CreateSigninManager(false, ""); |
| 356 | 381 |
| 357 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 382 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 358 WillRepeatedly(Return(true)); | 383 WillRepeatedly(Return(true)); |
| 359 | 384 |
| 360 // Invoke OneClickTestProfileSyncService factory function and grab result. | 385 // Invoke OneClickTestProfileSyncService factory function and grab result. |
| 361 OneClickTestProfileSyncService* sync = | 386 OneClickTestProfileSyncService* sync = |
| 362 static_cast<OneClickTestProfileSyncService*>( | 387 static_cast<OneClickTestProfileSyncService*>( |
| 363 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 388 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| 364 static_cast<Profile*>(browser_context()), | 389 static_cast<Profile*>(browser_context()), |
| 365 OneClickTestProfileSyncService::Build)); | 390 OneClickTestProfileSyncService::Build)); |
| 366 | 391 |
| 367 sync->set_first_setup_in_progress(true); | 392 sync->set_first_setup_in_progress(true); |
| 368 | 393 |
| 369 EXPECT_EQ(UseWebBasedSigninFlow(), | 394 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 370 OneClickSigninHelper::CanOffer(web_contents(), | 395 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 371 "foo@gmail.com", | 396 "foo@gmail.com", NULL)); |
| 372 true)); | 397 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 373 EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents(), | 398 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 374 "foo@gmail.com", | 399 "foo@gmail.com", NULL)); |
| 375 false)); | 400 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 401 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 402 "", NULL)); |
| 376 } | 403 } |
| 377 | 404 |
| 378 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { | 405 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { |
| 379 CreateSigninManager(false, "foo@gmail.com"); | 406 CreateSigninManager(false, "foo@gmail.com"); |
| 380 | 407 |
| 381 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 408 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 382 WillRepeatedly(Return(true)); | 409 WillRepeatedly(Return(true)); |
| 383 | 410 |
| 384 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), | 411 int error_message_id = 0; |
| 385 "foo@gmail.com", | 412 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 386 true)); | 413 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 387 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), | 414 "foo@gmail.com", &error_message_id)); |
| 388 "user@gmail.com", | 415 EXPECT_EQ(IDS_SYNC_SETUP_ERROR, error_message_id); |
| 389 true)); | 416 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 390 EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents(), | 417 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 391 "", | 418 "user@gmail.com", &error_message_id)); |
| 392 false)); | 419 EXPECT_EQ(IDS_SYNC_SETUP_ERROR, error_message_id); |
| 420 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 421 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 422 "foo@gmail.com", &error_message_id)); |
| 423 EXPECT_EQ(IDS_SYNC_SETUP_ERROR, error_message_id); |
| 424 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 425 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 426 "user@gmail.com", &error_message_id)); |
| 427 EXPECT_EQ(IDS_SYNC_SETUP_ERROR, error_message_id); |
| 428 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 429 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 430 "", &error_message_id)); |
| 393 } | 431 } |
| 394 | 432 |
| 395 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { | 433 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { |
| 396 CreateSigninManager(false, "foo@gmail.com"); | 434 CreateSigninManager(false, ""); |
| 397 | 435 |
| 398 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 436 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 399 WillRepeatedly(Return(false)); | 437 WillRepeatedly(Return(false)); |
| 400 | 438 |
| 401 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), | 439 int error_message_id = 0; |
| 402 "foo@gmail.com", | 440 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 403 true)); | 441 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 404 EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents(), | 442 "foo@gmail.com", &error_message_id)); |
| 405 "", | 443 EXPECT_EQ(IDS_SYNC_LOGIN_NAME_PROHIBITED, error_message_id); |
| 406 false)); | 444 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 445 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 446 "foo@gmail.com", &error_message_id)); |
| 447 EXPECT_EQ(IDS_SYNC_LOGIN_NAME_PROHIBITED, error_message_id); |
| 448 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 449 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 450 "", &error_message_id)); |
| 407 } | 451 } |
| 408 | 452 |
| 409 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { | 453 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { |
| 410 CreateSigninManager(false, ""); | 454 CreateSigninManager(false, ""); |
| 411 | 455 |
| 412 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 456 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 413 WillRepeatedly(Return(true)); | 457 WillRepeatedly(Return(true)); |
| 414 | 458 |
| 415 AddEmailToOneClickRejectedList("foo@gmail.com"); | 459 AddEmailToOneClickRejectedList("foo@gmail.com"); |
| 416 AddEmailToOneClickRejectedList("user@gmail.com"); | 460 AddEmailToOneClickRejectedList("user@gmail.com"); |
| 417 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "foo@gmail.com", | 461 |
| 418 true)); | 462 int error_message_id = 0; |
| 419 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "user@gmail.com", | 463 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 420 true)); | 464 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 421 EXPECT_TRUE(OneClickSigninHelper::CanOffer(web_contents(), "john@gmail.com", | 465 "foo@gmail.com", &error_message_id)); |
| 422 true)); | 466 EXPECT_EQ(0, error_message_id); |
| 467 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 468 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 469 "user@gmail.com", &error_message_id)); |
| 470 EXPECT_EQ(0, error_message_id); |
| 471 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 472 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 473 "foo@gmail.com", &error_message_id)); |
| 474 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 475 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 476 "user@gmail.com", &error_message_id)); |
| 477 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
| 478 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 479 "john@gmail.com", &error_message_id)); |
| 423 } | 480 } |
| 424 | 481 |
| 425 TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { | 482 TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { |
| 426 CreateSigninManager(true, ""); | 483 CreateSigninManager(true, ""); |
| 427 | 484 |
| 428 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "user@gmail.com", | 485 int error_message_id = 0; |
| 429 true)); | 486 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 430 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "", false)); | 487 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 488 "user@gmail.com", &error_message_id)); |
| 489 EXPECT_EQ(0, error_message_id); |
| 490 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 491 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 492 "user@gmail.com", &error_message_id)); |
| 493 EXPECT_EQ(0, error_message_id); |
| 494 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 495 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 496 "", &error_message_id)); |
| 497 EXPECT_EQ(0, error_message_id); |
| 431 } | 498 } |
| 432 | 499 |
| 433 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { | 500 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { |
| 434 CreateSigninManager(false, ""); | 501 CreateSigninManager(false, ""); |
| 435 AllowSigninCookies(false); | 502 AllowSigninCookies(false); |
| 436 | 503 |
| 437 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 504 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
| 438 WillRepeatedly(Return(true)); | 505 WillRepeatedly(Return(true)); |
| 439 | 506 |
| 440 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "user@gmail.com", | 507 int error_message_id = 0; |
| 441 true)); | 508 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 442 EXPECT_FALSE(OneClickSigninHelper::CanOffer(web_contents(), "", false)); | 509 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 510 "user@gmail.com", &error_message_id)); |
| 511 EXPECT_EQ(0, error_message_id); |
| 512 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 513 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
| 514 "user@gmail.com", &error_message_id)); |
| 515 EXPECT_EQ(0, error_message_id); |
| 516 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
| 517 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
| 518 "", &error_message_id)); |
| 519 EXPECT_EQ(0, error_message_id); |
| 443 } | 520 } |
| 444 | 521 |
| 445 // I/O thread tests | 522 // I/O thread tests |
| 446 | 523 |
| 447 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThread) { | 524 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThread) { |
| 448 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 525 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 449 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 526 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
| 450 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 527 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 451 valid_gaia_url_, "", &request_, io_data.get())); | 528 valid_gaia_url_, "", &request_, io_data.get())); |
| 452 } | 529 } |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 561 valid_gaia_url_, "", &request_, io_data.get())); | 638 valid_gaia_url_, "", &request_, io_data.get())); |
| 562 } | 639 } |
| 563 | 640 |
| 564 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoSigninCookies) { | 641 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoSigninCookies) { |
| 565 AllowSigninCookies(false); | 642 AllowSigninCookies(false); |
| 566 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); | 643 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); |
| 567 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, | 644 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, |
| 568 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 645 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
| 569 valid_gaia_url_, "", &request_, io_data.get())); | 646 valid_gaia_url_, "", &request_, io_data.get())); |
| 570 } | 647 } |
| OLD | NEW |