Index: third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp |
diff --git a/third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp b/third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp |
index a114ff4862fc9f61b9b89f69a592fa6e2c26a797..0e6773ec0e95d3084877525f2c9e263b564be4e0 100644 |
--- a/third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp |
+++ b/third_party/WebKit/Source/modules/push_messaging/PushSubscription.cpp |
@@ -21,6 +21,7 @@ PushSubscription* PushSubscription::take(ScriptPromiseResolver*, PassOwnPtr<WebP |
{ |
if (!pushSubscription) |
return nullptr; |
+ |
return new PushSubscription(*pushSubscription, serviceWorkerRegistration); |
} |
@@ -32,9 +33,10 @@ void PushSubscription::dispose(WebPushSubscription* pushSubscription) |
PushSubscription::PushSubscription(const WebPushSubscription& subscription, ServiceWorkerRegistration* serviceWorkerRegistration) |
: m_endpoint(subscription.endpoint) |
- , m_p256dh(DOMArrayBuffer::create(subscription.p256dh.data(), subscription.p256dh.size())) |
+ , m_p256dh(DOMArrayBuffer::createOrNull(subscription.p256dh.data(), subscription.p256dh.size())) |
, m_serviceWorkerRegistration(serviceWorkerRegistration) |
{ |
+ RELEASE_ASSERT(m_p256dh); // Crash here means out of memory |
} |
PushSubscription::~PushSubscription() |