Title: [174338] trunk/Source/WebCore
- Revision
- 174338
- Author
- [email protected]
- Date
- 2014-10-05 22:10:55 -0700 (Sun, 05 Oct 2014)
Log Message
Use is<>() / downcast<>() for TextTrack subclasses
https://bugs.webkit.org/show_bug.cgi?id=137438
Reviewed by Ryosuke Niwa.
Use is<>() / downcast<>() for TextTrack subclasses.
No new tests, no behavior change.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/track/InbandTextTrack.h:
(isType):
* html/track/LoadableTextTrack.h:
(isType):
* html/track/TextTrackList.cpp:
(TextTrackList::getTrackIndex):
(TextTrackList::append): Deleted.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (174337 => 174338)
--- trunk/Source/WebCore/ChangeLog 2014-10-06 05:08:31 UTC (rev 174337)
+++ trunk/Source/WebCore/ChangeLog 2014-10-06 05:10:55 UTC (rev 174338)
@@ -1,5 +1,28 @@
2014-10-05 Christophe Dumez <[email protected]>
+ Use is<>() / downcast<>() for TextTrack subclasses
+ https://bugs.webkit.org/show_bug.cgi?id=137438
+
+ Reviewed by Ryosuke Niwa.
+
+ Use is<>() / downcast<>() for TextTrack subclasses.
+
+ No new tests, no behavior change.
+
+ * Modules/mediasource/SourceBuffer.cpp:
+ (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::parseAttribute):
+ * html/track/InbandTextTrack.h:
+ (isType):
+ * html/track/LoadableTextTrack.h:
+ (isType):
+ * html/track/TextTrackList.cpp:
+ (TextTrackList::getTrackIndex):
+ (TextTrackList::append): Deleted.
+
+2014-10-05 Christophe Dumez <[email protected]>
+
Use is<>() / downcast<>() for CryptoKeyData subclasses
https://bugs.webkit.org/show_bug.cgi?id=137437
Modified: trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (174337 => 174338)
--- trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2014-10-06 05:08:31 UTC (rev 174337)
+++ trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2014-10-06 05:10:55 UTC (rev 174338)
@@ -922,13 +922,13 @@
ASSERT(segment.textTracks.size() == textTracks()->length());
for (auto& textTrackInfo : segment.textTracks) {
if (textTracks()->length() == 1) {
- toInbandTextTrack(textTracks()->item(0))->setPrivate(textTrackInfo.track);
+ downcast<InbandTextTrack>(*textTracks()->item(0)).setPrivate(textTrackInfo.track);
break;
}
auto textTrack = textTracks()->getTrackById(textTrackInfo.track->id());
ASSERT(textTrack);
- toInbandTextTrack(textTrack)->setPrivate(textTrackInfo.track);
+ downcast<InbandTextTrack>(*textTrack).setPrivate(textTrackInfo.track);
}
for (auto& trackBuffer : m_trackBufferMap.values())
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (174337 => 174338)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2014-10-06 05:08:31 UTC (rev 174337)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2014-10-06 05:10:55 UTC (rev 174338)
@@ -1467,9 +1467,9 @@
// ... if the text track has a corresponding track element, to then fire a
// simple event named cuechange at the track element as well.
- if (affectedTracks[i]->trackType() == TextTrack::TrackElement) {
+ if (is<LoadableTextTrack>(*affectedTracks[i])) {
RefPtr<Event> event = Event::create(eventNames().cuechangeEvent, false, false);
- HTMLTrackElement* trackElement = static_cast<LoadableTextTrack*>(affectedTracks[i])->trackElement();
+ HTMLTrackElement* trackElement = downcast<LoadableTextTrack>(*affectedTracks[i]).trackElement();
ASSERT(trackElement);
event->setTarget(trackElement);
Modified: trunk/Source/WebCore/html/track/InbandTextTrack.h (174337 => 174338)
--- trunk/Source/WebCore/html/track/InbandTextTrack.h 2014-10-06 05:08:31 UTC (rev 174337)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.h 2014-10-06 05:10:55 UTC (rev 174338)
@@ -32,6 +32,7 @@
#include "TextTrack.h"
#include "TextTrackCueGeneric.h"
#include <wtf/RefPtr.h>
+#include <wtf/TypeCasts.h>
namespace WebCore {
@@ -92,9 +93,12 @@
#endif
};
-TYPE_CASTS_BASE(InbandTextTrack, TextTrack, track, track->isInband(), track.isInband());
-
} // namespace WebCore
-#endif
-#endif
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::InbandTextTrack)
+ static bool isType(const WebCore::TextTrack& track) { return track.isInband(); }
+SPECIALIZE_TYPE_TRAITS_END()
+
+#endif // ENABLE(VIDEO_TRACK)
+
+#endif // InbandTextTrack_h
Modified: trunk/Source/WebCore/html/track/LoadableTextTrack.h (174337 => 174338)
--- trunk/Source/WebCore/html/track/LoadableTextTrack.h 2014-10-06 05:08:31 UTC (rev 174337)
+++ trunk/Source/WebCore/html/track/LoadableTextTrack.h 2014-10-06 05:10:55 UTC (rev 174338)
@@ -30,6 +30,7 @@
#include "TextTrack.h"
#include "TextTrackLoader.h"
+#include <wtf/TypeCasts.h>
#include <wtf/Vector.h>
namespace WebCore {
@@ -79,5 +80,10 @@
};
} // namespace WebCore
-#endif
-#endif
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::LoadableTextTrack)
+ static bool isType(const WebCore::TextTrack& track) { return track.trackType() == WebCore::TextTrack::TrackElement; }
+SPECIALIZE_TYPE_TRAITS_END()
+
+#endif // ENABLE(VIDEO_TRACK)
+
+#endif // LoadableTextTrack_h
Modified: trunk/Source/WebCore/html/track/TextTrackList.cpp (174337 => 174338)
--- trunk/Source/WebCore/html/track/TextTrackList.cpp 2014-10-06 05:08:31 UTC (rev 174337)
+++ trunk/Source/WebCore/html/track/TextTrackList.cpp 2014-10-06 05:10:55 UTC (rev 174338)
@@ -51,10 +51,10 @@
return m_addTrackTracks.size() + m_elementTracks.size() + m_inbandTracks.size();
}
-int TextTrackList::getTrackIndex(TextTrack *textTrack)
+int TextTrackList::getTrackIndex(TextTrack* textTrack)
{
- if (textTrack->trackType() == TextTrack::TrackElement)
- return static_cast<LoadableTextTrack*>(textTrack)->trackElementIndex();
+ if (is<LoadableTextTrack>(textTrack))
+ return downcast<LoadableTextTrack>(*textTrack).trackElementIndex();
if (textTrack->trackType() == TextTrack::AddTrack)
return m_elementTracks.size() + m_addTrackTracks.find(textTrack);
@@ -176,9 +176,9 @@
if (track->trackType() == TextTrack::AddTrack)
m_addTrackTracks.append(track);
- else if (track->trackType() == TextTrack::TrackElement) {
+ else if (is<LoadableTextTrack>(*track)) {
// Insert tracks added for <track> element in tree order.
- size_t index = static_cast<LoadableTextTrack*>(track.get())->trackElementIndex();
+ size_t index = downcast<LoadableTextTrack>(*track).trackElementIndex();
m_elementTracks.insert(index, track);
} else if (track->trackType() == TextTrack::InBand) {
// Insert tracks added for in-band in the media file order.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes