| Index: components/gcm_driver/fake_gcm_client.cc
|
| diff --git a/components/gcm_driver/fake_gcm_client.cc b/components/gcm_driver/fake_gcm_client.cc
|
| index eaa66c894d182fea831ea919e8b275cdc9edd992..0f36ebaf1cf47688cde72322b9af51e54f4bc739 100644
|
| --- a/components/gcm_driver/fake_gcm_client.cc
|
| +++ b/components/gcm_driver/fake_gcm_client.cc
|
| @@ -18,6 +18,7 @@
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/time/time.h"
|
| #include "base/timer/timer.h"
|
| +#include "components/sync/base/bind_to_task_runner.h"
|
| #include "google_apis/gcm/base/encryptor.h"
|
| #include "google_apis/gcm/engine/account_mapping.h"
|
| #include "net/base/ip_endpoint.h"
|
| @@ -238,15 +239,26 @@ void FakeGCMClient::PerformDelayedStart() {
|
| }
|
|
|
| void FakeGCMClient::ReceiveMessage(const std::string& app_id,
|
| + const std::string& message_id,
|
| const IncomingMessage& message) {
|
| DCHECK(ui_thread_->RunsTasksOnCurrentThread());
|
|
|
| io_thread_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&FakeGCMClient::MessageReceived,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - app_id,
|
| - message));
|
| + FROM_HERE, base::Bind(&FakeGCMClient::MessageReceived,
|
| + weak_ptr_factory_.GetWeakPtr(), app_id, message,
|
| + base::Bind(&FakeGCMClient::SendMessageReceipt,
|
| + weak_ptr_factory_.GetWeakPtr(),
|
| + message_id, app_id)));
|
| +}
|
| +
|
| +void FakeGCMClient::SendMessageReceipt(const std::string& message_id,
|
| + const std::string& app_id,
|
| + GCMMessageStatus status) {
|
| + DCHECK(io_thread_->RunsTasksOnCurrentThread());
|
| +
|
| + receipt_message_id_ = message_id;
|
| + receipt_app_id_ = app_id;
|
| + receipt_status_ = status;
|
| }
|
|
|
| void FakeGCMClient::DeleteMessages(const std::string& app_id) {
|
| @@ -302,10 +314,13 @@ void FakeGCMClient::SendFinished(const std::string& app_id,
|
| }
|
| }
|
|
|
| -void FakeGCMClient::MessageReceived(const std::string& app_id,
|
| - const IncomingMessage& message) {
|
| +void FakeGCMClient::MessageReceived(
|
| + const std::string& app_id,
|
| + const IncomingMessage& message,
|
| + const GCMClient::MessageReceiptCallback& callback) {
|
| if (delegate_)
|
| - delegate_->OnMessageReceived(app_id, message);
|
| + delegate_->OnMessageReceived(app_id, message,
|
| + syncer::BindToCurrentThread(callback));
|
| }
|
|
|
| void FakeGCMClient::MessagesDeleted(const std::string& app_id) {
|
|
|