| Index: third_party/WebKit/Source/core/html/track/LoadableTextTrack.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/track/LoadableTextTrack.cpp b/third_party/WebKit/Source/core/html/track/LoadableTextTrack.cpp
|
| index a8078faff80667687abc31e791aa07083cc835d5..c61c4fd9a6b425d5b5dad9a559e28296d4db28e3 100644
|
| --- a/third_party/WebKit/Source/core/html/track/LoadableTextTrack.cpp
|
| +++ b/third_party/WebKit/Source/core/html/track/LoadableTextTrack.cpp
|
| @@ -35,7 +35,6 @@
|
| : TextTrack(subtitlesKeyword(), emptyAtom, emptyAtom, emptyAtom, TrackElement)
|
| , m_trackElement(track)
|
| {
|
| - DCHECK(m_trackElement);
|
| }
|
|
|
| LoadableTextTrack::~LoadableTextTrack()
|
| @@ -44,6 +43,7 @@
|
|
|
| bool LoadableTextTrack::isDefault() const
|
| {
|
| + ASSERT(m_trackElement);
|
| return m_trackElement->fastHasAttribute(HTMLNames::defaultAttr);
|
| }
|
|
|
| @@ -62,15 +62,22 @@
|
| }
|
| }
|
|
|
| -size_t LoadableTextTrack::trackElementIndex() const
|
| +size_t LoadableTextTrack::trackElementIndex()
|
| {
|
| - // Count the number of preceding <track> elements (== the index.)
|
| + ASSERT(m_trackElement);
|
| + ASSERT(m_trackElement->parentNode());
|
| +
|
| size_t index = 0;
|
| - const HTMLTrackElement* track = m_trackElement;
|
| - while ((track = Traversal<HTMLTrackElement>::previousSibling(*track)))
|
| + for (HTMLTrackElement* track = Traversal<HTMLTrackElement>::firstChild(*m_trackElement->parentNode()); track; track = Traversal<HTMLTrackElement>::nextSibling(*track)) {
|
| + if (!track->parentNode())
|
| + continue;
|
| + if (track == m_trackElement)
|
| + return index;
|
| ++index;
|
| + }
|
| + ASSERT_NOT_REACHED();
|
|
|
| - return index;
|
| + return 0;
|
| }
|
|
|
| DEFINE_TRACE(LoadableTextTrack)
|
|
|