| 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 |