Index: Source/modules/serviceworkers/ServiceWorkerRegistration.h |
diff --git a/Source/modules/serviceworkers/ServiceWorkerRegistration.h b/Source/modules/serviceworkers/ServiceWorkerRegistration.h |
index 0cf67c255bc50426162cca7b14412622f83f4327..62ae742a0514c5ad5170ce7b04ffdb612851688d 100644 |
--- a/Source/modules/serviceworkers/ServiceWorkerRegistration.h |
+++ b/Source/modules/serviceworkers/ServiceWorkerRegistration.h |
@@ -31,6 +31,7 @@ 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; |
@@ -60,6 +61,7 @@ public: |
DEFINE_ATTRIBUTE_EVENT_LISTENER(updatefound); |
+ virtual ~ServiceWorkerRegistration() override; |
virtual void trace(Visitor*) override; |
private: |
@@ -70,6 +72,8 @@ private: |
virtual bool hasPendingActivity() const override; |
virtual void stop() override; |
+ void dispose(); |
+ |
OwnPtr<WebServiceWorkerRegistration> m_outerRegistration; |
WebServiceWorkerProvider* m_provider; |
RefPtrWillBeMember<ServiceWorker> m_installing; |