- Revision
- 136506
- Author
- [email protected]
- Date
- 2012-12-04 05:38:57 -0800 (Tue, 04 Dec 2012)
Log Message
TextTrack's .kind property should return lower-case values
https://bugs.webkit.org/show_bug.cgi?id=103411
Patch by Antoine Quint <[email protected]> on 2012-12-04
Reviewed by Eric Carlson.
Source/WebCore:
While the HTML "kind" attribute on the <track> element allows upper-case values, the related APIs
on HTMLMediaElement and TextTrack expect only to deal with lower-case values. As such, we're updating
TextTrack::isValidKindKeyword() to be case-sensitive and ensure that values fed from the DOM (the values
read from HTML attributes) are lower-case'd.
Thanks to this fix, we're no longer skipping media/track/opera/interfaces/TextTrack/kind.html and
media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html
This patch also fixes https://bugs.webkit.org/show_bug.cgi?id=103256.
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::parseAttribute):
(WebCore::HTMLTrackElement::ensureTrack):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::isValidKindKeyword):
LayoutTests:
Stop skipping passing tests.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (136505 => 136506)
--- trunk/LayoutTests/ChangeLog 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/ChangeLog 2012-12-04 13:38:57 UTC (rev 136506)
@@ -1,3 +1,19 @@
+2012-12-04 Antoine Quint <[email protected]>
+
+ TextTrack's .kind property should return lower-case values
+ https://bugs.webkit.org/show_bug.cgi?id=103411
+
+ Reviewed by Eric Carlson.
+
+ Stop skipping passing tests.
+
+ * platform/chromium/TestExpectations:
+ * platform/efl/TestExpectations:
+ * platform/gtk/TestExpectations:
+ * platform/mac/TestExpectations:
+ * platform/qt/TestExpectations:
+ * platform/win/TestExpectations:
+
2012-12-04 Markus Heintz <[email protected]>
Web Inspector: Updating test expectations after viewport console warnings cleanup.
Modified: trunk/LayoutTests/platform/chromium/TestExpectations (136505 => 136506)
--- trunk/LayoutTests/platform/chromium/TestExpectations 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/platform/chromium/TestExpectations 2012-12-04 13:38:57 UTC (rev 136506)
@@ -3000,14 +3000,12 @@
# Opera-submitted tests to W3C for <track>, a lot of failures still.
webkit.org/b/103926 media/track/opera/idl/media-idl-tests.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html [ Skip ]
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/addCue.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/TextTrack/cues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/kind.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 ]
Modified: trunk/LayoutTests/platform/efl/TestExpectations (136505 => 136506)
--- trunk/LayoutTests/platform/efl/TestExpectations 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/platform/efl/TestExpectations 2012-12-04 13:38:57 UTC (rev 136506)
@@ -719,14 +719,12 @@
# Opera-submitted tests to W3C for <track>, a lot of failures still.
webkit.org/b/103926 media/track/opera/idl/media-idl-tests.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html [ Skip ]
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/addCue.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/TextTrack/cues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/kind.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 ]
Modified: trunk/LayoutTests/platform/gtk/TestExpectations (136505 => 136506)
--- trunk/LayoutTests/platform/gtk/TestExpectations 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/platform/gtk/TestExpectations 2012-12-04 13:38:57 UTC (rev 136506)
@@ -538,14 +538,12 @@
# Opera-submitted tests to W3C for <track>, a lot of failures still.
webkit.org/b/103926 media/track/opera/idl/media-idl-tests.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html [ Skip ]
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/addCue.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/TextTrack/cues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/kind.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 ]
Modified: trunk/LayoutTests/platform/mac/TestExpectations (136505 => 136506)
--- trunk/LayoutTests/platform/mac/TestExpectations 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2012-12-04 13:38:57 UTC (rev 136506)
@@ -475,14 +475,12 @@
# Opera-submitted tests to W3C for <track>, a lot of failures still.
# Opera-submitted tests to W3C for <track>, a lot of failures still.
webkit.org/b/103926 media/track/opera/idl/media-idl-tests.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html [ Skip ]
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/addCue.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/TextTrack/cues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/kind.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 ]
Modified: trunk/LayoutTests/platform/qt/TestExpectations (136505 => 136506)
--- trunk/LayoutTests/platform/qt/TestExpectations 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/platform/qt/TestExpectations 2012-12-04 13:38:57 UTC (rev 136506)
@@ -901,14 +901,12 @@
# Opera-submitted tests to W3C for <track>, a lot of failures still.
webkit.org/b/103926 media/track/opera/idl/media-idl-tests.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html [ Skip ]
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/addCue.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/TextTrack/cues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/kind.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 ]
Modified: trunk/LayoutTests/platform/win/TestExpectations (136505 => 136506)
--- trunk/LayoutTests/platform/win/TestExpectations 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/LayoutTests/platform/win/TestExpectations 2012-12-04 13:38:57 UTC (rev 136506)
@@ -1559,14 +1559,12 @@
# Opera-submitted tests to W3C for <track>, a lot of failures still.
webkit.org/b/103926 media/track/opera/idl/media-idl-tests.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html [ Skip ]
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/addCue.html [ Skip ]
webkit.org/b/103926 media/track/opera/interfaces/TextTrack/cues.html [ Skip ]
-webkit.org/b/103926 media/track/opera/interfaces/TextTrack/kind.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 ]
Modified: trunk/Source/WebCore/ChangeLog (136505 => 136506)
--- trunk/Source/WebCore/ChangeLog 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/Source/WebCore/ChangeLog 2012-12-04 13:38:57 UTC (rev 136506)
@@ -1,3 +1,26 @@
+2012-12-04 Antoine Quint <[email protected]>
+
+ TextTrack's .kind property should return lower-case values
+ https://bugs.webkit.org/show_bug.cgi?id=103411
+
+ Reviewed by Eric Carlson.
+
+ While the HTML "kind" attribute on the <track> element allows upper-case values, the related APIs
+ on HTMLMediaElement and TextTrack expect only to deal with lower-case values. As such, we're updating
+ TextTrack::isValidKindKeyword() to be case-sensitive and ensure that values fed from the DOM (the values
+ read from HTML attributes) are lower-case'd.
+
+ Thanks to this fix, we're no longer skipping media/track/opera/interfaces/TextTrack/kind.html and
+ media/track/opera/interfaces/HTMLElement/HTMLMediaElement/addTextTrack.html
+
+ This patch also fixes https://bugs.webkit.org/show_bug.cgi?id=103256.
+
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::parseAttribute):
+ (WebCore::HTMLTrackElement::ensureTrack):
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::isValidKindKeyword):
+
2012-12-04 Sheriff Bot <[email protected]>
Unreviewed, rolling out r136498.
Modified: trunk/Source/WebCore/html/HTMLTrackElement.cpp (136505 => 136506)
--- trunk/Source/WebCore/html/HTMLTrackElement.cpp 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/Source/WebCore/html/HTMLTrackElement.cpp 2012-12-04 13:38:57 UTC (rev 136506)
@@ -97,7 +97,7 @@
// 4.8.10.12.3 Sourcing out-of-band text tracks
// As the kind, label, and srclang attributes are set, changed, or removed, the text track must update accordingly...
} else if (name == kindAttr)
- track()->setKind(value);
+ track()->setKind(value.lower());
else if (name == labelAttr)
track()->setLabel(value);
else if (name == srclangAttr)
@@ -168,7 +168,7 @@
{
if (!m_track) {
// The kind attribute is an enumerated attribute, limited only to know values. It defaults to 'subtitles' if missing or invalid.
- String kind = getAttribute(kindAttr);
+ String kind = getAttribute(kindAttr).lower();
if (!TextTrack::isValidKindKeyword(kind))
kind = TextTrack::subtitlesKeyword();
m_track = LoadableTextTrack::create(this, kind, label(), srclang());
Modified: trunk/Source/WebCore/html/track/TextTrack.cpp (136505 => 136506)
--- trunk/Source/WebCore/html/track/TextTrack.cpp 2012-12-04 13:30:08 UTC (rev 136505)
+++ trunk/Source/WebCore/html/track/TextTrack.cpp 2012-12-04 13:38:57 UTC (rev 136506)
@@ -126,15 +126,15 @@
bool TextTrack::isValidKindKeyword(const AtomicString& value)
{
- if (equalIgnoringCase(value, subtitlesKeyword()))
+ if (value == subtitlesKeyword())
return true;
- if (equalIgnoringCase(value, captionsKeyword()))
+ if (value == captionsKeyword())
return true;
- if (equalIgnoringCase(value, descriptionsKeyword()))
+ if (value == descriptionsKeyword())
return true;
- if (equalIgnoringCase(value, chaptersKeyword()))
+ if (value == chaptersKeyword())
return true;
- if (equalIgnoringCase(value, metadataKeyword()))
+ if (value == metadataKeyword())
return true;
return false;