Title: [209209] branches/safari-602-branch

Diff

Modified: branches/safari-602-branch/LayoutTests/ChangeLog (209208 => 209209)


--- branches/safari-602-branch/LayoutTests/ChangeLog	2016-12-01 22:23:50 UTC (rev 209208)
+++ branches/safari-602-branch/LayoutTests/ChangeLog	2016-12-01 22:23:54 UTC (rev 209209)
@@ -1,5 +1,22 @@
 2016-12-01  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r208825. rdar://problem/29277338
+
+    2016-11-16  Brent Fulgham  <bfulg...@apple.com>
+
+            Clear track client when removing a track
+            https://bugs.webkit.org/show_bug.cgi?id=164842
+            <rdar://problem/29213621>
+
+            Reviewed by Eric Carlson.
+
+            * media/track/audio-track-add-remove-expected.txt: Added.
+            * media/track/audio-track-add-remove.html: Added.
+            * media/track/video-track-add-remove-expected.txt: Added.
+            * media/track/video-track-add-remove.html: Added.
+
+2016-12-01  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r208628. rdar://problem/29277337
 
     2016-11-11  Brent Fulgham  <bfulg...@apple.com>

Added: branches/safari-602-branch/LayoutTests/media/track/audio-track-add-remove-expected.txt (0 => 209209)


--- branches/safari-602-branch/LayoutTests/media/track/audio-track-add-remove-expected.txt	                        (rev 0)
+++ branches/safari-602-branch/LayoutTests/media/track/audio-track-add-remove-expected.txt	2016-12-01 22:23:54 UTC (rev 209209)
@@ -0,0 +1,7 @@
+
+Test audio track handling.
+
+EVENT(addtrack)
+PASS: Track is in valid state.
+END OF TEST
+

Added: branches/safari-602-branch/LayoutTests/media/track/audio-track-add-remove.html (0 => 209209)


--- branches/safari-602-branch/LayoutTests/media/track/audio-track-add-remove.html	                        (rev 0)
+++ branches/safari-602-branch/LayoutTests/media/track/audio-track-add-remove.html	2016-12-01 22:23:54 UTC (rev 209209)
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <script src=""
+    <script src=""
+    <script src=""
+    <script>
+    function trackAdded(event)
+    {
+        consoleWrite("EVENT(" + event.type + ")");
+        video.audioTracks._onaddtrack_ = null;
+        var track = event.track;
+        track.enabled = false;
+        video.src = ""
+        video = null;
+
+        setTimeout(function() {
+            gc();
+            track.enabled = !track.enabled;
+            consoleWrite("PASS: Track is in valid state.");
+            endTest();
+        }, 0);
+    }
+
+    function setup()
+    {
+        findMediaElement();
+        video.audioTracks.addEventListener("addtrack", trackAdded);
+        video.src = "" '../content/silence');
+    }
+    </script>
+</head>
+<body _onload_="setup()">
+    <video controls></video>
+    <p>Test audio track handling.</p>
+</body>
+</html>

Added: branches/safari-602-branch/LayoutTests/media/track/video-track-add-remove-expected.txt (0 => 209209)


--- branches/safari-602-branch/LayoutTests/media/track/video-track-add-remove-expected.txt	                        (rev 0)
+++ branches/safari-602-branch/LayoutTests/media/track/video-track-add-remove-expected.txt	2016-12-01 22:23:54 UTC (rev 209209)
@@ -0,0 +1,7 @@
+
+Test video track handling.
+
+EVENT(addtrack)
+PASS: Track is in valid state.
+END OF TEST
+

Added: branches/safari-602-branch/LayoutTests/media/track/video-track-add-remove.html (0 => 209209)


--- branches/safari-602-branch/LayoutTests/media/track/video-track-add-remove.html	                        (rev 0)
+++ branches/safari-602-branch/LayoutTests/media/track/video-track-add-remove.html	2016-12-01 22:23:54 UTC (rev 209209)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <script src=""
+    <script src=""
+    <script src=""
+    <script>
+    function trackAdded(event)
+    {
+        consoleWrite("EVENT(" + event.type + ")");
+        video.videoTracks._onaddtrack_ = null;
+        var track = event.track;
+        track.enabled = false;
+        video.src = ""
+        video = null;
+        setTimeout(function() {
+            gc();
+            track.enabled = !track.enabled;
+            consoleWrite("PASS: Track is in valid state.");
+            endTest();
+        }, 0);
+    }
+
+    function setup()
+    {
+        findMediaElement();
+        video.videoTracks.addEventListener("addtrack", trackAdded);
+        video.src = "" '../content/test');
+    }
+    </script>
+</head>
+<body _onload_="setup()">
+    <video controls></video>
+    <p>Test video track handling.</p>
+</body>
+</html>

Modified: branches/safari-602-branch/Source/WebCore/ChangeLog (209208 => 209209)


--- branches/safari-602-branch/Source/WebCore/ChangeLog	2016-12-01 22:23:50 UTC (rev 209208)
+++ branches/safari-602-branch/Source/WebCore/ChangeLog	2016-12-01 22:23:54 UTC (rev 209209)
@@ -1,5 +1,26 @@
 2016-12-01  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r208825. rdar://problem/29277338
+
+    2016-11-16  Brent Fulgham  <bfulg...@apple.com>
+
+            Clear track client when removing a track
+            https://bugs.webkit.org/show_bug.cgi?id=164842
+            <rdar://problem/29213621>
+
+            Reviewed by Eric Carlson.
+
+            Call 'clearClient' when removing a track from an HTMLMediaElement.
+
+            Test: media/track/audio-track-add-remove.html
+                  media/track/video-track-add-remove.html
+
+            * html/HTMLMediaElement.cpp:
+            (WebCore::HTMLMediaElement::removeAudioTrack): Call 'clearClient'
+            (WebCore::HTMLMediaElement::removeVideoTrack): Ditto.
+
+2016-12-01  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r208629. rdar://problem/29277337
 
     2016-11-11  Brent Fulgham  <bfulg...@apple.com>

Modified: branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp (209208 => 209209)


--- branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp	2016-12-01 22:23:50 UTC (rev 209208)
+++ branches/safari-602-branch/Source/WebCore/html/HTMLMediaElement.cpp	2016-12-01 22:23:54 UTC (rev 209209)
@@ -3789,6 +3789,7 @@
 void HTMLMediaElement::removeAudioTrack(AudioTrack& track)
 {
     m_audioTracks->remove(track);
+    track.clearClient();
 }
 
 void HTMLMediaElement::removeTextTrack(TextTrack& track, bool scheduleEvent)
@@ -3806,6 +3807,7 @@
 void HTMLMediaElement::removeVideoTrack(VideoTrack& track)
 {
     m_videoTracks->remove(track);
+    track.clearClient();
 }
 
 void HTMLMediaElement::forgetResourceSpecificTracks()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to