Chromium Code Reviews| 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 fb7d8cded3ea6e13b0da733e8eb19932ada6e7b0..b0283e64bf044644972f28b42ae87fcedea6cdc3 100644 |
| --- a/chrome/browser/services/gcm/push_messaging_service_impl.cc |
| +++ b/chrome/browser/services/gcm/push_messaging_service_impl.cc |
| @@ -262,7 +262,8 @@ void PushMessagingServiceImpl::DeliverMessageCallback( |
| case content::PUSH_DELIVERY_STATUS_UNKNOWN_APP_ID: |
| case content::PUSH_DELIVERY_STATUS_PERMISSION_DENIED: |
| case content::PUSH_DELIVERY_STATUS_NO_SERVICE_WORKER: |
| - Unregister(app_id_guid, true /*retry_on_failure*/, UnregisterCallback()); |
| + Unregister(app_id_guid, message.sender_id, true /* retry_on_failure */, |
| + UnregisterCallback()); |
| break; |
| } |
| } |
| @@ -617,6 +618,7 @@ void PushMessagingServiceImpl::DidRequestPermission( |
| void PushMessagingServiceImpl::Unregister( |
| const GURL& requesting_origin, |
| int64 service_worker_registration_id, |
| + const std::string& sender_id, |
| bool retry_on_failure, |
| const content::PushMessagingService::UnregisterCallback& callback) { |
| DCHECK(gcm_profile_service_->driver()); |
| @@ -629,11 +631,13 @@ void PushMessagingServiceImpl::Unregister( |
| return; |
| } |
| - Unregister(application_id.app_id_guid(), retry_on_failure, callback); |
| + Unregister(application_id.app_id_guid(), sender_id, retry_on_failure, |
| + callback); |
| } |
| void PushMessagingServiceImpl::Unregister( |
| const std::string& app_id_guid, |
| + const std::string& sender_id, |
| bool retry_on_failure, |
| const content::PushMessagingService::UnregisterCallback& callback) { |
| DCHECK(gcm_profile_service_->driver()); |
| @@ -649,11 +653,16 @@ void PushMessagingServiceImpl::Unregister( |
| application_id.DeleteFromDisk(profile_); |
| } |
| - gcm_profile_service_->driver()->Unregister( |
| - app_id_guid, |
| + const auto& unregister_callback = |
| base::Bind(&PushMessagingServiceImpl::DidUnregister, |
| weak_factory_.GetWeakPtr(), |
| - app_id_guid, retry_on_failure, callback)); |
| + app_id_guid, retry_on_failure, callback); |
| +#if defined(OS_ANDROID) |
|
Peter Beverloo
2015/02/17 21:51:05
nit: leave a comment about why this difference is
johnme
2015/02/17 22:05:10
Done.
|
| + gcm_profile_service_->driver()->UnregisterWithSenderId(app_id_guid, sender_id, |
| + unregister_callback); |
| +#else |
| + gcm_profile_service_->driver()->Unregister(app_id_guid, unregister_callback); |
| +#endif |
| } |
| void PushMessagingServiceImpl::DidUnregister( |