Index: Source/modules/serviceworkers/ServiceWorker.h |
diff --git a/Source/modules/serviceworkers/ServiceWorker.h b/Source/modules/serviceworkers/ServiceWorker.h |
index b236482cbafe8beb81e43ad9f11ffe157f3004c1..fb4f9a8e5ef57db15ca49b295ee78529effe758d 100644 |
--- a/Source/modules/serviceworkers/ServiceWorker.h |
+++ b/Source/modules/serviceworkers/ServiceWorker.h |
@@ -47,12 +47,15 @@ class ScriptPromiseResolver; |
class ServiceWorker final : public AbstractWorker, public WebServiceWorkerProxy { |
DEFINE_WRAPPERTYPEINFO(); |
+ WILL_BE_USING_PRE_FINALIZER(ServiceWorker, dispose); |
public: |
// For CallbackPromiseAdapter |
typedef WebServiceWorker WebType; |
static PassRefPtrWillBeRawPtr<ServiceWorker> take(ScriptPromiseResolver*, WebType* worker); |
static PassRefPtrWillBeRawPtr<ServiceWorker> from(ExecutionContext*, WebType*); |
+ |
+ ~ServiceWorker() override; |
static void dispose(WebType*); |
void postMessage(ExecutionContext*, PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, ExceptionState&); |
@@ -90,6 +93,8 @@ private: |
virtual bool hasPendingActivity() const override; |
virtual void stop() override; |
+ void dispose(); |
+ |
OwnPtr<WebServiceWorker> m_outerWorker; |
ProxyState m_proxyState; |
}; |