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

Side by Side Diff: third_party/WebKit/Source/modules/push_messaging/PushSubscription.h

Issue 2864603003: Implement and ship PushSubscription.expirationTime (Closed)
Patch Set: Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PushSubscription_h 5 #ifndef PushSubscription_h
6 #define PushSubscription_h 6 #define PushSubscription_h
7 7
8 #include <memory> 8 #include <memory>
9 #include "bindings/core/v8/ScriptPromise.h" 9 #include "bindings/core/v8/ScriptPromise.h"
10 #include "bindings/core/v8/ScriptValue.h" 10 #include "bindings/core/v8/ScriptValue.h"
11 #include "core/dom/DOMArrayBuffer.h" 11 #include "core/dom/DOMArrayBuffer.h"
12 #include "core/dom/DOMTimeStamp.h"
12 #include "platform/bindings/ScriptWrappable.h" 13 #include "platform/bindings/ScriptWrappable.h"
13 #include "platform/heap/Handle.h" 14 #include "platform/heap/Handle.h"
14 #include "platform/weborigin/KURL.h" 15 #include "platform/weborigin/KURL.h"
15 #include "platform/wtf/PassRefPtr.h" 16 #include "platform/wtf/PassRefPtr.h"
16 #include "platform/wtf/RefPtr.h" 17 #include "platform/wtf/RefPtr.h"
17 18
18 namespace blink { 19 namespace blink {
19 20
20 class PushSubscriptionOptions; 21 class PushSubscriptionOptions;
21 class ServiceWorkerRegistration; 22 class ServiceWorkerRegistration;
22 class ScriptPromiseResolver; 23 class ScriptPromiseResolver;
23 class ScriptState; 24 class ScriptState;
24 struct WebPushSubscription; 25 struct WebPushSubscription;
25 26
26 class PushSubscription final 27 class PushSubscription final
27 : public GarbageCollectedFinalized<PushSubscription>, 28 : public GarbageCollectedFinalized<PushSubscription>,
28 public ScriptWrappable { 29 public ScriptWrappable {
29 DEFINE_WRAPPERTYPEINFO(); 30 DEFINE_WRAPPERTYPEINFO();
30 31
31 public: 32 public:
32 static PushSubscription* Take(ScriptPromiseResolver*, 33 static PushSubscription* Take(ScriptPromiseResolver*,
33 std::unique_ptr<WebPushSubscription>, 34 std::unique_ptr<WebPushSubscription>,
34 ServiceWorkerRegistration*); 35 ServiceWorkerRegistration*);
35 static void Dispose(WebPushSubscription* subscription_raw); 36 static void Dispose(WebPushSubscription* subscription_raw);
36 37
37 virtual ~PushSubscription(); 38 virtual ~PushSubscription();
38 39
39 KURL endpoint() const { return endpoint_; } 40 KURL endpoint() const { return endpoint_; }
41 DOMTimeStamp expirationTime(bool& is_null) const;
40 42
41 PushSubscriptionOptions* options() const { return options_.Get(); } 43 PushSubscriptionOptions* options() const { return options_.Get(); }
42 44
43 DOMArrayBuffer* getKey(const AtomicString& name) const; 45 DOMArrayBuffer* getKey(const AtomicString& name) const;
44 ScriptPromise unsubscribe(ScriptState*); 46 ScriptPromise unsubscribe(ScriptState*);
45 47
46 ScriptValue toJSONForBinding(ScriptState*); 48 ScriptValue toJSONForBinding(ScriptState*);
47 49
48 DECLARE_TRACE(); 50 DECLARE_TRACE();
49 51
50 private: 52 private:
51 PushSubscription(const WebPushSubscription&, ServiceWorkerRegistration*); 53 PushSubscription(const WebPushSubscription&, ServiceWorkerRegistration*);
52 54
53 KURL endpoint_; 55 KURL endpoint_;
54 56
55 Member<PushSubscriptionOptions> options_; 57 Member<PushSubscriptionOptions> options_;
56 58
57 Member<DOMArrayBuffer> p256dh_; 59 Member<DOMArrayBuffer> p256dh_;
58 Member<DOMArrayBuffer> auth_; 60 Member<DOMArrayBuffer> auth_;
59 61
60 Member<ServiceWorkerRegistration> service_worker_registration_; 62 Member<ServiceWorkerRegistration> service_worker_registration_;
61 }; 63 };
62 64
63 } // namespace blink 65 } // namespace blink
64 66
65 #endif // PushSubscription_h 67 #endif // PushSubscription_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698