Title: [139080] trunk
Revision
139080
Author
[email protected]
Date
2013-01-08 10:49:48 -0800 (Tue, 08 Jan 2013)

Log 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 <[email protected]> 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 <[email protected]> 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:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139079 => 139080)


--- trunk/LayoutTests/ChangeLog	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/ChangeLog	2013-01-08 18:49:48 UTC (rev 139080)
@@ -1,3 +1,25 @@
+2013-01-08  Antoine Quint  <[email protected]>
+
+        <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
+
+        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:
+
 2013-01-08  Zan Dobersek  <[email protected]>
 
         Unreviewed GTK gardening.

Modified: trunk/LayoutTests/media/track/opera/interfaces/TextTrack/addCue-expected.txt (139079 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrack/addCue-expected.txt	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrack/addCue-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -3,5 +3,5 @@
 PASS TextTrack.addCue(), adding a cue to a track twice 
 PASS TextTrack.addCue(), adding a removed cue to a different track 
 PASS TextTrack.addCue(), adding an associated but removed cue to the same track 
-TIMEOUT TextTrack.addCue(), adding a cue associated with a track element to other track Test timed out
+PASS TextTrack.addCue(), adding a cue associated with a track element to other track 
 

Added: trunk/LayoutTests/media/track/opera/interfaces/TextTrack/removeCue-expected.txt (0 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrack/removeCue-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrack/removeCue-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -0,0 +1,4 @@
+ 
+PASS TextTrack.removeCue(), two elementless tracks 
+PASS TextTrack.removeCue(), cue from track element 
+

Added: trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/align-expected.txt (0 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/align-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/align-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -0,0 +1,4 @@
+ 
+PASS TextTrackCue.align, script-created cue 
+PASS TextTrackCue.align, parsed cue 
+

Modified: trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime-expected.txt (139079 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime-expected.txt	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -1,4 +1,4 @@
  
 PASS TextTrackCue.endTime, script-created cue 
-TIMEOUT TextTrackCue.endTime, parsed cue Test timed out
+PASS TextTrackCue.endTime, parsed cue 
 

Added: trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/id-expected.txt (0 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/id-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/id-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -0,0 +1,4 @@
+ 
+PASS TextTrackCue.id, script-created cue 
+PASS TextTrackCue.id, parsed cue 
+

Added: trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt (0 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -0,0 +1,4 @@
+ 
+PASS TextTrackCue.pauseOnExit, script-created cue 
+PASS TextTrackCue.pauseOnExit, parsed cue 
+

Modified: trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime-expected.txt (139079 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime-expected.txt	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -1,4 +1,4 @@
  
 PASS TextTrackCue.startTime, script-created cue 
-TIMEOUT TextTrackCue.startTime, parsed cue Test timed out
+PASS TextTrackCue.startTime, parsed cue 
 

Added: trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/track-expected.txt (0 => 139080)


--- trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/track-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/track/opera/interfaces/TextTrackCue/track-expected.txt	2013-01-08 18:49:48 UTC (rev 139080)
@@ -0,0 +1,4 @@
+ 
+PASS TextTrackCue.track, script-created cue 
+PASS TextTrackCue.track, parsed cue 
+

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (139079 => 139080)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2013-01-08 18:49:48 UTC (rev 139080)
@@ -3000,19 +3000,14 @@
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackList/getter.html [ Skip ]
@@ -3028,11 +3023,8 @@
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
 
-# After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
-# At any rate, there is no regression, just a different type of failure.
-webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
+# Started failing upon fixing webkit.org/b/105536
+webkit.org/b/106230 media/video-controls-captions.html [ Failure ]
 
 webkit.org/b/72271 [ SnowLeopard Debug ] fast/dom/node-iterator-reference-node-moved-crash.html [ Crash Pass ]
 

Modified: trunk/LayoutTests/platform/efl/TestExpectations (139079 => 139080)


--- trunk/LayoutTests/platform/efl/TestExpectations	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/platform/efl/TestExpectations	2013-01-08 18:49:48 UTC (rev 139080)
@@ -767,19 +767,14 @@
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackList/getter.html [ Skip ]
@@ -795,12 +790,6 @@
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
 
-# After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
-# At any rate, there is no regression, just a different type of failure.
-webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
-
 webkit.org/b/100636 [ Debug ] jquery/traversing.html [ Failure Crash Pass ]
 
 webkit.org/b/102928 svg/foreignObject/viewport-foreignobject-crash.html [ Crash Failure Pass ]

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (139079 => 139080)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2013-01-08 18:49:48 UTC (rev 139080)
@@ -431,19 +431,14 @@
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackList/getter.html [ Skip ]
@@ -459,12 +454,6 @@
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
 
-# After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
-# At any rate, there is no regression, just a different type of failure.
-webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
-
 # No support for exposing in-band text tracks
 webkit.org/b/103771 media/track/track-in-band.html [ Failure ]
 webkit.org/b/103771 media/track/track-in-band-cues-added-once.html [ Timeout ]

Modified: trunk/LayoutTests/platform/mac/TestExpectations (139079 => 139080)


--- trunk/LayoutTests/platform/mac/TestExpectations	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2013-01-08 18:49:48 UTC (rev 139080)
@@ -478,19 +478,14 @@
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackList/getter.html [ Skip ]
@@ -506,12 +501,6 @@
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
 
-# After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
-# At any rate, there is no regression, just a different type of failure.
-webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
-
 # Tests for MediaSource API. Feature is not yet functional.
 # https://bugs.webkit.org/show_bug.cgi?id=64731
 http/tests/media/media-source/

Modified: trunk/LayoutTests/platform/qt/TestExpectations (139079 => 139080)


--- trunk/LayoutTests/platform/qt/TestExpectations	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/platform/qt/TestExpectations	2013-01-08 18:49:48 UTC (rev 139080)
@@ -896,19 +896,14 @@
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackList/getter.html [ Skip ]
@@ -924,12 +919,6 @@
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
 
-# After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
-# At any rate, there is no regression, just a different type of failure.
-webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
-
 # https://bugs.webkit.org/show_bug.cgi?id=38376
 media/media-document-audio-size.html
 

Modified: trunk/LayoutTests/platform/win/TestExpectations (139079 => 139080)


--- trunk/LayoutTests/platform/win/TestExpectations	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/LayoutTests/platform/win/TestExpectations	2013-01-08 18:49:48 UTC (rev 139080)
@@ -1559,19 +1559,14 @@
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrack/activeCues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/removeCue.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/constructor.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TrackEvent/createEvent.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/align.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/id.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/line.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onenter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/onexit.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/pauseOnExit.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/snapToLines.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/text.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/track.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCue/vertical.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackCueList/getter.html [ Skip ]
 webkit.org/b/103926 media/track/opera/interfaces/TextTrackList/getter.html [ Skip ]
@@ -1587,12 +1582,6 @@
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html [ Skip ]
 webkit.org/b/103926 media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html [ Skip ]
 
-# After fixing webkit.org/b/103258, these tests fail when they used to simply timeout.
-# At any rate, there is no regression, just a different type of failure.
-webkit.org/b/105536 media/track/opera/interfaces/TextTrack/addCue.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/endTime.html [ Failure ]
-webkit.org/b/105536 media/track/opera/interfaces/TextTrackCue/startTime.html [ Failure ]
-
 # Tests for MediaSource API. Feature is not yet functional.
 # https://bugs.webkit.org/show_bug.cgi?id=64731
 http/tests/media/media-source/

Modified: trunk/Source/WebCore/ChangeLog (139079 => 139080)


--- trunk/Source/WebCore/ChangeLog	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/Source/WebCore/ChangeLog	2013-01-08 18:49:48 UTC (rev 139080)
@@ -1,3 +1,37 @@
+2013-01-08  Antoine Quint  <[email protected]>
+
+        <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
+
+        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
+
+        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):
+
 2013-01-08  Mark Lam  <[email protected]>
 
         Removed the need for the ProposedDatabase mechanism.

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (139079 => 139080)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2013-01-08 18:49:48 UTC (rev 139080)
@@ -3005,7 +3005,7 @@
             // * If the track element has a default attribute specified, and there is no other text track in the media
             // element's list of text tracks whose text track mode is showing or showing by default
             //    Let the text track mode be showing by default.
-            defaultTrack = textTrack.get();
+            defaultTrack = textTrack;
         }
     }
 
@@ -3017,31 +3017,8 @@
     if (!trackToEnable && fallbackTrack)
         trackToEnable = fallbackTrack;
 
-    for (size_t i = 0; i < group.tracks.size(); ++i) {
-        RefPtr<TextTrack> textTrack = group.tracks[i];
-        
-        if (trackToEnable == textTrack) {
-            textTrack->setMode(TextTrack::showingKeyword());
-            if (defaultTrack == textTrack)
-                textTrack->setShowingByDefault(true);
-        } else {
-            if (textTrack->showingByDefault()) {
-                // If there is a text track in the media element's list of text tracks whose text track
-                // mode is showing by default, the user agent must furthermore change that text track's
-                // text track mode to hidden.
-                textTrack->setShowingByDefault(false);
-                textTrack->setMode(TextTrack::hiddenKeyword());
-            } else
-                textTrack->setMode(TextTrack::disabledKeyword());
-        }
-    }
-
-    if (trackToEnable && group.defaultTrack && group.defaultTrack != trackToEnable) {
-        if (group.defaultTrack && group.defaultTrack->showingByDefault()) {
-            group.defaultTrack->setShowingByDefault(false);
-            group.defaultTrack->setMode(TextTrack::hiddenKeyword());
-        }
-    }
+    if (trackToEnable)
+        trackToEnable->setMode(TextTrack::showingKeyword());
 }
 
 void HTMLMediaElement::toggleTrackAtIndex(int index, bool exclusive)
@@ -3052,7 +3029,6 @@
 
     for (int i = 0, length = trackList->length(); i < length; ++i) {
         TextTrack* track = trackList->item(i);
-        track->setShowingByDefault(false);
         if (i == index)
             track->setMode(TextTrack::showingKeyword());
         else if (exclusive || index == HTMLMediaElement::textTracksOffIndex())

Modified: trunk/Source/WebCore/html/track/TextTrack.cpp (139079 => 139080)


--- trunk/Source/WebCore/html/track/TextTrack.cpp	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/Source/WebCore/html/track/TextTrack.cpp	2013-01-08 18:49:48 UTC (rev 139080)
@@ -106,7 +106,6 @@
     , m_readinessState(NotLoaded)
     , m_trackIndex(invalidTrackIndex)
     , m_renderedTrackIndex(invalidTrackIndex)
-    , m_showingByDefault(false)
     , m_hasBeenConfigured(false)
 {
     setKind(kind);
@@ -172,23 +171,12 @@
         for (size_t i = 0; i < m_cues->length(); ++i)
             m_cues->item(i)->removeDisplayTree();
 
-    //  ... Note: If the mode had been showing by default, this will change it to showing, 
-    // even though the value of mode would appear not to change.
     m_mode = mode;
-    setShowingByDefault(false);
 
     if (m_client)
         m_client->textTrackModeChanged(this);
 }
 
-AtomicString TextTrack::mode() const
-{
-    // The text track "showing" and "showing by default" modes return the string "showing".
-    if (m_showingByDefault)
-        return showingKeyword();
-    return m_mode;
-}
-
 TextTrackCueList* TextTrack::cues()
 {
     // 4.8.10.12.5 If the text track mode ... is not the text track disabled mode,
@@ -327,7 +315,7 @@
     if (m_kind != captionsKeyword() && m_kind != subtitlesKeyword())
         return false;
 
-    if (m_mode != showingKeyword() && !m_showingByDefault)
+    if (m_mode != showingKeyword())
         return false;
 
     return true;

Modified: trunk/Source/WebCore/html/track/TextTrack.h (139079 => 139080)


--- trunk/Source/WebCore/html/track/TextTrack.h	2013-01-08 18:47:58 UTC (rev 139079)
+++ trunk/Source/WebCore/html/track/TextTrack.h	2013-01-08 18:49:48 UTC (rev 139080)
@@ -84,12 +84,9 @@
     static const AtomicString& hiddenKeyword();
     static const AtomicString& showingKeyword();
 
-    virtual AtomicString mode() const;
+    AtomicString mode() const { return m_mode; }
     virtual void setMode(const AtomicString&);
 
-    bool showingByDefault() const { return m_showingByDefault; }
-    void setShowingByDefault(bool showing) { m_showingByDefault = showing; }
-
     enum ReadinessState { NotLoaded = 0, Loading = 1, Loaded = 2, FailedToLoad = 3 };
     ReadinessState readinessState() const { return m_readinessState; }
     void setReadinessState(ReadinessState state) { m_readinessState = state; }
@@ -144,7 +141,6 @@
     ReadinessState m_readinessState;
     int m_trackIndex;
     int m_renderedTrackIndex;
-    bool m_showingByDefault;
     bool m_hasBeenConfigured;
 };
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to