| Index: chrome/browser/services/gcm/push_messaging_service_impl.cc
|
| diff --git a/chrome/browser/services/gcm/push_messaging_service_impl.cc b/chrome/browser/services/gcm/push_messaging_service_impl.cc
|
| index cb3d87a590863bd9adb9244fb92af7b1262e5e9e..8c7a0110bc0884117e57ddd9c4450b766ed977ec 100644
|
| --- a/chrome/browser/services/gcm/push_messaging_service_impl.cc
|
| +++ b/chrome/browser/services/gcm/push_messaging_service_impl.cc
|
| @@ -198,7 +198,7 @@ void PushMessagingServiceImpl::OnMessage(
|
|
|
| // |origin| may have lost push permission. Unregister and drop this message.
|
| if (!HasPermission(application_id.origin)) {
|
| - Unregister(application_id, UnregisterCallback());
|
| + Unregister(application_id, message.sender_id, UnregisterCallback());
|
| return;
|
| }
|
|
|
| @@ -248,7 +248,7 @@ void PushMessagingServiceImpl::DeliverMessageCallback(
|
| case content::PUSH_DELIVERY_STATUS_SERVICE_WORKER_ERROR:
|
| break;
|
| case content::PUSH_DELIVERY_STATUS_NO_SERVICE_WORKER:
|
| - Unregister(application_id, UnregisterCallback());
|
| + Unregister(application_id, message.sender_id, UnregisterCallback());
|
| break;
|
| }
|
| }
|
| @@ -581,6 +581,7 @@ void PushMessagingServiceImpl::DidRequestPermission(
|
| void PushMessagingServiceImpl::Unregister(
|
| const GURL& requesting_origin,
|
| int64 service_worker_registration_id,
|
| + const std::string& sender_id,
|
| const content::PushMessagingService::UnregisterCallback& callback) {
|
| DCHECK(gcm_profile_service_->driver());
|
|
|
| @@ -588,16 +589,18 @@ void PushMessagingServiceImpl::Unregister(
|
| requesting_origin, service_worker_registration_id);
|
| DCHECK(application_id.IsValid());
|
|
|
| - Unregister(application_id, callback);
|
| + Unregister(application_id, sender_id, callback);
|
| }
|
|
|
| void PushMessagingServiceImpl::Unregister(
|
| const PushMessagingApplicationId& application_id,
|
| + const std::string& sender_id,
|
| const content::PushMessagingService::UnregisterCallback& callback) {
|
| DCHECK(gcm_profile_service_->driver());
|
|
|
| gcm_profile_service_->driver()->Unregister(
|
| application_id.ToString(),
|
| + std::vector<std::string>(1, sender_id),
|
| base::Bind(&PushMessagingServiceImpl::DidUnregister,
|
| weak_factory_.GetWeakPtr(), callback));
|
| }
|
|
|