Title: [270303] trunk/Source/WebCore
Revision
270303
Author
[email protected]
Date
2020-12-01 09:30:19 -0800 (Tue, 01 Dec 2020)

Log Message

DedicatedWorkerGlobalScope should clear m_rtcRtpTransformerConstructorMap before destructor
https://bugs.webkit.org/show_bug.cgi?id=219389

Reviewed by Eric Carlson.

Clear the constructor map before the destructor in prepareForDestruction like done for audio worklet.
Covered by http/wpt/webrtc/webrtc-transform.html no longer crashing with guard malloc.

* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::prepareForDestruction):
* workers/DedicatedWorkerGlobalScope.h:
* workers/WorkerGlobalScope.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (270302 => 270303)


--- trunk/Source/WebCore/ChangeLog	2020-12-01 17:28:50 UTC (rev 270302)
+++ trunk/Source/WebCore/ChangeLog	2020-12-01 17:30:19 UTC (rev 270303)
@@ -1,3 +1,18 @@
+2020-12-01  Youenn Fablet  <[email protected]>
+
+        DedicatedWorkerGlobalScope should clear m_rtcRtpTransformerConstructorMap before destructor
+        https://bugs.webkit.org/show_bug.cgi?id=219389
+
+        Reviewed by Eric Carlson.
+
+        Clear the constructor map before the destructor in prepareForDestruction like done for audio worklet.
+        Covered by http/wpt/webrtc/webrtc-transform.html no longer crashing with guard malloc.
+
+        * workers/DedicatedWorkerGlobalScope.cpp:
+        (WebCore::DedicatedWorkerGlobalScope::prepareForDestruction):
+        * workers/DedicatedWorkerGlobalScope.h:
+        * workers/WorkerGlobalScope.h:
+
 2020-12-01  Philippe Normand  <[email protected]>
 
         [GStreamer] Common module should use a dedicated logging category

Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp (270302 => 270303)


--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp	2020-12-01 17:28:50 UTC (rev 270302)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp	2020-12-01 17:30:19 UTC (rev 270303)
@@ -72,6 +72,15 @@
     return DedicatedWorkerGlobalScopeEventTargetInterfaceType;
 }
 
+void DedicatedWorkerGlobalScope::prepareForDestruction()
+{
+    WorkerGlobalScope::prepareForDestruction();
+
+#if ENABLE(WEB_RTC)
+    m_rtcRtpTransformerConstructorMap.clear();
+#endif
+}
+
 ExceptionOr<void> DedicatedWorkerGlobalScope::postMessage(JSC::JSGlobalObject& state, JSC::JSValue messageValue, PostMessageOptions&& options)
 {
     Vector<RefPtr<MessagePort>> ports;

Modified: trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h (270302 => 270303)


--- trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h	2020-12-01 17:28:50 UTC (rev 270302)
+++ trunk/Source/WebCore/workers/DedicatedWorkerGlobalScope.h	2020-12-01 17:30:19 UTC (rev 270303)
@@ -90,6 +90,8 @@
     ExceptionOr<void> importScripts(const Vector<String>& urls) final;
     EventTargetInterface eventTargetInterface() const final;
 
+    void prepareForDestruction() final;
+
     String m_name;
 
 #if ENABLE(OFFSCREEN_CANVAS)

Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.h (270302 => 270303)


--- trunk/Source/WebCore/workers/WorkerGlobalScope.h	2020-12-01 17:28:50 UTC (rev 270302)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.h	2020-12-01 17:30:19 UTC (rev 270303)
@@ -110,7 +110,7 @@
     Crypto& crypto();
     Performance& performance() const;
 
-    void prepareForDestruction() final;
+    void prepareForDestruction() override;
 
     void removeAllEventListeners() final;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to