| Index: Source/modules/push_messaging/PushSubscription.cpp
|
| diff --git a/Source/modules/push_messaging/PushSubscription.cpp b/Source/modules/push_messaging/PushSubscription.cpp
|
| index e006eeaa4591de35bd57d46cbb36c09ea41362a5..cee79a21a6e1f1dc9b2a0b8b8c803267820114d1 100644
|
| --- a/Source/modules/push_messaging/PushSubscription.cpp
|
| +++ b/Source/modules/push_messaging/PushSubscription.cpp
|
| @@ -20,7 +20,7 @@ namespace blink {
|
| PushSubscription* PushSubscription::take(ScriptPromiseResolver*, WebPushSubscription* pushSubscription, ServiceWorkerRegistration* serviceWorkerRegistration)
|
| {
|
| OwnPtr<WebPushSubscription> subscription = adoptPtr(pushSubscription);
|
| - return new PushSubscription(subscription->endpoint, serviceWorkerRegistration);
|
| + return new PushSubscription(*subscription, serviceWorkerRegistration);
|
| }
|
|
|
| void PushSubscription::dispose(WebPushSubscription* pushSubscription)
|
| @@ -29,8 +29,9 @@ void PushSubscription::dispose(WebPushSubscription* pushSubscription)
|
| delete pushSubscription;
|
| }
|
|
|
| -PushSubscription::PushSubscription(const KURL& endpoint, ServiceWorkerRegistration* serviceWorkerRegistration)
|
| - : m_endpoint(endpoint)
|
| +PushSubscription::PushSubscription(const WebPushSubscription& subscription, ServiceWorkerRegistration* serviceWorkerRegistration)
|
| + : m_endpoint(subscription.endpoint)
|
| + , m_curve25519dh(DOMArrayBuffer::create(subscription.curve25519dh.data(), subscription.curve25519dh.size()))
|
| , m_serviceWorkerRegistration(serviceWorkerRegistration)
|
| {
|
| }
|
| @@ -44,6 +45,11 @@ KURL PushSubscription::endpoint() const
|
| return m_endpoint;
|
| }
|
|
|
| +PassRefPtr<DOMArrayBuffer> PushSubscription::curve25519dh() const
|
| +{
|
| + return m_curve25519dh;
|
| +}
|
| +
|
| ScriptPromise PushSubscription::unsubscribe(ScriptState* scriptState)
|
| {
|
| RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState);
|
| @@ -61,6 +67,9 @@ ScriptValue PushSubscription::toJSONForBinding(ScriptState* scriptState)
|
| V8ObjectBuilder result(scriptState);
|
| result.addString("endpoint", endpoint());
|
|
|
| + // TODO(peter): Include |curve25519dh| in the serialized JSON blob if the intended
|
| + // serialization behavior gets defined in the spec.
|
| +
|
| return result.scriptValue();
|
| }
|
|
|
|
|