Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1402)

Unified Diff: Source/modules/push_messaging/PushSubscription.cpp

Issue 1237673002: Introduce the PushSubscription.curve25519dh attribute (3/3) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}
« no previous file with comments | « Source/modules/push_messaging/PushSubscription.h ('k') | Source/modules/push_messaging/PushSubscription.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698