Changeset 151796 in webkit


Ignore:
Timestamp:
Jun 20, 2013 1:14:03 PM (11 years ago)
Author:
eric.carlson@apple.com
Message:

ASSERT removing then adding a <track> element
https://bugs.webkit.org/show_bug.cgi?id=117814

Reviewed by Jer Noble.

Source/WebCore:

Test: media/track/add-and-remove-track.html

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::insertedInto): Always call ensureTrack before adding the track

to the parent <video> element.

(WebCore::HTMLTrackElement::ensureTrack): Call m_track->setTrackElement() in case the

parent was cleared after m_track was created.

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::setTrackElement): New, set m_trackElement.

  • html/track/LoadableTextTrack.h:

LayoutTests:

  • media/track/add-and-remove-track-expected.txt: Added.
  • media/track/add-and-remove-track.html: Added.
Location:
trunk
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r151790 r151796  
     12013-06-20  Eric Carlson  <eric.carlson@apple.com>
     2
     3        ASSERT removing then adding a <track> element
     4        https://bugs.webkit.org/show_bug.cgi?id=117814
     5
     6        Reviewed by Jer Noble.
     7
     8        * media/track/add-and-remove-track-expected.txt: Added.
     9        * media/track/add-and-remove-track.html: Added.
     10
    1112013-06-20  Benjamin Poulain  <bpoulain@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r151794 r151796  
     12013-06-20  Eric Carlson  <eric.carlson@apple.com>
     2
     3        ASSERT removing then adding a <track> element
     4        https://bugs.webkit.org/show_bug.cgi?id=117814
     5
     6        Reviewed by Jer Noble.
     7
     8        Test: media/track/add-and-remove-track.html
     9
     10        * html/HTMLTrackElement.cpp:
     11        (WebCore::HTMLTrackElement::insertedInto): Always call ensureTrack before adding the track
     12            to the parent <video> element.
     13        (WebCore::HTMLTrackElement::ensureTrack): Call m_track->setTrackElement() in case the
     14            parent was cleared after m_track was created.
     15
     16        * html/track/LoadableTextTrack.cpp:
     17        (WebCore::LoadableTextTrack::setTrackElement): New, set m_trackElement.
     18        * html/track/LoadableTextTrack.h:
     19
    1202013-06-20  Roger Fong  <roger_fong@apple.com>
    221
  • trunk/Source/WebCore/html/HTMLTrackElement.cpp

    r148305 r151796  
    8080    HTMLElement::insertedInto(insertionPoint);
    8181    HTMLMediaElement* parent = mediaElement();
    82     if (insertionPoint == parent)
     82    if (insertionPoint == parent) {
     83        ensureTrack();
    8384        parent->didAddTextTrack(this);
     85    }
    8486    return InsertionDone;
    8587}
     
    174176            kind = TextTrack::subtitlesKeyword();
    175177        m_track = LoadableTextTrack::create(this, kind, label(), srclang());
    176     }
     178    } else
     179        m_track->setTrackElement(this);
     180
    177181    return m_track.get();
    178182}
  • trunk/Source/WebCore/html/track/LoadableTextTrack.cpp

    r148785 r151796  
    7676{
    7777    return m_trackElement;
     78}
     79   
     80void LoadableTextTrack::setTrackElement(HTMLTrackElement* element)
     81{
     82    ASSERT(!m_trackElement || m_trackElement == element);
     83    m_trackElement = element;
    7884}
    7985
  • trunk/Source/WebCore/html/track/LoadableTextTrack.h

    r148785 r151796  
    6161    size_t trackElementIndex();
    6262    HTMLTrackElement* trackElement() { return m_trackElement; }
     63    void setTrackElement(HTMLTrackElement*);
    6364    virtual Element* element() OVERRIDE;
    6465
Note: See TracChangeset for help on using the changeset viewer.