Skip to content
  • annacc@chromium.org's avatar
    TextTrack modes are strings · 6a31fbc2
    annacc@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=85050
    
    Reviewed by Eric Carlson.
    
    The spec recently changed away from enumeration to string for the type
    of TextTrack mode.
    http://dev.w3.org/html5/spec/media-elements.html#texttrackmode
    
    Source/WebCore:
    
    No new tests. Updates to existing tests.
    
    * html/HTMLMediaElement.cpp:
    
    Use the new string mode rather than the old enum.  Also, TextTrack::setMode()
    no longer requires an ExceptionCode:
    (WebCore::HTMLMediaElement::loadInternal):
    (WebCore::HTMLMediaElement::textTrackModeChanged):
    (WebCore::HTMLMediaElement::textTrackKindChanged):
    (WebCore::HTMLMediaElement::addTextTrack):
    (WebCore::HTMLMediaElement::showingTrackWithSameKind):
    (WebCore::HTMLMediaElement::configureTextTrackGroup):
    (WebCore::HTMLMediaElement::configureNewTextTracks):
    (WebCore::HTMLMediaElement::configureTextTrackDisplay):
    
    * html/track/TextTrack.cpp:
    
    Update these methods to use ConstructFromLiteral for efficiency:
    (WebCore::TextTrack::subtitlesKeyword):
    (WebCore::TextTrack::captionsKeyword):
    (WebCore::TextTrack::descriptionsKeyword):
    (WebCore::TextTrack::chaptersKeyword):
    (WebCore::TextTrack::metadataKeyword):
    
    New methods to use for the mode string (replacing the enum):
    (WebCore::TextTrack::disabledKeyword):
    (WebCore::TextTrack::hiddenKeyword):
    (WebCore::TextTrack::showingKeyword):
    
    (WebCore::TextTrack::TextTrack): Initialize mode to disabled.
    (WebCore::TextTrack::setMode): Remove ExceptionCode and no longer throw an
    INVALID_ACCESS_ERR.
    (WebCore::TextTrack::mode): Return a keyword string instead of an enum.
    
    Use the new string mode rather than the old enum:
    (WebCore::TextTrack::cues):
    (WebCore::TextTrack::activeCues):
    (WebCore::TextTrack::isRendered):
    
    * html/track/TextTrack.h: Remove old enum, add new string keyword methods,
    and update mode() and setMode() accordingly.
    
    * html/track/TextTrack.idl: Remove old enum and make mode attribute be a string.
    
    Use the new string mode rather than the old enum:
    * html/track/TextTrackCue.cpp:
    (WebCore::TextTrackCue::dispatchEvent):
    (WebCore::TextTrackCue::isActive):
    
    LayoutTests:
    
    Remove check for mode constants as we are no longer using an enum:
    * media/track/track-constants-expected.txt:
    * media/track/track-constants.html:
    
    Update tests to use the new strings rather than the enums:
    * media/track/track-delete-during-setup-expected.txt:
    * media/track/track-delete-during-setup.html:
    * media/track/track-element-dom-change-crash-expected.txt:
    * media/track/track-element-dom-change-crash.html:
    * media/track/track-load-from-src-readyState.html:
    * media/track/track-mode-expected.txt:
    * media/track/track-mode-not-changed-by-new-track-expected.txt:
    * media/track/track-mode-not-changed-by-new-track.html:
    * media/track/track-mode-triggers-loading-expected.txt:
    * media/track/track-mode-triggers-loading.html:
    * media/track/track-mode.html:
    * media/track/track-texttracks-expected.txt:
    * media/track/track-texttracks.html:
    * media/video-test.js:
    (enableAllTextTracks):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6a31fbc2