Title: [270335] branches/safari-611.1.7-branch/Source/WebCore
Revision
270335
Author
[email protected]
Date
2020-12-01 18:46:16 -0800 (Tue, 01 Dec 2020)

Log Message

Cherry-pick r270303. rdar://problem/71876962

    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:

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-611.1.7-branch/Source/WebCore/ChangeLog (270334 => 270335)


--- branches/safari-611.1.7-branch/Source/WebCore/ChangeLog	2020-12-02 01:44:43 UTC (rev 270334)
+++ branches/safari-611.1.7-branch/Source/WebCore/ChangeLog	2020-12-02 02:46:16 UTC (rev 270335)
@@ -1,3 +1,38 @@
+2020-12-01  Russell Epstein  <[email protected]>
+
+        Cherry-pick r270303. rdar://problem/71876962
+
+    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:
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    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-11-29  Zalan Bujtas  <[email protected]>
 
         [LFC][BFC] Do not assume float avoiders have pre-computed vertical positions

Modified: branches/safari-611.1.7-branch/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp (270334 => 270335)


--- branches/safari-611.1.7-branch/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp	2020-12-02 01:44:43 UTC (rev 270334)
+++ branches/safari-611.1.7-branch/Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp	2020-12-02 02:46:16 UTC (rev 270335)
@@ -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: branches/safari-611.1.7-branch/Source/WebCore/workers/DedicatedWorkerGlobalScope.h (270334 => 270335)


--- branches/safari-611.1.7-branch/Source/WebCore/workers/DedicatedWorkerGlobalScope.h	2020-12-02 01:44:43 UTC (rev 270334)
+++ branches/safari-611.1.7-branch/Source/WebCore/workers/DedicatedWorkerGlobalScope.h	2020-12-02 02:46:16 UTC (rev 270335)
@@ -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: branches/safari-611.1.7-branch/Source/WebCore/workers/WorkerGlobalScope.h (270334 => 270335)


--- branches/safari-611.1.7-branch/Source/WebCore/workers/WorkerGlobalScope.h	2020-12-02 01:44:43 UTC (rev 270334)
+++ branches/safari-611.1.7-branch/Source/WebCore/workers/WorkerGlobalScope.h	2020-12-02 02:46:16 UTC (rev 270335)
@@ -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