Changeset 139080 in webkit


Ignore:
Timestamp:
Jan 8, 2013 10:49:48 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

<track> element's mode set to "disabled" after load although it was explicitly set to "hidden"
https://bugs.webkit.org/show_bug.cgi?id=105536

Source/WebCore:

Remove all concept of "showing by default". This means removing the showingByDefault()
and setShowingByDefault() methods on TextTrack. As I was going through this code,
I also noticed that in HTMLMediaElement::configureTextTrackGroup(), we would set
defaultTrack to textTrack.get() even though defaultTrack was created to be a RefPtr<TextTrack>.

As a result, we can now pass an additional 8 tests from the Opera-submitted test suite:

LayoutTests/media/track/opera/interfaces/TextTrack/addCue.html
LayoutTests/media/track/opera/interfaces/TextTrack/removeCue.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/align.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/id.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit.html
LayoutTests/media/track/opera/interfaces/TextTrackCue/track.html

Patch by Antoine Quint <Antoine Quint> on 2013-01-08
Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::configureTextTrackGroup):
(WebCore::HTMLMediaElement::toggleTrackAtIndex):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::setMode):
(WebCore::TextTrack::isRendered):

  • html/track/TextTrack.h:

(WebCore::TextTrack::mode):
(TextTrack):

LayoutTests:

Patch by Antoine Quint <Antoine Quint> on 2013-01-08
Reviewed by Eric Carlson.

  • media/track/opera/interfaces/TextTrack/addCue-expected.txt:
  • media/track/opera/interfaces/TextTrack/removeCue-expected.txt: Added.
  • media/track/opera/interfaces/TextTrackCue/align-expected.txt: Added.
  • media/track/opera/interfaces/TextTrackCue/endTime-expected.txt:
  • media/track/opera/interfaces/TextTrackCue/id-expected.txt: Added.
  • media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt: Added.
  • media/track/opera/interfaces/TextTrackCue/startTime-expected.txt:
  • media/track/opera/interfaces/TextTrackCue/track-expected.txt: Added.
  • platform/chromium/TestExpectations: Skipping newly failing test on Chrome.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
Location:
trunk
Files:
5 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r139079 r139080  
     12013-01-08  Antoine Quint  <graouts@apple.com>
     2
     3        <track> element's mode set to "disabled" after load although it was explicitly set to "hidden"
     4        https://bugs.webkit.org/show_bug.cgi?id=105536
     5
     6        Reviewed by Eric Carlson.
     7
     8        * media/track/opera/interfaces/TextTrack/addCue-expected.txt:
     9        * media/track/opera/interfaces/TextTrack/removeCue-expected.txt: Added.
     10        * media/track/opera/interfaces/TextTrackCue/align-expected.txt: Added.
     11        * media/track/opera/interfaces/TextTrackCue/endTime-expected.txt:
     12        * media/track/opera/interfaces/TextTrackCue/id-expected.txt: Added.
     13        * media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt: Added.
     14        * media/track/opera/interfaces/TextTrackCue/startTime-expected.txt:
     15        * media/track/opera/interfaces/TextTrackCue/track-expected.txt: Added.
     16        * platform/chromium/TestExpectations: Skipping newly failing test on Chrome.
     17        * platform/efl/TestExpectations:
     18        * platform/gtk/TestExpectations:
     19        * platform/mac/TestExpectations:
     20        * platform/qt/TestExpectations:
     21        * platform/win/TestExpectations:
     22
    1232013-01-08  Zan Dobersek  <zandobersek@gmail.com>
    224
  • trunk/LayoutTests/media/track/opera/interfaces/TextTrack/addCue-expected.txt

    r136664 r139080  
    44PASS TextTrack.addCue(), adding a removed cue to a different track
    55PASS TextTrack.addCue(), adding an associated but removed cue to the same track
    6 TIMEOUT TextTrack.addCue(), adding a cue associated with a track element to other track Test timed out
     6PASS TextTrack.addCue(), adding a cue associated with a track element to other track
    77
  • trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime-expected.txt

    r136684 r139080  
    11 
    22PASS TextTrackCue.endTime, script-created cue
    3 TIMEOUT TextTrackCue.endTime, parsed cue Test timed out
     3PASS TextTrackCue.endTime, parsed cue
    44
  • trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime-expected.txt

    r136684 r139080  
    11 
    22PASS TextTrackCue.startTime, script-created cue
    3 TIMEOUT TextTrackCue.startTime, parsed cue Test timed out
     3PASS TextTrackCue.startTime, parsed cue
    44
  • trunk/LayoutTests/platform/chromium/TestExpectations

    r139072 r139080  
    30013001webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
    30023002webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
    3003 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
    30043003webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
    30053004webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
    3006 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
    3007 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
    30083005webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
    30093006webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
    30103007webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
    30113008webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
    3012 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
    30133009webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
    30143010webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
    3015 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
    30163011webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
    30173012webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
     
    30293024webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
    30303025
    3031 # After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
    3032 # At any rate, there is no regression, just a different type of failure.
    3033 webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
    3034 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
    3035 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
     3026# Started failing upon fixing webkit.org/b/105536
     3027webkit.org/b/106230 media/video-controls-captions.html [ Failure ]
    30363028
    30373029webkit.org/b/72271 [ SnowLeopard Debug ] fast/dom/node-iterator-reference-node-moved-crash.html [ Crash Pass ]
  • trunk/LayoutTests/platform/efl/TestExpectations

    r139061 r139080  
    768768webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
    769769webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
    770 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
    771770webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
    772771webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
    773 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
    774 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
    775772webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
    776773webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
    777774webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
    778775webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
    779 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
    780776webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
    781777webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
    782 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
    783778webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
    784779webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
     
    795790webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
    796791webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
    797 
    798 # After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
    799 # At any rate, there is no regression, just a different type of failure.
    800 webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
    801 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
    802 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
    803792
    804793webkit.org/b/100636 [ Debug ] jquery/traversing.html [ Failure Crash Pass ]
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r139061 r139080  
    432432webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
    433433webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
    434 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
    435434webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
    436435webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
    437 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
    438 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
    439436webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
    440437webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
    441438webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
    442439webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
    443 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
    444440webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
    445441webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
    446 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
    447442webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
    448443webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
     
    459454webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
    460455webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
    461 
    462 # After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
    463 # At any rate, there is no regression, just a different type of failure.
    464 webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
    465 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
    466 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
    467456
    468457# No support for exposing in-band text tracks
  • trunk/LayoutTests/platform/mac/TestExpectations

    r139061 r139080  
    479479webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
    480480webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
    481 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
    482481webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
    483482webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
    484 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
    485 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
    486483webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
    487484webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
    488485webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
    489486webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
    490 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
    491487webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
    492488webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
    493 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
    494489webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
    495490webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
     
    506501webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
    507502webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
    508 
    509 # After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
    510 # At any rate, there is no regression, just a different type of failure.
    511 webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
    512 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
    513 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
    514503
    515504# Tests for MediaSource API. Feature is not yet functional.
  • trunk/LayoutTests/platform/qt/TestExpectations

    r139061 r139080  
    897897webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
    898898webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
    899 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
    900899webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
    901900webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
    902 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
    903 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
    904901webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
    905902webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
    906903webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
    907904webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
    908 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
    909905webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
    910906webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
    911 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
    912907webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
    913908webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
     
    924919webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
    925920webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
    926 
    927 # After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
    928 # At any rate, there is no regression, just a different type of failure.
    929 webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
    930 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
    931 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
    932921
    933922# https://bugs.webkit.org/show_bug.cgi?id=38376
  • trunk/LayoutTests/platform/win/TestExpectations

    r138817 r139080  
    15601560webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
    15611561webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
    1562 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
    15631562webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
    15641563webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
    1565 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
    1566 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
    15671564webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
    15681565webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
    15691566webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
    15701567webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
    1571 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
    15721568webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
    15731569webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
    1574 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
    15751570webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
    15761571webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
     
    15871582webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
    15881583webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
    1589 
    1590 # After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
    1591 # At any rate, there is no regression, just a different type of failure.
    1592 webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
    1593 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
    1594 webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
    15951584
    15961585# Tests for MediaSource API. Feature is not yet functional.
  • trunk/Source/WebCore/ChangeLog

    r139078 r139080  
     12013-01-08  Antoine Quint  <graouts@apple.com>
     2
     3        <track> element's mode set to "disabled" after load although it was explicitly set to "hidden"
     4        https://bugs.webkit.org/show_bug.cgi?id=105536
     5
     6        Remove all concept of "showing by default". This means removing the showingByDefault()
     7        and setShowingByDefault() methods on TextTrack. As I was going  through this code,
     8        I also noticed that in HTMLMediaElement::configureTextTrackGroup(), we would set
     9        defaultTrack to textTrack.get() even though defaultTrack was created to be a RefPtr<TextTrack>.
     10
     11        As a result, we can now pass an additional 8 tests from the Opera-submitted test suite:
     12
     13        LayoutTests/media/track/opera/interfaces/TextTrack/addCue.html
     14        LayoutTests/media/track/opera/interfaces/TextTrack/removeCue.html
     15        LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime.html
     16        LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime.html
     17        LayoutTests/media/track/opera/interfaces/TextTrackCue/align.html
     18        LayoutTests/media/track/opera/interfaces/TextTrackCue/id.html
     19        LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit.html
     20        LayoutTests/media/track/opera/interfaces/TextTrackCue/track.html
     21
     22        Reviewed by Eric Carlson.
     23
     24        * html/HTMLMediaElement.cpp:
     25        (WebCore::HTMLMediaElement::configureTextTrackGroup):
     26        (WebCore::HTMLMediaElement::toggleTrackAtIndex):
     27        * html/track/TextTrack.cpp:
     28        (WebCore::TextTrack::TextTrack):
     29        (WebCore::TextTrack::setMode):
     30        (WebCore::TextTrack::isRendered):
     31        * html/track/TextTrack.h:
     32        (WebCore::TextTrack::mode):
     33        (TextTrack):
     34
    1352013-01-08  Mark Lam  <mark.lam@apple.com>
    236
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r139006 r139080  
    30063006            // element's list of text tracks whose text track mode is showing or showing by default
    30073007            //    Let the text track mode be showing by default.
    3008             defaultTrack = textTrack.get();
     3008            defaultTrack = textTrack;
    30093009        }
    30103010    }
     
    30183018        trackToEnable = fallbackTrack;
    30193019
    3020     for (size_t i = 0; i < group.tracks.size(); ++i) {
    3021         RefPtr<TextTrack> textTrack = group.tracks[i];
    3022        
    3023         if (trackToEnable == textTrack) {
    3024             textTrack->setMode(TextTrack::showingKeyword());
    3025             if (defaultTrack == textTrack)
    3026                 textTrack->setShowingByDefault(true);
    3027         } else {
    3028             if (textTrack->showingByDefault()) {
    3029                 // If there is a text track in the media element's list of text tracks whose text track
    3030                 // mode is showing by default, the user agent must furthermore change that text track's
    3031                 // text track mode to hidden.
    3032                 textTrack->setShowingByDefault(false);
    3033                 textTrack->setMode(TextTrack::hiddenKeyword());
    3034             } else
    3035                 textTrack->setMode(TextTrack::disabledKeyword());
    3036         }
    3037     }
    3038 
    3039     if (trackToEnable && group.defaultTrack && group.defaultTrack != trackToEnable) {
    3040         if (group.defaultTrack && group.defaultTrack->showingByDefault()) {
    3041             group.defaultTrack->setShowingByDefault(false);
    3042             group.defaultTrack->setMode(TextTrack::hiddenKeyword());
    3043         }
    3044     }
     3020    if (trackToEnable)
     3021        trackToEnable->setMode(TextTrack::showingKeyword());
    30453022}
    30463023
     
    30533030    for (int i = 0, length = trackList->length(); i < length; ++i) {
    30543031        TextTrack* track = trackList->item(i);
    3055         track->setShowingByDefault(false);
    30563032        if (i == index)
    30573033            track->setMode(TextTrack::showingKeyword());
  • trunk/Source/WebCore/html/track/TextTrack.cpp

    r138766 r139080  
    107107    , m_trackIndex(invalidTrackIndex)
    108108    , m_renderedTrackIndex(invalidTrackIndex)
    109     , m_showingByDefault(false)
    110109    , m_hasBeenConfigured(false)
    111110{
     
    173172            m_cues->item(i)->removeDisplayTree();
    174173
    175     //  ... Note: If the mode had been showing by default, this will change it to showing,
    176     // even though the value of mode would appear not to change.
    177174    m_mode = mode;
    178     setShowingByDefault(false);
    179175
    180176    if (m_client)
    181177        m_client->textTrackModeChanged(this);
    182 }
    183 
    184 AtomicString TextTrack::mode() const
    185 {
    186     // The text track "showing" and "showing by default" modes return the string "showing".
    187     if (m_showingByDefault)
    188         return showingKeyword();
    189     return m_mode;
    190178}
    191179
     
    328316        return false;
    329317
    330     if (m_mode != showingKeyword() && !m_showingByDefault)
     318    if (m_mode != showingKeyword())
    331319        return false;
    332320
  • trunk/Source/WebCore/html/track/TextTrack.h

    r138784 r139080  
    8585    static const AtomicString& showingKeyword();
    8686
    87     virtual AtomicString mode() const;
     87    AtomicString mode() const { return m_mode; }
    8888    virtual void setMode(const AtomicString&);
    89 
    90     bool showingByDefault() const { return m_showingByDefault; }
    91     void setShowingByDefault(bool showing) { m_showingByDefault = showing; }
    9289
    9390    enum ReadinessState { NotLoaded = 0, Loading = 1, Loaded = 2, FailedToLoad = 3 };
     
    145142    int m_trackIndex;
    146143    int m_renderedTrackIndex;
    147     bool m_showingByDefault;
    148144    bool m_hasBeenConfigured;
    149145};
Note: See TracChangeset for help on using the changeset viewer.