| Index: Source/modules/serviceworkers/ServiceWorkerRegistration.h
|
| diff --git a/Source/modules/serviceworkers/ServiceWorkerRegistration.h b/Source/modules/serviceworkers/ServiceWorkerRegistration.h
|
| index 4745492582c4876b75a2df622375521c85bb06fb..d5160fd18f3aa1a62b71d44b3555a90ddd933cc8 100644
|
| --- a/Source/modules/serviceworkers/ServiceWorkerRegistration.h
|
| +++ b/Source/modules/serviceworkers/ServiceWorkerRegistration.h
|
| @@ -7,7 +7,9 @@
|
|
|
| #include "core/dom/ActiveDOMObject.h"
|
| #include "core/events/EventTarget.h"
|
| +#include "modules/serviceworkers/ServiceWorker.h"
|
| #include "public/platform/WebServiceWorkerRegistration.h"
|
| +#include "public/platform/WebServiceWorkerRegistrationProxy.h"
|
| #include "wtf/OwnPtr.h"
|
| #include "wtf/PassOwnPtr.h"
|
| #include "wtf/PassRefPtr.h"
|
| @@ -23,30 +25,47 @@ class WebServiceWorkerProvider;
|
| class ServiceWorkerRegistration FINAL
|
| : public RefCountedWillBeRefCountedGarbageCollected<ServiceWorkerRegistration>
|
| , public ActiveDOMObject
|
| - , public EventTargetWithInlineData {
|
| + , public EventTargetWithInlineData
|
| + , public WebServiceWorkerRegistrationProxy {
|
| REFCOUNTED_EVENT_TARGET(ServiceWorkerRegistration);
|
| WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerRegistration);
|
| public:
|
| virtual ~ServiceWorkerRegistration() { }
|
|
|
| - // EventTarget override.
|
| + // EventTarget overrides.
|
| virtual const AtomicString& interfaceName() const OVERRIDE;
|
| virtual ExecutionContext* executionContext() const OVERRIDE { return ActiveDOMObject::executionContext(); }
|
|
|
| + // WebServiceWorkerRegistrationProxy overrides.
|
| + virtual void dispatchUpdateFoundEvent() OVERRIDE;
|
| + virtual void setInstalling(WebServiceWorker*) OVERRIDE;
|
| + virtual void setWaiting(WebServiceWorker*) OVERRIDE;
|
| + virtual void setActive(WebServiceWorker*) OVERRIDE;
|
| +
|
| // For CallbackPromiseAdapter.
|
| typedef WebServiceWorkerRegistration WebType;
|
| static PassRefPtrWillBeRawPtr<ServiceWorkerRegistration> take(ScriptPromiseResolver*, WebType* registration);
|
| + static void dispose(WebType* registration);
|
| +
|
| + PassRefPtrWillBeRawPtr<ServiceWorker> installing() { return m_installing.get(); }
|
| + PassRefPtrWillBeRawPtr<ServiceWorker> waiting() { return m_waiting.get(); }
|
| + PassRefPtrWillBeRawPtr<ServiceWorker> active() { return m_active.get(); }
|
|
|
| String scope() const;
|
|
|
| ScriptPromise unregister(ScriptState*);
|
|
|
| + DEFINE_ATTRIBUTE_EVENT_LISTENER(updatefound);
|
| +
|
| private:
|
| static PassRefPtrWillBeRawPtr<ServiceWorkerRegistration> create(ExecutionContext*, PassOwnPtr<WebServiceWorkerRegistration>);
|
| ServiceWorkerRegistration(ExecutionContext*, PassOwnPtr<WebServiceWorkerRegistration>);
|
|
|
| OwnPtr<WebServiceWorkerRegistration> m_outerRegistration;
|
| WebServiceWorkerProvider* m_provider;
|
| + RefPtrWillBeMember<ServiceWorker> m_installing;
|
| + RefPtrWillBeMember<ServiceWorker> m_waiting;
|
| + RefPtrWillBeMember<ServiceWorker> m_active;
|
| };
|
|
|
| } // namespace blink
|
|
|