| Index: Source/modules/serviceworkers/ServiceWorkerContainer.h
|
| diff --git a/Source/modules/serviceworkers/ServiceWorkerContainer.h b/Source/modules/serviceworkers/ServiceWorkerContainer.h
|
| index 7490808ed173553212f8069f6469d1fe9e1c4d41..c1ada076c5239476fe9c5bb8c270c8dc36e31280 100644
|
| --- a/Source/modules/serviceworkers/ServiceWorkerContainer.h
|
| +++ b/Source/modules/serviceworkers/ServiceWorkerContainer.h
|
| @@ -35,6 +35,7 @@
|
| #include "bindings/core/v8/ScriptPromiseProperty.h"
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| #include "core/dom/ContextLifecycleObserver.h"
|
| +#include "core/events/EventTarget.h"
|
| #include "modules/serviceworkers/RegistrationOptions.h"
|
| #include "modules/serviceworkers/ServiceWorker.h"
|
| #include "modules/serviceworkers/ServiceWorkerRegistration.h"
|
| @@ -52,11 +53,14 @@ class WebServiceWorkerProvider;
|
| class WebServiceWorkerRegistration;
|
|
|
| class ServiceWorkerContainer final
|
| - : public GarbageCollectedFinalized<ServiceWorkerContainer>
|
| - , public ScriptWrappable
|
| + : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<ServiceWorkerContainer>
|
| + , public EventTargetWithInlineData
|
| , public ContextLifecycleObserver
|
| - , public WebServiceWorkerProviderClient {
|
| + , public WebServiceWorkerProviderClient
|
| + , public HeapSupplementable<ServiceWorkerContainer> {
|
| DEFINE_WRAPPERTYPEINFO();
|
| + DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<ServiceWorkerContainer>);
|
| + USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerContainer);
|
| public:
|
| static ServiceWorkerContainer* create(ExecutionContext*);
|
| ~ServiceWorkerContainer();
|
| @@ -73,10 +77,16 @@ public:
|
| ScriptPromise getRegistration(ScriptState*, const String& documentURL);
|
|
|
| // WebServiceWorkerProviderClient overrides.
|
| - virtual void setController(WebServiceWorker*) override;
|
| + virtual void setController(WebServiceWorker*, bool shouldNotifyControllerChange) override;
|
| virtual void setReadyRegistration(WebServiceWorkerRegistration*) override;
|
| virtual void dispatchMessageEvent(const WebString& message, const WebMessagePortChannelArray&) override;
|
|
|
| + // EventTarget overrides.
|
| + virtual ExecutionContext* executionContext() const override { return ContextLifecycleObserver::executionContext(); }
|
| + virtual const AtomicString& interfaceName() const override;
|
| +
|
| + DEFINE_ATTRIBUTE_EVENT_LISTENER(controllerchange);
|
| +
|
| private:
|
| explicit ServiceWorkerContainer(ExecutionContext*);
|
|
|
|
|