| 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 fa7c3c8ef21680091b304f391bf32f9feba1ba33..d8794263240892360a42e0de8c77009f2b0f60e4 100644
|
| --- a/components/gcm_driver/gcm_driver_desktop.cc
|
| +++ b/components/gcm_driver/gcm_driver_desktop.cc
|
| @@ -108,6 +108,8 @@ class GCMDriverDesktop::IOWorker : public GCMClient::Delegate {
|
| virtual void OnMessageSendError(
|
| const std::string& app_id,
|
| const GCMClient::SendErrorDetails& send_error_details) OVERRIDE;
|
| + virtual void OnSendAcknowledged(const std::string& app_id,
|
| + const std::string& message_id) OVERRIDE;
|
| virtual void OnGCMReady() OVERRIDE;
|
| virtual void OnActivityRecorded() OVERRIDE;
|
| virtual void OnConnected(const net::IPEndPoint& ip_endpoint) OVERRIDE;
|
| @@ -246,6 +248,17 @@ void GCMDriverDesktop::IOWorker::OnMessageSendError(
|
| send_error_details));
|
| }
|
|
|
| +void GCMDriverDesktop::IOWorker::OnSendAcknowledged(
|
| + const std::string& app_id,
|
| + const std::string& message_id) {
|
| + DCHECK(io_thread_->RunsTasksOnCurrentThread());
|
| +
|
| + ui_thread_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(
|
| + &GCMDriverDesktop::SendAcknowledged, service_, app_id, message_id));
|
| +}
|
| +
|
| void GCMDriverDesktop::IOWorker::OnGCMReady() {
|
| ui_thread_->PostTask(
|
| FROM_HERE,
|
| @@ -680,6 +693,17 @@ void GCMDriverDesktop::MessageSendError(
|
| GetAppHandler(app_id)->OnSendError(app_id, send_error_details);
|
| }
|
|
|
| +void GCMDriverDesktop::SendAcknowledged(const std::string& app_id,
|
| + const std::string& message_id) {
|
| + DCHECK(ui_thread_->RunsTasksOnCurrentThread());
|
| +
|
| + // Drop the event if the service has been stopped.
|
| + if (!gcm_started_)
|
| + return;
|
| +
|
| + GetAppHandler(app_id)->OnSendAcknowledged(app_id, message_id);
|
| +}
|
| +
|
| void GCMDriverDesktop::GCMClientReady() {
|
| DCHECK(ui_thread_->RunsTasksOnCurrentThread());
|
|
|
|
|