Index: Source/modules/serviceworkers/ServiceWorkerRegistration.h |
diff --git a/Source/modules/serviceworkers/ServiceWorkerRegistration.h b/Source/modules/serviceworkers/ServiceWorkerRegistration.h |
index 86f9b60037a13135829d0a17a479166b6e3c7c58..28a0a100aaa971610d88681617102e595c2e1085 100644 |
--- a/Source/modules/serviceworkers/ServiceWorkerRegistration.h |
+++ b/Source/modules/serviceworkers/ServiceWorkerRegistration.h |
@@ -31,7 +31,6 @@ class ServiceWorkerRegistration final |
DEFINE_WRAPPERTYPEINFO(); |
DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<ServiceWorkerRegistration>); |
USING_GARBAGE_COLLECTED_MIXIN(ServiceWorkerRegistration); |
- USING_PRE_FINALIZER(ServiceWorkerRegistration, dispose); |
public: |
// EventTarget overrides. |
virtual const AtomicString& interfaceName() const override; |
@@ -62,6 +61,9 @@ public: |
DEFINE_ATTRIBUTE_EVENT_LISTENER(updatefound); |
virtual ~ServiceWorkerRegistration() override; |
+ |
+ // Eager finalization needed to promptly release owned WebServiceWorkerRegistration. |
+ EAGERLY_FINALIZE(); |
DECLARE_VIRTUAL_TRACE(); |
private: |
@@ -72,8 +74,6 @@ private: |
virtual bool hasPendingActivity() const override; |
virtual void stop() override; |
- void dispose(); |
- |
OwnPtr<WebServiceWorkerRegistration> m_outerRegistration; |
WebServiceWorkerProvider* m_provider; |
RefPtrWillBeMember<ServiceWorker> m_installing; |