Chromium Code Reviews| Index: third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.h |
| diff --git a/third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.h b/third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.h |
| index a256622ffedf78766fa6638ace2bd0fad783e880..4d46475b7f0b4fcd63a5785a758569104b8ffe2e 100644 |
| --- a/third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.h |
| +++ b/third_party/WebKit/Source/modules/notifications/ServiceWorkerRegistrationNotifications.h |
| @@ -6,20 +6,54 @@ |
| #define ServiceWorkerRegistrationNotifications_h |
| #include "bindings/core/v8/ScriptPromise.h" |
| +#include "core/dom/ContextLifecycleObserver.h" |
| +#include "platform/Supplementable.h" |
| +#include "platform/heap/GarbageCollected.h" |
| +#include "platform/heap/Handle.h" |
| +#include "platform/heap/HeapAllocator.h" |
| +#include "platform/heap/Visitor.h" |
| +#include "public/platform/modules/notifications/WebNotificationManager.h" |
| +#include "wtf/Noncopyable.h" |
| +#include "wtf/OwnPtr.h" |
| +#include "wtf/PassOwnPtr.h" |
| +#include "wtf/PassRefPtr.h" |
| namespace blink { |
| +class ExecutionContext; |
| class ExceptionState; |
| class GetNotificationOptions; |
| class NotificationOptions; |
| +class NotificationResourcesLoader; |
| class ScriptState; |
| +class SecurityOrigin; |
| class ServiceWorkerRegistration; |
| +struct WebNotificationData; |
| -class ServiceWorkerRegistrationNotifications { |
| - STATIC_ONLY(ServiceWorkerRegistrationNotifications); |
| +class ServiceWorkerRegistrationNotifications final : public GarbageCollectedFinalized<ServiceWorkerRegistrationNotifications>, public Supplement<ServiceWorkerRegistration>, public ContextLifecycleObserver { |
| + USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerRegistrationNotifications); |
| + WTF_MAKE_NONCOPYABLE(ServiceWorkerRegistrationNotifications); |
| public: |
| + virtual ~ServiceWorkerRegistrationNotifications(); |
|
Peter Beverloo
2016/04/18 15:22:37
nit: This doesn't have to be virtual given that th
Michael van Ouwerkerk
2016/04/18 17:03:15
Done.
|
| static ScriptPromise showNotification(ScriptState*, ServiceWorkerRegistration&, const String& title, const NotificationOptions&, ExceptionState&); |
| static ScriptPromise getNotifications(ScriptState*, ServiceWorkerRegistration&, const GetNotificationOptions&); |
| + |
| + // ContextLifecycleObserver interface. |
| + void contextDestroyed() override; |
| + |
| + DECLARE_VIRTUAL_TRACE(); |
| + |
| +private: |
| + ServiceWorkerRegistrationNotifications(ExecutionContext*, ServiceWorkerRegistration*); |
| + |
| + static const char* supplementName(); |
| + static ServiceWorkerRegistrationNotifications& from(ExecutionContext*, ServiceWorkerRegistration&); |
| + |
| + void prepareShow(const WebNotificationData&, PassOwnPtr<WebNotificationShowCallbacks>); |
| + void didLoadResources(PassRefPtr<SecurityOrigin>, const WebNotificationData&, PassOwnPtr<WebNotificationShowCallbacks>, NotificationResourcesLoader*); |
| + |
| + Member<ServiceWorkerRegistration> m_registration; |
| + HeapHashSet<Member<NotificationResourcesLoader>> m_loaders; |
| }; |
| } // namespace blink |