Title: [233596] trunk/Source/WebCore
- Revision
- 233596
- Author
- [email protected]
- Date
- 2018-07-06 15:19:19 -0700 (Fri, 06 Jul 2018)
Log Message
Make HTMLMediaElement::remove*Track take a Ref<>&&
https://bugs.webkit.org/show_bug.cgi?id=187407
Reviewed by Zalan Bujtas.
Make these functions take Ref<>&& since they can delete track objects.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::removeAudioTrack):
(WebCore::HTMLMediaElement::removeTextTrack):
(WebCore::HTMLMediaElement::removeVideoTrack):
(WebCore::HTMLMediaElement::forgetResourceSpecificTracks):
* html/HTMLMediaElement.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (233595 => 233596)
--- trunk/Source/WebCore/ChangeLog 2018-07-06 21:50:10 UTC (rev 233595)
+++ trunk/Source/WebCore/ChangeLog 2018-07-06 22:19:19 UTC (rev 233596)
@@ -1,3 +1,19 @@
+2018-07-06 Ryosuke Niwa <[email protected]>
+
+ Make HTMLMediaElement::remove*Track take a Ref<>&&
+ https://bugs.webkit.org/show_bug.cgi?id=187407
+
+ Reviewed by Zalan Bujtas.
+
+ Make these functions take Ref<>&& since they can delete track objects.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::removeAudioTrack):
+ (WebCore::HTMLMediaElement::removeTextTrack):
+ (WebCore::HTMLMediaElement::removeVideoTrack):
+ (WebCore::HTMLMediaElement::forgetResourceSpecificTracks):
+ * html/HTMLMediaElement.h:
+
2018-07-06 Antoine Quint <[email protected]>
[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html pass reliably
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (233595 => 233596)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2018-07-06 21:50:10 UTC (rev 233595)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2018-07-06 22:19:19 UTC (rev 233596)
@@ -4046,18 +4046,18 @@
videoTracks().append(WTFMove(track));
}
-void HTMLMediaElement::removeAudioTrack(AudioTrack& track)
+void HTMLMediaElement::removeAudioTrack(Ref<AudioTrack>&& track)
{
- track.clearClient();
- m_audioTracks->remove(track);
+ track->clearClient();
+ m_audioTracks->remove(track.get());
}
-void HTMLMediaElement::removeTextTrack(TextTrack& track, bool scheduleEvent)
+void HTMLMediaElement::removeTextTrack(Ref<TextTrack>&& track, bool scheduleEvent)
{
TrackDisplayUpdateScope scope { *this };
- if (auto cues = makeRefPtr(track.cues()))
+ if (auto cues = makeRefPtr(track->cues()))
textTrackRemoveCues(track, *cues);
- track.clearClient();
+ track->clearClient();
if (m_textTracks)
m_textTracks->remove(track, scheduleEvent);
@@ -4064,9 +4064,9 @@
closeCaptionTracksChanged();
}
-void HTMLMediaElement::removeVideoTrack(VideoTrack& track)
+void HTMLMediaElement::removeVideoTrack(Ref<VideoTrack>&& track)
{
- track.clearClient();
+ track->clearClient();
m_videoTracks->remove(track);
}
@@ -4078,9 +4078,9 @@
if (m_textTracks) {
TrackDisplayUpdateScope scope { *this };
for (int i = m_textTracks->length() - 1; i >= 0; --i) {
- auto& track = *m_textTracks->item(i);
- if (track.trackType() == TextTrack::InBand)
- removeTextTrack(track, false);
+ auto track = makeRef(*m_textTracks->item(i));
+ if (track->trackType() == TextTrack::InBand)
+ removeTextTrack(WTFMove(track), false);
}
}
Modified: trunk/Source/WebCore/html/HTMLMediaElement.h (233595 => 233596)
--- trunk/Source/WebCore/html/HTMLMediaElement.h 2018-07-06 21:50:10 UTC (rev 233595)
+++ trunk/Source/WebCore/html/HTMLMediaElement.h 2018-07-06 22:19:19 UTC (rev 233596)
@@ -339,9 +339,9 @@
void addAudioTrack(Ref<AudioTrack>&&);
void addTextTrack(Ref<TextTrack>&&);
void addVideoTrack(Ref<VideoTrack>&&);
- void removeAudioTrack(AudioTrack&);
- void removeTextTrack(TextTrack&, bool scheduleEvent = true);
- void removeVideoTrack(VideoTrack&);
+ void removeAudioTrack(Ref<AudioTrack>&&);
+ void removeTextTrack(Ref<TextTrack>&&, bool scheduleEvent = true);
+ void removeVideoTrack(Ref<VideoTrack>&&);
void forgetResourceSpecificTracks();
void closeCaptionTracksChanged();
void notifyMediaPlayerOfTextTrackChanges();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes