| 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..bead4bd60644ccd3bd46e5fefa1f77f72b3a0cd8 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(CheckinDelay checkin_delay,
|
| + ErrorSimulation error_simulation)
|
| : delegate_(NULL),
|
| - status_(status),
|
| + status_(UNINITIALIZED),
|
| + checkin_delay_(checkin_delay),
|
| error_simulation_(error_simulation) {
|
| }
|
|
|
| @@ -32,8 +34,23 @@ void GCMClientMock::Initialize(
|
| delegate_ = delegate;
|
| }
|
|
|
| +void GCMClientMock::CheckIn() {
|
| + DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
|
| + DCHECK_NE(CHECKED_IN, status_);
|
| +
|
| + if (checkin_delay_ == CHECKIN_DELAY)
|
| + return;
|
| +
|
| + status_ = CHECKED_IN;
|
| + 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::PerformDelayedCheckIn() {
|
| + DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
|
| + DCHECK_EQ(checkin_delay_, CHECKIN_DELAY);
|
| +
|
| + checkin_delay_ = NO_CHECKIN_DELAY;
|
| + content::BrowserThread::PostTask(
|
| + content::BrowserThread::IO,
|
| + FROM_HERE,
|
| + base::Bind(&GCMClientMock::CheckIn, 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
|
|
|