OLD | NEW |
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 PushRegistration_h | 5 #ifndef PushRegistration_h |
6 #define PushRegistration_h | 6 #define PushRegistration_h |
7 | 7 |
| 8 #include "bindings/core/v8/ScriptPromise.h" |
8 #include "bindings/core/v8/ScriptWrappable.h" | 9 #include "bindings/core/v8/ScriptWrappable.h" |
9 #include "platform/heap/Handle.h" | 10 #include "platform/heap/Handle.h" |
10 #include "public/platform/WebPushRegistration.h" | |
11 #include "wtf/text/WTFString.h" | 11 #include "wtf/text/WTFString.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
| 15 class ServiceWorkerRegistration; |
15 class ScriptPromiseResolver; | 16 class ScriptPromiseResolver; |
| 17 class ScriptState; |
| 18 struct WebPushRegistration; |
16 | 19 |
17 class PushRegistration final : public GarbageCollectedFinalized<PushRegistration
>, public ScriptWrappable { | 20 class PushRegistration final : public GarbageCollectedFinalized<PushRegistration
>, public ScriptWrappable { |
18 DEFINE_WRAPPERTYPEINFO(); | 21 DEFINE_WRAPPERTYPEINFO(); |
19 public: | 22 public: |
20 // For CallbackPromiseAdapter. | 23 static PushRegistration* take(ScriptPromiseResolver*, WebPushRegistration*,
ServiceWorkerRegistration*); |
21 typedef WebPushRegistration WebType; | 24 static void dispose(WebPushRegistration* registrationRaw); |
22 static PushRegistration* take(ScriptPromiseResolver*, WebType* registrationR
aw); | |
23 static void dispose(WebType* registrationRaw); | |
24 | 25 |
25 virtual ~PushRegistration(); | 26 virtual ~PushRegistration(); |
26 | 27 |
27 const String& pushEndpoint() const { return m_pushEndpoint; } | 28 const String& pushEndpoint() const { return m_pushEndpoint; } |
28 const String& pushRegistrationId() const { return m_pushRegistrationId; } | 29 const String& pushRegistrationId() const { return m_pushRegistrationId; } |
| 30 ScriptPromise unregister(ScriptState*); |
29 | 31 |
30 void trace(Visitor*) { } | 32 void trace(Visitor*); |
31 | 33 |
32 private: | 34 private: |
33 PushRegistration(const String& pushEndpoint, const String& pushRegistrationI
d); | 35 PushRegistration(const String& pushEndpoint, const String& pushRegistrationI
d, ServiceWorkerRegistration*); |
34 | 36 |
35 String m_pushEndpoint; | 37 String m_pushEndpoint; |
36 String m_pushRegistrationId; | 38 String m_pushRegistrationId; |
| 39 Member<ServiceWorkerRegistration> m_serviceWorkerRegistration; |
37 }; | 40 }; |
38 | 41 |
39 } // namespace blink | 42 } // namespace blink |
40 | 43 |
41 #endif // PushRegistration_h | 44 #endif // PushRegistration_h |
OLD | NEW |