Index: Source/modules/serviceworkers/ServiceWorker.h |
diff --git a/Source/modules/serviceworkers/ServiceWorker.h b/Source/modules/serviceworkers/ServiceWorker.h |
index e63ff4b52d530424a1a1da7834100f621c592f58..b7fd80387c2b8754acd971aec78af200589a6c15 100644 |
--- a/Source/modules/serviceworkers/ServiceWorker.h |
+++ b/Source/modules/serviceworkers/ServiceWorker.h |
@@ -48,13 +48,15 @@ class ScriptPromiseResolver; |
class MODULES_EXPORT ServiceWorker final : public AbstractWorker, public WebServiceWorkerProxy { |
DEFINE_WRAPPERTYPEINFO(); |
- WILL_BE_USING_PRE_FINALIZER(ServiceWorker, dispose); |
public: |
typedef WebServiceWorker WebType; |
static PassRefPtrWillBeRawPtr<ServiceWorker> from(ExecutionContext*, WebType*); |
~ServiceWorker() override; |
+ // Eager finalization needed to promptly release owned WebServiceWorker. |
+ EAGERLY_FINALIZE(); |
+ |
void postMessage(ExecutionContext*, PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, ExceptionState&); |
void terminate(ExceptionState&); |
@@ -77,8 +79,6 @@ private: |
virtual bool hasPendingActivity() const override; |
virtual void stop() override; |
- void dispose(); |
- |
OwnPtr<WebServiceWorker> m_outerWorker; |
bool m_wasStopped; |
}; |