| Index: components/gcm_driver/gcm_driver_desktop.cc
|
| diff --git a/components/gcm_driver/gcm_driver_desktop.cc b/components/gcm_driver/gcm_driver_desktop.cc
|
| index 599957d2a5979fced996c2440031f4cee4344b7c..6408981e2b7d179d1df6d263fd5a0a03fff330a8 100644
|
| --- a/components/gcm_driver/gcm_driver_desktop.cc
|
| +++ b/components/gcm_driver/gcm_driver_desktop.cc
|
| @@ -55,6 +55,9 @@ class GCMDriverDesktop::IOWorker : public GCMClient::Delegate {
|
| GCMClient::Result result) override;
|
| void OnMessageReceived(const std::string& app_id,
|
| const IncomingMessage& message) override;
|
| + void OnMessageReceivedError(const std::string& app_id,
|
| + const std::string& message_id,
|
| + int status) override;
|
| void OnMessagesDeleted(const std::string& app_id) override;
|
| void OnMessageSendError(
|
| const std::string& app_id,
|
| @@ -244,6 +247,17 @@ void GCMDriverDesktop::IOWorker::OnMessageReceived(
|
| message));
|
| }
|
|
|
| +void GCMDriverDesktop::IOWorker::OnMessageReceivedError(
|
| + const std::string& app_id,
|
| + const std::string& message_id,
|
| + int status) {
|
| + DCHECK(io_thread_->RunsTasksOnCurrentThread());
|
| +
|
| + ui_thread_->PostTask(
|
| + FROM_HERE, base::Bind(&GCMDriverDesktop::MessageReceivedError, service_,
|
| + app_id, message_id, status));
|
| +}
|
| +
|
| void GCMDriverDesktop::IOWorker::OnMessagesDeleted(const std::string& app_id) {
|
| DCHECK(io_thread_->RunsTasksOnCurrentThread());
|
|
|
| @@ -1226,6 +1240,18 @@ void GCMDriverDesktop::MessageReceived(const std::string& app_id,
|
| DispatchMessage(app_id, message);
|
| }
|
|
|
| +void GCMDriverDesktop::MessageReceivedError(const std::string& app_id,
|
| + const std::string& message_id,
|
| + int status) {
|
| + DCHECK(ui_thread_->RunsTasksOnCurrentThread());
|
| +
|
| + // Drop the event if the service has been stopped.
|
| + if (!gcm_started_)
|
| + return;
|
| +
|
| + SendMessageReceipt(app_id, message_id, status);
|
| +}
|
| +
|
| void GCMDriverDesktop::MessagesDeleted(const std::string& app_id) {
|
| DCHECK(ui_thread_->RunsTasksOnCurrentThread());
|
|
|
|
|