Title: [136506] trunk
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;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to