[WebVTT] change "middle" to "center" for consistency with CSS
authorpvollan@apple.com <pvollan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Sep 2018 16:07:24 +0000 (16:07 +0000)
committerpvollan@apple.com <pvollan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 18 Sep 2018 16:07:24 +0000 (16:07 +0000)
https://bugs.webkit.org/show_bug.cgi?id=158478

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, covered by existing tests.

* html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
* html/track/VTTCue.cpp:
(WebCore::centerKeyword):
(WebCore::VTTCue::initialize):
(WebCore::VTTCue::align const):
(WebCore::VTTCue::setAlign):
(WebCore::VTTCue::calculateDisplayParameters):
(WebCore::VTTCue::setCueSettings):
(WebCore::middleKeyword): Deleted.
* html/track/VTTCue.h:
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTTreeBuilder::buildFromString):

LayoutTests:

* media/track/track-add-remove-cue-expected.txt:
* media/track/track-add-remove-cue.html:
* media/track/track-cue-mutable-expected.txt:
* media/track/track-cue-mutable.html:
* media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt:
* media/track/track-vttcue-expected.txt:
* media/track/track-vttcue.html:
* media/track/track-webvtt-tc013-settings-expected.txt:
* media/track/track-webvtt-tc013-settings.html:
* media/track/track-webvtt-tc014-alignment-expected.txt:
* media/track/track-webvtt-tc014-alignment.html:
* media/track/track-webvtt-tc016-align-positioning-expected.txt:
* media/track/track-webvtt-tc016-align-positioning.html:
* media/track/track-webvtt-tc018-align-text-line-position-expected.txt:
* media/track/track-webvtt-tc018-align-text-line-position.html:
* media/track/track-webvtt-tc020-cue-size-align-expected.txt:
* media/track/track-webvtt-tc020-cue-size-align.html:
* media/track/track-webvtt-tc021-valign-expected.txt:
* media/track/track-webvtt-tc021-valign.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

24 files changed:
LayoutTests/ChangeLog
LayoutTests/media/track/track-add-remove-cue-expected.txt
LayoutTests/media/track/track-add-remove-cue.html
LayoutTests/media/track/track-cue-mutable-expected.txt
LayoutTests/media/track/track-cue-mutable.html
LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt
LayoutTests/media/track/track-vttcue-expected.txt
LayoutTests/media/track/track-vttcue.html
LayoutTests/media/track/track-webvtt-tc013-settings-expected.txt
LayoutTests/media/track/track-webvtt-tc013-settings.html
LayoutTests/media/track/track-webvtt-tc014-alignment-expected.txt
LayoutTests/media/track/track-webvtt-tc014-alignment.html
LayoutTests/media/track/track-webvtt-tc016-align-positioning-expected.txt
LayoutTests/media/track/track-webvtt-tc016-align-positioning.html
LayoutTests/media/track/track-webvtt-tc018-align-text-line-position-expected.txt
LayoutTests/media/track/track-webvtt-tc018-align-text-line-position.html
LayoutTests/media/track/track-webvtt-tc020-cue-size-align-expected.txt
LayoutTests/media/track/track-webvtt-tc020-cue-size-align.html
LayoutTests/media/track/track-webvtt-tc021-valign-expected.txt
LayoutTests/media/track/track-webvtt-tc021-valign.html
Source/WebCore/ChangeLog
Source/WebCore/html/track/TextTrackCueGeneric.cpp
Source/WebCore/html/track/VTTCue.cpp
Source/WebCore/html/track/VTTCue.h

index d3945cc..cfa11ae 100644 (file)
@@ -1,3 +1,30 @@
+2018-09-18  Per Arne Vollan  <pvollan@apple.com>
+
+        [WebVTT] change "middle" to "center" for consistency with CSS
+        https://bugs.webkit.org/show_bug.cgi?id=158478
+
+        Reviewed by Eric Carlson.
+
+        * media/track/track-add-remove-cue-expected.txt:
+        * media/track/track-add-remove-cue.html:
+        * media/track/track-cue-mutable-expected.txt:
+        * media/track/track-cue-mutable.html:
+        * media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt:
+        * media/track/track-vttcue-expected.txt:
+        * media/track/track-vttcue.html:
+        * media/track/track-webvtt-tc013-settings-expected.txt:
+        * media/track/track-webvtt-tc013-settings.html:
+        * media/track/track-webvtt-tc014-alignment-expected.txt:
+        * media/track/track-webvtt-tc014-alignment.html:
+        * media/track/track-webvtt-tc016-align-positioning-expected.txt:
+        * media/track/track-webvtt-tc016-align-positioning.html:
+        * media/track/track-webvtt-tc018-align-text-line-position-expected.txt:
+        * media/track/track-webvtt-tc018-align-text-line-position.html:
+        * media/track/track-webvtt-tc020-cue-size-align-expected.txt:
+        * media/track/track-webvtt-tc020-cue-size-align.html:
+        * media/track/track-webvtt-tc021-valign-expected.txt:
+        * media/track/track-webvtt-tc021-valign.html:
+
 2018-09-18  Claudio Saavedra  <csaavedra@igalia.com>
 
         [WPE] Gardening after r236124
index 6834799..60c23f6 100644 (file)
@@ -22,7 +22,7 @@ EXPECTED (textCue.snapToLines == 'true') OK
 EXPECTED (textCue.line == '-1') OK
 EXPECTED (textCue.position == '50') OK
 EXPECTED (textCue.size == '100') OK
-EXPECTED (textCue.align == 'middle') OK
+EXPECTED (textCue.align == 'center') OK
 
 *** Add the new cue to a track, make sure it is inserted correctly.
 RUN(testTrack.track.addCue(textCue))
@@ -45,7 +45,7 @@ EXPECTED (newCue.snapToLines == 'true') OK
 EXPECTED (newCue.line == '-1') OK
 EXPECTED (newCue.position == '50') OK
 EXPECTED (newCue.size == '100') OK
-EXPECTED (newCue.align == 'middle') OK
+EXPECTED (newCue.align == 'center') OK
 
 *** Create an old-style cue with an id.
 RUN(invalidCue = new VTTCue('sausage-cue', 33, 3.4, 'Sausage?'))
index 0e38c77..2f83341 100644 (file)
@@ -34,7 +34,7 @@
                 testExpected("textCue.line", -1);
                 testExpected("textCue.position", 50);
                 testExpected("textCue.size", 100);
-                testExpected("textCue.align", "middle");
+                testExpected("textCue.align", "center");
 
                 consoleWrite("<br>*** Add the new cue to a track, make sure it is inserted correctly.");
                 run("testTrack.track.addCue(textCue)");
@@ -59,7 +59,7 @@
                 testExpected("newCue.line", -1);
                 testExpected("newCue.position", 50);
                 testExpected("newCue.size", 100);
-                testExpected("newCue.align", "middle");
+                testExpected("newCue.align", "center");
 
                 consoleWrite("<br>*** Create an old-style cue with an id.");
                 run("invalidCue = new VTTCue('sausage-cue', 33, 3.4, 'Sausage?')");
index ad40741..31b0d83 100644 (file)
@@ -11,7 +11,7 @@ EXPECTED (textCue.snapToLines == 'true') OK
 EXPECTED (textCue.line == '-1') OK
 EXPECTED (textCue.position == '50') OK
 EXPECTED (textCue.size == '100') OK
-EXPECTED (textCue.align == 'middle') OK
+EXPECTED (textCue.align == 'center') OK
 
 ** Modify cue values.
 RUN(textCue.startTime = 1.1)
@@ -63,7 +63,7 @@ EXPECTED (textCue.size == '57') OK
 On setting, the text track cue alignment must be set to the value ... is a case-sensitive match for the new value, if any. If none of the values match, then the user agent must instead throw a SyntaxError exception.
 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-align
 TEST(textCue.align = 'End') THROWS(DOMException.SYNTAX_ERR) OK
-EXPECTED (textCue.align == 'middle') OK
+EXPECTED (textCue.align == 'center') OK
 RUN(textCue.align = 'end')
 EXPECTED (textCue.align == 'end') OK
 
index da33e12..3307c99 100644 (file)
@@ -31,7 +31,7 @@
                 testExpected("textCue.line", -1);
                 testExpected("textCue.position", 50);
                 testExpected("textCue.size", 100);
-                testExpected("textCue.align", "middle");
+                testExpected("textCue.align", "center");
 
                 consoleWrite("<br>** Modify cue values.");
 
@@ -87,7 +87,7 @@
                 logSpecURL("http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-align",
                            "On setting, the text track cue alignment must be set to the value ... is a case-sensitive match for the new value, if any. If none of the values match, then the user agent must instead throw a SyntaxError exception.");
                 testDOMException("textCue.align = 'End'", "DOMException.SYNTAX_ERR");
-                testExpected("textCue.align", "middle");
+                testExpected("textCue.align", "center");
                 run("textCue.align = 'end'");
                 testExpected("textCue.align", "end");
 
index 0674de6..2013bcc 100644 (file)
@@ -8,7 +8,7 @@ Active cues: 1
 
 * Cue 0 *
 EXPECTED (cueDisplayElement.innerText == 'This is a demo track to illustrate positioning features of cues.') OK
-Cue alignment (default or as specified): middle
+Cue alignment (default or as specified): center
 Cue left position (percentage): 50
 Cue top position (percentage): 100
 
@@ -18,7 +18,7 @@ Active cues: 1
 
 * Cue 0 *
 EXPECTED (cueDisplayElement.innerText == 'Using HTML5 captions, you can position the cues anywhere.') OK
-Cue alignment (default or as specified): middle
+Cue alignment (default or as specified): center
 Cue left position (percentage): 50
 Cue top position (percentage): 50
 
@@ -68,7 +68,7 @@ Active cues: 1
 
 * Cue 0 *
 EXPECTED (cueDisplayElement.innerText == 'Cues are implicitly displayed within the viewport area.') OK
-Cue alignment (default or as specified): middle
+Cue alignment (default or as specified): center
 Cue left position (percentage): 50
 Cue top position (percentage): 50
 
@@ -78,7 +78,7 @@ Active cues: 7
 
 * Cue 0 *
 EXPECTED (cueDisplayElement.innerText == 'You may even have multiple cues in the same time.') OK
-Cue alignment (default or as specified): middle
+Cue alignment (default or as specified): center
 Cue left position (percentage): 50
 Cue top position (percentage): 50
 
@@ -96,7 +96,7 @@ Cue top position (percentage): 7
 
 * Cue 3 *
 EXPECTED (cueDisplayElement.innerText == 'Bottom cue.') OK
-Cue alignment (default or as specified): middle
+Cue alignment (default or as specified): center
 Cue left position (percentage): 50
 Cue top position (percentage): 100
 
index 1a306a6..8ed4bd5 100644 (file)
@@ -16,7 +16,7 @@ EXPECTED (trackCue.snapToLines == 'true') OK
 EXPECTED (trackCue.line == '-1') OK
 EXPECTED (trackCue.position == '50') OK
 EXPECTED (trackCue.size == '100') OK
-EXPECTED (trackCue.align == 'middle') OK
+EXPECTED (trackCue.align == 'center') OK
 EXPECTED (trackCue.text == 'Lorem') OK
 EXPECTED (serialize(trackCue.getCueAsHTML()) == 'Lorem') OK
 
@@ -34,7 +34,7 @@ EXPECTED (newCue.snapToLines == 'true') OK
 EXPECTED (newCue.line == '-1') OK
 EXPECTED (newCue.position == '50') OK
 EXPECTED (newCue.size == '100') OK
-EXPECTED (newCue.align == 'middle') OK
+EXPECTED (newCue.align == 'center') OK
 EXPECTED (newCue.text == 'Pie') OK
 EXPECTED (serialize(newCue.getCueAsHTML()) == 'Pie') OK
 END OF TEST
index d2777f3..9eb78e8 100644 (file)
@@ -35,7 +35,7 @@
                 testExpected("trackCue.line", -1);
                 testExpected("trackCue.position", 50);
                 testExpected("trackCue.size", 100);
-                testExpected("trackCue.align", "middle");
+                testExpected("trackCue.align", "center");
                 testExpected("trackCue.text", "Lorem");
                 testExpected("serialize(trackCue.getCueAsHTML())", 'Lorem');
 
@@ -55,7 +55,7 @@
                 testExpected("newCue.line", -1);
                 testExpected("newCue.position", 50);
                 testExpected("newCue.size", 100);
-                testExpected("newCue.align", "middle");
+                testExpected("newCue.align", "center");
                 testExpected("newCue.text", "Pie");
                 testExpected("serialize(newCue.getCueAsHTML())", 'Pie');
 
index 6d8143f..305b008 100644 (file)
@@ -10,11 +10,11 @@ EXPECTED (cues[0].align == 'start') OK
 EXPECTED (cues[0].vertical == '') OK
 EXPECTED (cues[1].line == '15') OK
 EXPECTED (cues[1].position == '40') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[1].vertical == 'rl') OK
 EXPECTED (cues[2].line == '-1') OK
 EXPECTED (cues[2].position == '10') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 EXPECTED (cues[2].vertical == '') OK
 EXPECTED (cues[3].line == '95') OK
 EXPECTED (cues[3].position == '50') OK
@@ -25,7 +25,7 @@ EXPECTED (cues[3].vertical == 'lr') OK
 EXPECTED (cues.length == '4') OK
 EXPECTED (cues[0].line == '43') OK
 EXPECTED (cues[0].position == '10') OK
-EXPECTED (cues[0].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
 EXPECTED (cues[0].vertical == '') OK
 EXPECTED (cues[1].line == '-1') OK
 EXPECTED (cues[1].position == '50') OK
@@ -33,11 +33,11 @@ EXPECTED (cues[1].align == 'end') OK
 EXPECTED (cues[1].vertical == '') OK
 EXPECTED (cues[2].line == '-1') OK
 EXPECTED (cues[2].position == '50') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 EXPECTED (cues[2].vertical == '') OK
 EXPECTED (cues[3].line == '-1') OK
 EXPECTED (cues[3].position == '90') OK
-EXPECTED (cues[3].align == 'middle') OK
+EXPECTED (cues[3].align == 'center') OK
 EXPECTED (cues[3].vertical == 'lr') OK
 END OF TEST
 
index b4163c2..b362b9c 100644 (file)
@@ -37,7 +37,7 @@
                             },
                             {
                                 property : "align",
-                                values : ["start", "middle", "middle", "end"],
+                                values : ["start", "center", "center", "end"],
                             },
                             {
                                 property : "vertical",
@@ -59,7 +59,7 @@
                             },
                             {
                                 property : "align",
-                                values : ["middle", "end", "middle", "middle"],
+                                values : ["center", "end", "center", "center"],
                             },
                             {
                                 property : "vertical",
@@ -81,4 +81,4 @@
             <track src="captions-webvtt/tc013-settings-bad-separation.vtt" onload="trackLoaded()">
         </video>
     </body>
-</html>
\ No newline at end of file
+</html>
index 009ee55..079b7a3 100644 (file)
@@ -5,22 +5,22 @@ Tests cue alignment from settings.
 *** Testing text track 0
 EXPECTED (cues.length == '4') OK
 EXPECTED (cues[0].align == 'start') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[2].align == 'end') OK
-EXPECTED (cues[3].align == 'middle') OK
+EXPECTED (cues[3].align == 'center') OK
 
 *** Testing text track 1
 EXPECTED (cues.length == '4') OK
 EXPECTED (cues[0].align == 'start') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[2].align == 'end') OK
-EXPECTED (cues[3].align == 'middle') OK
+EXPECTED (cues[3].align == 'center') OK
 
 *** Testing text track 2
 EXPECTED (cues.length == '4') OK
-EXPECTED (cues[0].align == 'middle') OK
-EXPECTED (cues[1].align == 'middle') OK
-EXPECTED (cues[2].align == 'middle') OK
-EXPECTED (cues[3].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
+EXPECTED (cues[1].align == 'center') OK
+EXPECTED (cues[2].align == 'center') OK
+EXPECTED (cues[3].align == 'center') OK
 END OF TEST
 
index 2b4cb4b..0b860bc 100644 (file)
@@ -29,7 +29,7 @@
                     [
                         {
                             property : "align",
-                            values : ["start", "middle", "end", "middle"],
+                            values : ["start", "center", "end", "center"],
                         },
                     ],
                 };
@@ -48,7 +48,7 @@
                     [
                         {
                             property : "align",
-                            values : ["middle", "middle", "middle", "middle"],
+                            values : ["center", "center", "center", "center"],
                         },
                     ],
                 };
@@ -66,4 +66,4 @@
             <track src="captions-webvtt/tc014-alignment-bad.vtt" onload="trackLoaded()">
         </video>
     </body>
-</html>
\ No newline at end of file
+</html>
index b31648c..bb2cd23 100644 (file)
@@ -7,17 +7,17 @@ EXPECTED (cues.length == '3') OK
 EXPECTED (cues[0].position == '10') OK
 EXPECTED (cues[0].align == 'start') OK
 EXPECTED (cues[1].position == '20') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[2].position == '80') OK
 EXPECTED (cues[2].align == 'end') OK
 
 *** Testing text track 1
 EXPECTED (cues.length == '3') OK
 EXPECTED (cues[0].position == '10') OK
-EXPECTED (cues[0].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
 EXPECTED (cues[1].position == '50') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[2].position == '50') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 END OF TEST
 
index 8a9aa3e..7d28e07 100644 (file)
@@ -32,7 +32,7 @@
                         },
                         {
                             property : "align",
-                            values : ["start", "middle", "end"],
+                            values : ["start", "center", "end"],
                         },
                     ],
                 };
@@ -55,7 +55,7 @@
                         },
                         {
                             property : "align",
-                            values : ["middle", "middle", "middle"],
+                            values : ["center", "center", "center"],
                         },
                     ],
                 };
@@ -72,4 +72,4 @@
             <track src="captions-webvtt/tc016-align-positioning-bad.vtt" onload="trackLoaded()">
         </video>
     </body>
-</html>
\ No newline at end of file
+</html>
index 3542e9b..a21c61f 100644 (file)
@@ -12,7 +12,7 @@ EXPECTED (cues[1].align == 'start') OK
 EXPECTED (cues[1].position == '50') OK
 EXPECTED (cues[1].line == '0') OK
 EXPECTED (cues[1].snapToLines == 'true') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 EXPECTED (cues[2].position == '80.3') OK
 EXPECTED (cues[2].line == '80.08') OK
 EXPECTED (cues[2].snapToLines == 'false') OK
@@ -20,14 +20,14 @@ EXPECTED (cues[3].align == 'end') OK
 EXPECTED (cues[3].position == '30') OK
 EXPECTED (cues[3].line == '5') OK
 EXPECTED (cues[3].snapToLines == 'true') OK
-EXPECTED (cues[4].align == 'middle') OK
+EXPECTED (cues[4].align == 'center') OK
 EXPECTED (cues[4].position == '60') OK
 EXPECTED (cues[4].line == '-3') OK
 EXPECTED (cues[4].snapToLines == 'true') OK
 
 *** Testing text track 1
 EXPECTED (cues.length == '3') OK
-EXPECTED (cues[0].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
 EXPECTED (cues[0].position == '50') OK
 EXPECTED (cues[0].line == '-1') OK
 EXPECTED (cues[0].snapToLines == 'true') OK
@@ -35,7 +35,7 @@ EXPECTED (cues[1].align == 'end') OK
 EXPECTED (cues[1].position == '0') OK
 EXPECTED (cues[1].line == '-1') OK
 EXPECTED (cues[1].snapToLines == 'true') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 EXPECTED (cues[2].position == '60') OK
 EXPECTED (cues[2].line == '-3') OK
 EXPECTED (cues[2].snapToLines == 'true') OK
index 3e921b1..078fff0 100644 (file)
@@ -29,7 +29,7 @@
                     [
                         {
                             property : "align",
-                            values : ["start", "start", "middle", "end", "middle"],
+                            values : ["start", "start", "center", "end", "center"],
                         },
                         {
                             property : "position",
@@ -62,7 +62,7 @@
                     [
                         {
                             property : "align",
-                            values : ["middle", "end", "middle"],
+                            values : ["center", "end", "center"],
                         },
                         {
                             property : "position",
@@ -91,4 +91,4 @@
             <track src="captions-webvtt/tc018-align-text-line-position-bad.vtt" onload="trackLoaded()">
         </video>
     </body>
-</html>
\ No newline at end of file
+</html>
index 175f948..5e9f487 100644 (file)
@@ -9,15 +9,15 @@ EXPECTED (cues[0].align == 'start') OK
 EXPECTED (cues[1].size == '10') OK
 EXPECTED (cues[1].align == 'end') OK
 EXPECTED (cues[2].size == '0') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 
 *** Testing text track 1
 EXPECTED (cues.length == '3') OK
 EXPECTED (cues[0].size == '100') OK
-EXPECTED (cues[0].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
 EXPECTED (cues[1].size == '100') OK
 EXPECTED (cues[1].align == 'end') OK
 EXPECTED (cues[2].size == '100') OK
-EXPECTED (cues[2].align == 'middle') OK
+EXPECTED (cues[2].align == 'center') OK
 END OF TEST
 
index 5eb3d7f..98e6088 100644 (file)
@@ -32,7 +32,7 @@
                         },
                         {
                             property : "align",
-                            values : ["start", "end", "middle"],
+                            values : ["start", "end", "center"],
                         },
                     ],
                 };
@@ -55,7 +55,7 @@
                         },
                         {
                             property : "align",
-                            values : ["middle", "end", "middle"],
+                            values : ["center", "end", "center"],
                         },
                     ],
                 };
@@ -72,4 +72,4 @@
             <track src="captions-webvtt/tc020-cue-size-align-bad.vtt" onload="trackLoaded()">
         </video>
     </body>
-</html>
\ No newline at end of file
+</html>
index 1fae7aa..7c9397b 100644 (file)
@@ -5,10 +5,10 @@ Tests cue vertical alignment (direction) from settings.
 *** Testing text track 0
 EXPECTED (cues.length == '3') OK
 EXPECTED (cues[0].vertical == 'rl') OK
-EXPECTED (cues[0].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
 EXPECTED (cues[0].position == '50') OK
 EXPECTED (cues[1].vertical == 'lr') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[1].position == '50') OK
 EXPECTED (cues[2].vertical == 'rl') OK
 EXPECTED (cues[2].align == 'start') OK
@@ -17,10 +17,10 @@ EXPECTED (cues[2].position == '0') OK
 *** Testing text track 1
 EXPECTED (cues.length == '3') OK
 EXPECTED (cues[0].vertical == 'rl') OK
-EXPECTED (cues[0].align == 'middle') OK
+EXPECTED (cues[0].align == 'center') OK
 EXPECTED (cues[0].position == '50') OK
 EXPECTED (cues[1].vertical == 'lr') OK
-EXPECTED (cues[1].align == 'middle') OK
+EXPECTED (cues[1].align == 'center') OK
 EXPECTED (cues[1].position == '50') OK
 EXPECTED (cues[2].vertical == 'rl') OK
 EXPECTED (cues[2].align == 'start') OK
index 523f813..461fedd 100644 (file)
@@ -33,7 +33,7 @@
                         },
                         {
                             property : "align",
-                            values : ["middle", "middle", "start"],
+                            values : ["center", "center", "start"],
                         },
                         {
                             property : "position",
@@ -74,4 +74,4 @@
             <track src="captions-webvtt/tc021-valign-bad.vtt" onload="trackLoaded()">
         </video>
     </body>
-</html>
\ No newline at end of file
+</html>
index f19d6f7..c2f73bf 100644 (file)
@@ -1,3 +1,26 @@
+2018-09-18  Per Arne Vollan  <pvollan@apple.com>
+
+        [WebVTT] change "middle" to "center" for consistency with CSS
+        https://bugs.webkit.org/show_bug.cgi?id=158478
+
+        Reviewed by Eric Carlson.
+
+        No new tests, covered by existing tests.
+
+        * html/track/TextTrackCueGeneric.cpp:
+        (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
+        * html/track/VTTCue.cpp:
+        (WebCore::centerKeyword):
+        (WebCore::VTTCue::initialize):
+        (WebCore::VTTCue::align const):
+        (WebCore::VTTCue::setAlign):
+        (WebCore::VTTCue::calculateDisplayParameters):
+        (WebCore::VTTCue::setCueSettings):
+        (WebCore::middleKeyword): Deleted.
+        * html/track/VTTCue.h:
+        * html/track/WebVTTParser.cpp:
+        (WebCore::WebVTTTreeBuilder::buildFromString):
+
 2018-09-18  Chris Dumez  <cdumez@apple.com>
 
         "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
index 95a3419..4344474 100644 (file)
@@ -132,7 +132,7 @@ void TextTrackCueGenericBoxElement::applyCSSProperties(const IntSize& videoSize)
     if (cue->baseFontSizeRelativeToVideoHeight())
         cue->setFontSize(cue->baseFontSizeRelativeToVideoHeight(), videoSize, false);
 
-    if (cue->getAlignment() == VTTCue::Middle)
+    if (cue->getAlignment() == VTTCue::Center)
         setInlineStyleProperty(CSSPropertyTextAlign, CSSValueCenter);
     else if (cue->getAlignment() == VTTCue::End)
         setInlineStyleProperty(CSSPropertyTextAlign, CSSValueEnd);
index 191074c..e363e49 100644 (file)
@@ -80,10 +80,10 @@ static const String& startKeyword()
     return start;
 }
 
-static const String& middleKeyword()
+static const String& centerKeyword()
 {
-    static NeverDestroyed<const String> middle(MAKE_STATIC_STRING_IMPL("middle"));
-    return middle;
+    static NeverDestroyed<const String> center(MAKE_STATIC_STRING_IMPL("center"));
+    return center;
 }
 
 static const String& endKeyword()
@@ -288,7 +288,7 @@ void VTTCue::initialize(ScriptExecutionContext& context)
     m_textPosition = 50;
     m_cueSize = 100;
     m_writingDirection = Horizontal;
-    m_cueAlignment = Middle;
+    m_cueAlignment = Center;
     m_webVTTNodeTree = nullptr;
     m_cueBackdropBox = HTMLDivElement::create(downcast<Document>(context));
     m_cueHighlightBox = HTMLSpanElement::create(spanTag, downcast<Document>(context));
@@ -434,8 +434,8 @@ const String& VTTCue::align() const
     switch (m_cueAlignment) {
     case Start:
         return startKeyword();
-    case Middle:
-        return middleKeyword();
+    case Center:
+        return centerKeyword();
     case End:
         return endKeyword();
     case Left:
@@ -459,8 +459,8 @@ ExceptionOr<void> VTTCue::setAlign(const String& value)
     CueAlignment alignment;
     if (value == startKeyword())
         alignment = Start;
-    else if (value == middleKeyword())
-        alignment = Middle;
+    else if (value == centerKeyword())
+        alignment = Center;
     else if (value == endKeyword())
         alignment = End;
     else if (value == leftKeyword())
@@ -680,7 +680,7 @@ void VTTCue::calculateDisplayParameters()
         || (m_writingDirection == VerticalGrowingLeft && (m_cueAlignment == End || m_cueAlignment == Right))
         || (m_writingDirection == VerticalGrowingRight && (m_cueAlignment == End || m_cueAlignment == Right))) {
         maximumSize = m_textPosition;
-    } else if (m_cueAlignment == Middle) {
+    } else if (m_cueAlignment == Center) {
         maximumSize = m_textPosition <= 50 ? m_textPosition : (100 - m_textPosition);
         maximumSize = maximumSize * 2;
     } else
@@ -721,7 +721,7 @@ void VTTCue::calculateDisplayParameters()
             else
                 m_displayPosition.first = 100 - m_textPosition - m_displaySize;
             break;
-        case Middle:
+        case Center:
             if (m_displayDirection == CSSValueLtr)
                 m_displayPosition.first = m_textPosition - m_displaySize / 2;
             else
@@ -1051,9 +1051,9 @@ void VTTCue::setCueSettings(const String& inputString)
             if (input.scanRun(valueRun, startKeyword()))
                 m_cueAlignment = Start;
 
-            // 2. If value is a case-sensitive match for the string "middle", then let cue's text track cue alignment be middle alignment.
-            else if (input.scanRun(valueRun, middleKeyword()))
-                m_cueAlignment = Middle;
+            // 2. If value is a case-sensitive match for the string "center", then let cue's text track cue alignment be center alignment.
+            else if (input.scanRun(valueRun, centerKeyword()))
+                m_cueAlignment = Center;
 
             // 3. If value is a case-sensitive match for the string "end", then let cue's text track cue alignment be end alignment.
             else if (input.scanRun(valueRun, endKeyword()))
index 88d4611..91bbf15 100644 (file)
@@ -149,7 +149,7 @@ public:
 
     enum CueAlignment {
         Start = 0,
-        Middle,
+        Center,
         End,
         Left,
         Right,