| 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 runner_->Run(); | 97 runner_->Run(); |
| 98 login_manager->RemoveObserver(this); | 98 login_manager->RemoveObserver(this); |
| 99 } | 99 } |
| 100 | 100 |
| 101 OAuth2LoginManager::SessionRestoreState final_state() { return final_state_; } | 101 OAuth2LoginManager::SessionRestoreState final_state() { return final_state_; } |
| 102 | 102 |
| 103 private: | 103 private: |
| 104 // OAuth2LoginManager::Observer overrides. | 104 // OAuth2LoginManager::Observer overrides. |
| 105 virtual void OnSessionRestoreStateChanged( | 105 virtual void OnSessionRestoreStateChanged( |
| 106 Profile* user_profile, | 106 Profile* user_profile, |
| 107 OAuth2LoginManager::SessionRestoreState state) OVERRIDE { | 107 OAuth2LoginManager::SessionRestoreState state) override { |
| 108 if (!waiting_for_state_) | 108 if (!waiting_for_state_) |
| 109 return; | 109 return; |
| 110 | 110 |
| 111 if (states_.find(state) == states_.end()) | 111 if (states_.find(state) == states_.end()) |
| 112 return; | 112 return; |
| 113 | 113 |
| 114 final_state_ = state; | 114 final_state_ = state; |
| 115 waiting_for_state_ = false; | 115 waiting_for_state_ = false; |
| 116 runner_->Quit(); | 116 runner_->Quit(); |
| 117 } | 117 } |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 user_id, &oauth_token_status)) { | 211 user_id, &oauth_token_status)) { |
| 212 user_manager::User::OAuthTokenStatus result = | 212 user_manager::User::OAuthTokenStatus result = |
| 213 static_cast<user_manager::User::OAuthTokenStatus>(oauth_token_status); | 213 static_cast<user_manager::User::OAuthTokenStatus>(oauth_token_status); |
| 214 return result; | 214 return result; |
| 215 } | 215 } |
| 216 return user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; | 216 return user_manager::User::OAUTH_TOKEN_STATUS_UNKNOWN; |
| 217 } | 217 } |
| 218 | 218 |
| 219 protected: | 219 protected: |
| 220 // OobeBaseTest overrides. | 220 // OobeBaseTest overrides. |
| 221 virtual Profile* profile() OVERRIDE { | 221 virtual Profile* profile() override { |
| 222 if (user_manager::UserManager::Get()->GetActiveUser()) | 222 if (user_manager::UserManager::Get()->GetActiveUser()) |
| 223 return ProfileManager::GetPrimaryUserProfile(); | 223 return ProfileManager::GetPrimaryUserProfile(); |
| 224 | 224 |
| 225 return OobeBaseTest::profile(); | 225 return OobeBaseTest::profile(); |
| 226 } | 226 } |
| 227 | 227 |
| 228 bool AddUserToSession(const std::string& username, | 228 bool AddUserToSession(const std::string& username, |
| 229 const std::string& password) { | 229 const std::string& password) { |
| 230 ExistingUserController* controller = | 230 ExistingUserController* controller = |
| 231 ExistingUserController::current_controller(); | 231 ExistingUserController::current_controller(); |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 571 if (start_event_.IsSignaled()) | 571 if (start_event_.IsSignaled()) |
| 572 return; | 572 return; |
| 573 | 573 |
| 574 runner_ = new content::MessageLoopRunner; | 574 runner_ = new content::MessageLoopRunner; |
| 575 runner_->Run(); | 575 runner_->Run(); |
| 576 } | 576 } |
| 577 | 577 |
| 578 private: | 578 private: |
| 579 // FakeGaia overrides. | 579 // FakeGaia overrides. |
| 580 virtual void HandleMergeSession(const HttpRequest& request, | 580 virtual void HandleMergeSession(const HttpRequest& request, |
| 581 BasicHttpResponse* http_response) OVERRIDE { | 581 BasicHttpResponse* http_response) override { |
| 582 start_event_.Signal(); | 582 start_event_.Signal(); |
| 583 content::BrowserThread::PostTask( | 583 content::BrowserThread::PostTask( |
| 584 content::BrowserThread::UI, FROM_HERE, | 584 content::BrowserThread::UI, FROM_HERE, |
| 585 base::Bind(&DelayedFakeGaia::QuitRunnerOnUIThread, | 585 base::Bind(&DelayedFakeGaia::QuitRunnerOnUIThread, |
| 586 base::Unretained(this))); | 586 base::Unretained(this))); |
| 587 blocking_event_.Wait(); | 587 blocking_event_.Wait(); |
| 588 FakeGaia::HandleMergeSession(request, http_response); | 588 FakeGaia::HandleMergeSession(request, http_response); |
| 589 } | 589 } |
| 590 | 590 |
| 591 void QuitRunnerOnUIThread() { | 591 void QuitRunnerOnUIThread() { |
| 592 if (runner_.get()) | 592 if (runner_.get()) |
| 593 runner_->Quit(); | 593 runner_->Quit(); |
| 594 } | 594 } |
| 595 | 595 |
| 596 base::WaitableEvent blocking_event_; | 596 base::WaitableEvent blocking_event_; |
| 597 base::WaitableEvent start_event_; | 597 base::WaitableEvent start_event_; |
| 598 scoped_refptr<content::MessageLoopRunner> runner_; | 598 scoped_refptr<content::MessageLoopRunner> runner_; |
| 599 | 599 |
| 600 DISALLOW_COPY_AND_ASSIGN(DelayedFakeGaia); | 600 DISALLOW_COPY_AND_ASSIGN(DelayedFakeGaia); |
| 601 }; | 601 }; |
| 602 | 602 |
| 603 class MergeSessionTest : public OAuth2Test { | 603 class MergeSessionTest : public OAuth2Test { |
| 604 protected: | 604 protected: |
| 605 MergeSessionTest() : delayed_fake_gaia_(new DelayedFakeGaia()) { | 605 MergeSessionTest() : delayed_fake_gaia_(new DelayedFakeGaia()) { |
| 606 fake_gaia_.reset(delayed_fake_gaia_); | 606 fake_gaia_.reset(delayed_fake_gaia_); |
| 607 } | 607 } |
| 608 | 608 |
| 609 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 609 virtual void SetUpCommandLine(CommandLine* command_line) override { |
| 610 OAuth2Test::SetUpCommandLine(command_line); | 610 OAuth2Test::SetUpCommandLine(command_line); |
| 611 | 611 |
| 612 // Get fake URL for fake google.com. | 612 // Get fake URL for fake google.com. |
| 613 const GURL& server_url = embedded_test_server()->base_url(); | 613 const GURL& server_url = embedded_test_server()->base_url(); |
| 614 std::string google_host("www.google.com"); | 614 std::string google_host("www.google.com"); |
| 615 GURL::Replacements replace_google_host; | 615 GURL::Replacements replace_google_host; |
| 616 replace_google_host.SetHostStr(google_host); | 616 replace_google_host.SetHostStr(google_host); |
| 617 GURL google_url = server_url.ReplaceComponents(replace_google_host); | 617 GURL google_url = server_url.ReplaceComponents(replace_google_host); |
| 618 fake_google_page_url_ = google_url.Resolve(kHelloPagePath); | 618 fake_google_page_url_ = google_url.Resolve(kHelloPagePath); |
| 619 | 619 |
| 620 std::string non_google_host("www.somethingelse.org"); | 620 std::string non_google_host("www.somethingelse.org"); |
| 621 GURL::Replacements replace_non_google_host; | 621 GURL::Replacements replace_non_google_host; |
| 622 replace_non_google_host.SetHostStr(non_google_host); | 622 replace_non_google_host.SetHostStr(non_google_host); |
| 623 GURL non_google_url = server_url.ReplaceComponents(replace_non_google_host); | 623 GURL non_google_url = server_url.ReplaceComponents(replace_non_google_host); |
| 624 non_google_page_url_ = non_google_url.Resolve(kRandomPagePath); | 624 non_google_page_url_ = non_google_url.Resolve(kRandomPagePath); |
| 625 } | 625 } |
| 626 | 626 |
| 627 virtual void SetUp() OVERRIDE { | 627 virtual void SetUp() override { |
| 628 embedded_test_server()->RegisterRequestHandler( | 628 embedded_test_server()->RegisterRequestHandler( |
| 629 base::Bind(&FakeGoogle::HandleRequest, | 629 base::Bind(&FakeGoogle::HandleRequest, |
| 630 base::Unretained(&fake_google_))); | 630 base::Unretained(&fake_google_))); |
| 631 OAuth2Test::SetUp(); | 631 OAuth2Test::SetUp(); |
| 632 } | 632 } |
| 633 | 633 |
| 634 protected: | 634 protected: |
| 635 void UnblockMergeSession() { | 635 void UnblockMergeSession() { |
| 636 delayed_fake_gaia_->UnblockMergeSession(); | 636 delayed_fake_gaia_->UnblockMergeSession(); |
| 637 } | 637 } |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 | 782 |
| 783 if (!catcher.GetNextResult()) { | 783 if (!catcher.GetNextResult()) { |
| 784 std::string message = catcher.message(); | 784 std::string message = catcher.message(); |
| 785 ADD_FAILURE() << "Tests failed: " << message; | 785 ADD_FAILURE() << "Tests failed: " << message; |
| 786 } | 786 } |
| 787 | 787 |
| 788 EXPECT_TRUE(fake_google_.IsPageRequested()); | 788 EXPECT_TRUE(fake_google_.IsPageRequested()); |
| 789 } | 789 } |
| 790 | 790 |
| 791 } // namespace chromeos | 791 } // namespace chromeos |
| OLD | NEW |