| Index: chrome/browser/services/gcm/gcm_client_mock.cc
|
| diff --git a/chrome/browser/services/gcm/gcm_client_mock.cc b/chrome/browser/services/gcm/gcm_client_mock.cc
|
| index 45f434983bbb8d418df1164815844ded21a144ef..8576795cd21c54f3277232da67167d8a17c16734 100644
|
| --- a/chrome/browser/services/gcm/gcm_client_mock.cc
|
| +++ b/chrome/browser/services/gcm/gcm_client_mock.cc
|
| @@ -13,9 +13,11 @@
|
|
|
| namespace gcm {
|
|
|
| -GCMClientMock::GCMClientMock(Status status, ErrorSimulation error_simulation)
|
| +GCMClientMock::GCMClientMock(LoadingDelay loading_delay,
|
| + ErrorSimulation error_simulation)
|
| : delegate_(NULL),
|
| - status_(status),
|
| + status_(UNINITIALIZED),
|
| + loading_delay_(loading_delay),
|
| error_simulation_(error_simulation) {
|
| }
|
|
|
| @@ -32,8 +34,23 @@ void GCMClientMock::Initialize(
|
| delegate_ = delegate;
|
| }
|
|
|
| +void GCMClientMock::Load() {
|
| + DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
|
| + DCHECK_NE(LOADED, status_);
|
| +
|
| + if (loading_delay_ == LOADING_DELAY)
|
| + return;
|
| +
|
| + status_ = LOADED;
|
| + base::MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&GCMClientMock::CheckinFinished,
|
| + base::Unretained(this)));
|
| +}
|
| +
|
| void GCMClientMock::CheckOut() {
|
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
|
| + status_ = CHECKED_OUT;
|
| }
|
|
|
| void GCMClientMock::Register(const std::string& app_id,
|
| @@ -69,8 +86,15 @@ void GCMClientMock::Send(const std::string& app_id,
|
| message.id));
|
| }
|
|
|
| -bool GCMClientMock::IsReady() const {
|
| - return status_ == READY;
|
| +void GCMClientMock::PerformDelayedLoading() {
|
| + DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| + DCHECK_EQ(loading_delay_, LOADING_DELAY);
|
| +
|
| + loading_delay_ = NO_LOADING_DELAY;
|
| + content::BrowserThread::PostTask(
|
| + content::BrowserThread::IO,
|
| + FROM_HERE,
|
| + base::Bind(&GCMClientMock::Load, base::Unretained(this)));
|
| }
|
|
|
| void GCMClientMock::ReceiveMessage(const std::string& app_id,
|
| @@ -97,18 +121,6 @@ void GCMClientMock::DeleteMessages(const std::string& app_id) {
|
| app_id));
|
| }
|
|
|
| -void GCMClientMock::SetReady() {
|
| - DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| - DCHECK_EQ(status_, NOT_READY);
|
| -
|
| - status_ = READY;
|
| - content::BrowserThread::PostTask(
|
| - content::BrowserThread::IO,
|
| - FROM_HERE,
|
| - base::Bind(&GCMClientMock::SetReadyOnIO,
|
| - base::Unretained(this)));
|
| -}
|
| -
|
| // static
|
| std::string GCMClientMock::GetRegistrationIdFromSenderIds(
|
| const std::vector<std::string>& sender_ids) {
|
| @@ -131,6 +143,10 @@ std::string GCMClientMock::GetRegistrationIdFromSenderIds(
|
| return registration_id;
|
| }
|
|
|
| +void GCMClientMock::CheckinFinished() {
|
| + delegate_->OnGCMReady();
|
| +}
|
| +
|
| void GCMClientMock::RegisterFinished(const std::string& app_id,
|
| const std::string& registrion_id) {
|
| delegate_->OnRegisterFinished(
|
| @@ -170,8 +186,4 @@ void GCMClientMock::MessageSendError(const std::string& app_id,
|
| delegate_->OnMessageSendError(app_id, message_id, NETWORK_ERROR);
|
| }
|
|
|
| -void GCMClientMock::SetReadyOnIO() {
|
| - delegate_->OnGCMReady();
|
| -}
|
| -
|
| } // namespace gcm
|
|
|