| Index: content/renderer/push_messaging/push_messaging_dispatcher.cc
 | 
| diff --git a/content/renderer/push_messaging/push_messaging_dispatcher.cc b/content/renderer/push_messaging/push_messaging_dispatcher.cc
 | 
| index c1b6b381e2f447721c3f1a859277bc550dbe9e1e..cbb7d2308878f37a27fe5d6ae35241a7cc180de6 100644
 | 
| --- a/content/renderer/push_messaging/push_messaging_dispatcher.cc
 | 
| +++ b/content/renderer/push_messaging/push_messaging_dispatcher.cc
 | 
| @@ -4,6 +4,8 @@
 | 
|  
 | 
|  #include "content/renderer/push_messaging/push_messaging_dispatcher.h"
 | 
|  
 | 
| +#include <memory>
 | 
| +
 | 
|  #include "base/memory/ptr_util.h"
 | 
|  #include "base/strings/utf_string_conversions.h"
 | 
|  #include "content/child/push_messaging/push_provider.h"
 | 
| @@ -78,7 +80,8 @@ void PushMessagingDispatcher::DidGetManifest(
 | 
|    // Get the sender_info from the manifest since it wasn't provided by
 | 
|    // the caller.
 | 
|    if (manifest.IsEmpty()) {
 | 
| -    int request_id = subscription_callbacks_.Add(callbacks);
 | 
| +    int request_id = subscription_callbacks_.Add(
 | 
| +        std::unique_ptr<blink::WebPushSubscriptionCallbacks>(callbacks));
 | 
|      OnSubscribeFromDocumentError(
 | 
|          request_id, PUSH_REGISTRATION_STATUS_MANIFEST_EMPTY_OR_MISSING);
 | 
|      return;
 | 
| @@ -98,7 +101,8 @@ void PushMessagingDispatcher::DoSubscribe(
 | 
|      blink::WebServiceWorkerRegistration* service_worker_registration,
 | 
|      const PushSubscriptionOptions& options,
 | 
|      blink::WebPushSubscriptionCallbacks* callbacks) {
 | 
| -  int request_id = subscription_callbacks_.Add(callbacks);
 | 
| +  int request_id = subscription_callbacks_.Add(
 | 
| +      std::unique_ptr<blink::WebPushSubscriptionCallbacks>(callbacks));
 | 
|    int64_t service_worker_registration_id =
 | 
|        static_cast<WebServiceWorkerRegistrationImpl*>(
 | 
|            service_worker_registration)
 | 
| 
 |