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

Reply via email to