Title: [233570] branches/safari-606.1.24-branch/Source/WebCore
Revision
233570
Author
[email protected]
Date
2018-07-05 23:43:28 -0700 (Thu, 05 Jul 2018)

Log Message

Cherry-pick r233557. rdar://problem/41870910

    REGRESSION(r233496): Crash in WebCore::VideoTrack::clearClient()
    https://bugs.webkit.org/show_bug.cgi?id=187377

    Reviewed by Simon Fraser.

    Clear m_client of an audio track or a video track before removing it from the list
    since TrackListBase::m_inbandTracks may hold the last ref to the track.

    * html/HTMLMediaElement.cpp:
    (WebCore::HTMLMediaElement::removeAudioTrack):
    (WebCore::HTMLMediaElement::removeVideoTrack):

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

Modified Paths

Diff

Modified: branches/safari-606.1.24-branch/Source/WebCore/ChangeLog (233569 => 233570)


--- branches/safari-606.1.24-branch/Source/WebCore/ChangeLog	2018-07-06 06:43:24 UTC (rev 233569)
+++ branches/safari-606.1.24-branch/Source/WebCore/ChangeLog	2018-07-06 06:43:28 UTC (rev 233570)
@@ -1,3 +1,36 @@
+2018-07-05  Babak Shafiei  <[email protected]>
+
+        Cherry-pick r233557. rdar://problem/41870910
+
+    REGRESSION(r233496): Crash in WebCore::VideoTrack::clearClient()
+    https://bugs.webkit.org/show_bug.cgi?id=187377
+    
+    Reviewed by Simon Fraser.
+    
+    Clear m_client of an audio track or a video track before removing it from the list
+    since TrackListBase::m_inbandTracks may hold the last ref to the track.
+    
+    * html/HTMLMediaElement.cpp:
+    (WebCore::HTMLMediaElement::removeAudioTrack):
+    (WebCore::HTMLMediaElement::removeVideoTrack):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2018-07-05  Ryosuke Niwa  <[email protected]>
+
+            REGRESSION(r233496): Crash in WebCore::VideoTrack::clearClient()
+            https://bugs.webkit.org/show_bug.cgi?id=187377
+
+            Reviewed by Simon Fraser.
+
+            Clear m_client of an audio track or a video track before removing it from the list
+            since TrackListBase::m_inbandTracks may hold the last ref to the track.
+
+            * html/HTMLMediaElement.cpp:
+            (WebCore::HTMLMediaElement::removeAudioTrack):
+            (WebCore::HTMLMediaElement::removeVideoTrack):
+
 2018-07-04  Carlos Garcia Campos  <[email protected]>
 
         REGRESSION(r233325): [GTK] Broke 40 animations tests

Modified: branches/safari-606.1.24-branch/Source/WebCore/html/HTMLMediaElement.cpp (233569 => 233570)


--- branches/safari-606.1.24-branch/Source/WebCore/html/HTMLMediaElement.cpp	2018-07-06 06:43:24 UTC (rev 233569)
+++ branches/safari-606.1.24-branch/Source/WebCore/html/HTMLMediaElement.cpp	2018-07-06 06:43:28 UTC (rev 233570)
@@ -4049,8 +4049,8 @@
 
 void HTMLMediaElement::removeAudioTrack(AudioTrack& track)
 {
+    track.clearClient();
     m_audioTracks->remove(track);
-    track.clearClient();
 }
 
 void HTMLMediaElement::removeTextTrack(TextTrack& track, bool scheduleEvent)
@@ -4067,8 +4067,8 @@
 
 void HTMLMediaElement::removeVideoTrack(VideoTrack& track)
 {
+    track.clearClient();
     m_videoTracks->remove(track);
-    track.clearClient();
 }
 
 void HTMLMediaElement::forgetResourceSpecificTracks()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to