diff --git a/lib/text/cue.js b/lib/text/cue.js index 678bfd66ee..2c747dcbba 100644 --- a/lib/text/cue.js +++ b/lib/text/cue.js @@ -232,6 +232,17 @@ shaka.text.Cue = class { }; } + /** + * @param {number} start + * @param {number} end + * @return {!shaka.text.Cue} + */ + static lineBreak(start, end) { + const cue = new shaka.text.Cue(start, end, ''); + cue.lineBreak = true; + return cue; + } + /** * Create a copy of the cue with the same properties. * @return {!shaka.text.Cue} diff --git a/lib/text/ui_text_displayer.js b/lib/text/ui_text_displayer.js index cea9a84945..12380e2d00 100644 --- a/lib/text/ui_text_displayer.js +++ b/lib/text/ui_text_displayer.js @@ -259,13 +259,22 @@ shaka.text.UITextDisplayer = class { // Nested cues are inline elements. Top-level cues are block elements. const cueElement = shaka.util.Dom.createHTMLElement(type); - if (type != 'br') { this.setCaptionStyles_(cueElement, cue, isNested); + } - for (const nestedCue of cue.nestedCues) { - this.displayCue_(cueElement, nestedCue, /* isNested= */ true); - } + let wrapper = cueElement; + if (!isNested && cue.nestedCues.length) { + // Create a wrapper element which will serve to contain all children into + // a single item. This ensures that nested span elements appear + // horizontally and br elements occupy no vertical space. + wrapper = shaka.util.Dom.createHTMLElement('span'); + wrapper.classList.add('shaka-text-wrapper'); + cueElement.appendChild(wrapper); + } + + for (const nestedCue of cue.nestedCues) { + this.displayCue_(wrapper, nestedCue, /* isNested= */ true); } container.appendChild(cueElement); @@ -338,12 +347,20 @@ shaka.text.UITextDisplayer = class { // The displayAlign attribute specifies the vertical alignment of the // captions inside the text container. Before means at the top of the // text container, and after means at the bottom. - if (cue.displayAlign == Cue.displayAlign.BEFORE) { - style.verticalAlign = 'top'; - } else if (cue.displayAlign == Cue.displayAlign.CENTER) { - style.verticalAlign = 'middle'; + if (isNested) { + style.display = 'inline'; } else { - style.verticalAlign = 'bottom'; + style.display = 'flex'; + style.flexDirection = 'column'; + style.alignItems = 'center'; + + if (cue.displayAlign == Cue.displayAlign.BEFORE) { + style.justifyContent = 'flex-start'; + } else if (cue.displayAlign == Cue.displayAlign.CENTER) { + style.justifyContent = 'center'; + } else { + style.justifyContent = 'flex-end'; + } } if (!isLeaf) { diff --git a/test/test/assets/screenshots/chrome-Android/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Android/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..d55f98fce6 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Android/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Android/native-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Android/native-region-with-display-alignment.png new file mode 100644 index 0000000000..b993bb2ca4 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Android/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-basic-cue.png b/test/test/assets/screenshots/chrome-Android/ui-basic-cue.png index a47a29d694..1dcd80cb21 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-basic-cue.png and b/test/test/assets/screenshots/chrome-Android/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-cue-with-controls.png b/test/test/assets/screenshots/chrome-Android/ui-cue-with-controls.png index c6cca4ec5b..f7ebc29c74 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-cue-with-controls.png and b/test/test/assets/screenshots/chrome-Android/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-cue-with-newline.png b/test/test/assets/screenshots/chrome-Android/ui-cue-with-newline.png index 01ce5e3608..907ed3dd04 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-cue-with-newline.png and b/test/test/assets/screenshots/chrome-Android/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-duplicate-cues.png b/test/test/assets/screenshots/chrome-Android/ui-duplicate-cues.png index a47a29d694..1dcd80cb21 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-duplicate-cues.png and b/test/test/assets/screenshots/chrome-Android/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-end-time-edge-case.png b/test/test/assets/screenshots/chrome-Android/ui-end-time-edge-case.png index 66b2f5482f..42d35ed9c8 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-end-time-edge-case.png and b/test/test/assets/screenshots/chrome-Android/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-flat-cue-bg.png b/test/test/assets/screenshots/chrome-Android/ui-flat-cue-bg.png index 6cf01767b2..bbb0319589 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-flat-cue-bg.png and b/test/test/assets/screenshots/chrome-Android/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Android/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..01ce5e3608 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Android/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-region-position.png b/test/test/assets/screenshots/chrome-Android/ui-region-position.png index 50c2b9d349..8b6e31beda 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-region-position.png and b/test/test/assets/screenshots/chrome-Android/ui-region-position.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Android/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..c67ee39fbc Binary files /dev/null and b/test/test/assets/screenshots/chrome-Android/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Android/ui-two-basic-cues.png b/test/test/assets/screenshots/chrome-Android/ui-two-basic-cues.png index 8c08e00235..137b4d6264 100644 Binary files a/test/test/assets/screenshots/chrome-Android/ui-two-basic-cues.png and b/test/test/assets/screenshots/chrome-Android/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Linux/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..5528df2ddf Binary files /dev/null and b/test/test/assets/screenshots/chrome-Linux/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/native-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Linux/native-region-with-display-alignment.png new file mode 100644 index 0000000000..f1f6e3f270 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Linux/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-basic-cue.png b/test/test/assets/screenshots/chrome-Linux/ui-basic-cue.png index 17bf2bbbe2..7403d7db78 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-basic-cue.png and b/test/test/assets/screenshots/chrome-Linux/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-cue-with-controls.png b/test/test/assets/screenshots/chrome-Linux/ui-cue-with-controls.png index 8a4f5760e1..30c7c6a08a 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-cue-with-controls.png and b/test/test/assets/screenshots/chrome-Linux/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-cue-with-newline.png b/test/test/assets/screenshots/chrome-Linux/ui-cue-with-newline.png index c369595064..446fb5ffe5 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-cue-with-newline.png and b/test/test/assets/screenshots/chrome-Linux/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-duplicate-cues.png b/test/test/assets/screenshots/chrome-Linux/ui-duplicate-cues.png index 17bf2bbbe2..7403d7db78 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-duplicate-cues.png and b/test/test/assets/screenshots/chrome-Linux/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-end-time-edge-case.png b/test/test/assets/screenshots/chrome-Linux/ui-end-time-edge-case.png index deaef2a6e4..f47f4f5408 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-end-time-edge-case.png and b/test/test/assets/screenshots/chrome-Linux/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-flat-cue-bg.png b/test/test/assets/screenshots/chrome-Linux/ui-flat-cue-bg.png index 53f908af3f..5479f2d400 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-flat-cue-bg.png and b/test/test/assets/screenshots/chrome-Linux/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Linux/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..c369595064 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Linux/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-region-position.png b/test/test/assets/screenshots/chrome-Linux/ui-region-position.png index 07d9b7902b..446bc18cb5 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-region-position.png and b/test/test/assets/screenshots/chrome-Linux/ui-region-position.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Linux/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..fe5a9261d7 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Linux/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Linux/ui-two-basic-cues.png b/test/test/assets/screenshots/chrome-Linux/ui-two-basic-cues.png index c369595064..596d8196a1 100644 Binary files a/test/test/assets/screenshots/chrome-Linux/ui-two-basic-cues.png and b/test/test/assets/screenshots/chrome-Linux/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Mac/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..9b0c9e72a3 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Mac/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/native-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Mac/native-region-with-display-alignment.png new file mode 100644 index 0000000000..352444d504 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Mac/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-basic-cue.png b/test/test/assets/screenshots/chrome-Mac/ui-basic-cue.png index 537ed0e60d..76fdd8342b 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-basic-cue.png and b/test/test/assets/screenshots/chrome-Mac/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-cue-with-controls.png b/test/test/assets/screenshots/chrome-Mac/ui-cue-with-controls.png index 1e9f66bc8a..ebdb6bfcc4 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-cue-with-controls.png and b/test/test/assets/screenshots/chrome-Mac/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-cue-with-newline.png b/test/test/assets/screenshots/chrome-Mac/ui-cue-with-newline.png index bad8e20ad8..195855b69d 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-cue-with-newline.png and b/test/test/assets/screenshots/chrome-Mac/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-duplicate-cues.png b/test/test/assets/screenshots/chrome-Mac/ui-duplicate-cues.png index 537ed0e60d..76fdd8342b 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-duplicate-cues.png and b/test/test/assets/screenshots/chrome-Mac/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-end-time-edge-case.png b/test/test/assets/screenshots/chrome-Mac/ui-end-time-edge-case.png index dd18ddfafc..18334a1d60 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-end-time-edge-case.png and b/test/test/assets/screenshots/chrome-Mac/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-flat-cue-bg.png b/test/test/assets/screenshots/chrome-Mac/ui-flat-cue-bg.png index b8dd687aa1..f47286f424 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-flat-cue-bg.png and b/test/test/assets/screenshots/chrome-Mac/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Mac/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..bad8e20ad8 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Mac/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-region-position.png b/test/test/assets/screenshots/chrome-Mac/ui-region-position.png index bdaed2edbe..c9db528838 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-region-position.png and b/test/test/assets/screenshots/chrome-Mac/ui-region-position.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Mac/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..143b6f40e7 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Mac/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Mac/ui-two-basic-cues.png b/test/test/assets/screenshots/chrome-Mac/ui-two-basic-cues.png index bad8e20ad8..9dbf94c73f 100644 Binary files a/test/test/assets/screenshots/chrome-Mac/ui-two-basic-cues.png and b/test/test/assets/screenshots/chrome-Mac/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Windows/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..b34f54934f Binary files /dev/null and b/test/test/assets/screenshots/chrome-Windows/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/native-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Windows/native-region-with-display-alignment.png new file mode 100644 index 0000000000..4daeec8284 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Windows/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-basic-cue.png b/test/test/assets/screenshots/chrome-Windows/ui-basic-cue.png index 1b2707b21e..8b7d5c2e5c 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-basic-cue.png and b/test/test/assets/screenshots/chrome-Windows/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-cue-with-controls.png b/test/test/assets/screenshots/chrome-Windows/ui-cue-with-controls.png index 9a751c770c..80e233bf21 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-cue-with-controls.png and b/test/test/assets/screenshots/chrome-Windows/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-cue-with-newline.png b/test/test/assets/screenshots/chrome-Windows/ui-cue-with-newline.png index d42dc2177c..41d941d4a3 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-cue-with-newline.png and b/test/test/assets/screenshots/chrome-Windows/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-duplicate-cues.png b/test/test/assets/screenshots/chrome-Windows/ui-duplicate-cues.png index 1b2707b21e..8b7d5c2e5c 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-duplicate-cues.png and b/test/test/assets/screenshots/chrome-Windows/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-end-time-edge-case.png b/test/test/assets/screenshots/chrome-Windows/ui-end-time-edge-case.png index 23cc952895..db944c907c 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-end-time-edge-case.png and b/test/test/assets/screenshots/chrome-Windows/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-flat-cue-bg.png b/test/test/assets/screenshots/chrome-Windows/ui-flat-cue-bg.png index 6e140a97f9..cda2efe5a0 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-flat-cue-bg.png and b/test/test/assets/screenshots/chrome-Windows/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/chrome-Windows/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..d42dc2177c Binary files /dev/null and b/test/test/assets/screenshots/chrome-Windows/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-region-position.png b/test/test/assets/screenshots/chrome-Windows/ui-region-position.png index c9a8a3da4d..66f8df86ef 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-region-position.png and b/test/test/assets/screenshots/chrome-Windows/ui-region-position.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-region-with-display-alignment.png b/test/test/assets/screenshots/chrome-Windows/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..29bc3b25c2 Binary files /dev/null and b/test/test/assets/screenshots/chrome-Windows/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/chrome-Windows/ui-two-basic-cues.png b/test/test/assets/screenshots/chrome-Windows/ui-two-basic-cues.png index 338f5aae1b..b1d97cd52d 100644 Binary files a/test/test/assets/screenshots/chrome-Windows/ui-two-basic-cues.png and b/test/test/assets/screenshots/chrome-Windows/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/firefox-Linux/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..3c85c4893c Binary files /dev/null and b/test/test/assets/screenshots/firefox-Linux/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/native-region-with-display-alignment.png b/test/test/assets/screenshots/firefox-Linux/native-region-with-display-alignment.png new file mode 100644 index 0000000000..4421edadb8 Binary files /dev/null and b/test/test/assets/screenshots/firefox-Linux/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-basic-cue.png b/test/test/assets/screenshots/firefox-Linux/ui-basic-cue.png index fc82f7cb07..cf4d5a3768 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-basic-cue.png and b/test/test/assets/screenshots/firefox-Linux/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-cue-with-controls.png b/test/test/assets/screenshots/firefox-Linux/ui-cue-with-controls.png index 05f24993f8..609957c6cf 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-cue-with-controls.png and b/test/test/assets/screenshots/firefox-Linux/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-cue-with-newline.png b/test/test/assets/screenshots/firefox-Linux/ui-cue-with-newline.png index 2fe6cbfc3b..7717d80e77 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-cue-with-newline.png and b/test/test/assets/screenshots/firefox-Linux/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-duplicate-cues.png b/test/test/assets/screenshots/firefox-Linux/ui-duplicate-cues.png index fc82f7cb07..cf4d5a3768 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-duplicate-cues.png and b/test/test/assets/screenshots/firefox-Linux/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-end-time-edge-case.png b/test/test/assets/screenshots/firefox-Linux/ui-end-time-edge-case.png index e78b5648ba..63f9736299 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-end-time-edge-case.png and b/test/test/assets/screenshots/firefox-Linux/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-flat-cue-bg.png b/test/test/assets/screenshots/firefox-Linux/ui-flat-cue-bg.png index fdc2636988..e0bb1864e5 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-flat-cue-bg.png and b/test/test/assets/screenshots/firefox-Linux/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/firefox-Linux/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..2fe6cbfc3b Binary files /dev/null and b/test/test/assets/screenshots/firefox-Linux/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-region-position.png b/test/test/assets/screenshots/firefox-Linux/ui-region-position.png index 739a079543..9ba0a4134a 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-region-position.png and b/test/test/assets/screenshots/firefox-Linux/ui-region-position.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-region-with-display-alignment.png b/test/test/assets/screenshots/firefox-Linux/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..2f8dff0050 Binary files /dev/null and b/test/test/assets/screenshots/firefox-Linux/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/firefox-Linux/ui-two-basic-cues.png b/test/test/assets/screenshots/firefox-Linux/ui-two-basic-cues.png index 2fe6cbfc3b..dafa3be262 100644 Binary files a/test/test/assets/screenshots/firefox-Linux/ui-two-basic-cues.png and b/test/test/assets/screenshots/firefox-Linux/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/firefox-Mac/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..ecba45a632 Binary files /dev/null and b/test/test/assets/screenshots/firefox-Mac/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/native-region-with-display-alignment.png b/test/test/assets/screenshots/firefox-Mac/native-region-with-display-alignment.png new file mode 100644 index 0000000000..a56be39aee Binary files /dev/null and b/test/test/assets/screenshots/firefox-Mac/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-basic-cue.png b/test/test/assets/screenshots/firefox-Mac/ui-basic-cue.png index 4ce4926a8f..c6b7fc111d 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-basic-cue.png and b/test/test/assets/screenshots/firefox-Mac/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-cue-with-controls.png b/test/test/assets/screenshots/firefox-Mac/ui-cue-with-controls.png index a3bf17ffe2..4eabbc0913 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-cue-with-controls.png and b/test/test/assets/screenshots/firefox-Mac/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-cue-with-newline.png b/test/test/assets/screenshots/firefox-Mac/ui-cue-with-newline.png index a803a5f207..048e3e41e2 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-cue-with-newline.png and b/test/test/assets/screenshots/firefox-Mac/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-duplicate-cues.png b/test/test/assets/screenshots/firefox-Mac/ui-duplicate-cues.png index 4ce4926a8f..c6b7fc111d 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-duplicate-cues.png and b/test/test/assets/screenshots/firefox-Mac/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-end-time-edge-case.png b/test/test/assets/screenshots/firefox-Mac/ui-end-time-edge-case.png index 5680500609..7d6e0116c3 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-end-time-edge-case.png and b/test/test/assets/screenshots/firefox-Mac/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-flat-cue-bg.png b/test/test/assets/screenshots/firefox-Mac/ui-flat-cue-bg.png index 14f5d2a4ce..6425c9085e 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-flat-cue-bg.png and b/test/test/assets/screenshots/firefox-Mac/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/firefox-Mac/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..2867128b17 Binary files /dev/null and b/test/test/assets/screenshots/firefox-Mac/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-region-position.png b/test/test/assets/screenshots/firefox-Mac/ui-region-position.png index 9b2ecb3aab..c79ff78a13 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-region-position.png and b/test/test/assets/screenshots/firefox-Mac/ui-region-position.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-region-with-display-alignment.png b/test/test/assets/screenshots/firefox-Mac/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..e1acc622fc Binary files /dev/null and b/test/test/assets/screenshots/firefox-Mac/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/firefox-Mac/ui-two-basic-cues.png b/test/test/assets/screenshots/firefox-Mac/ui-two-basic-cues.png index a803a5f207..e2e1ce7f0b 100644 Binary files a/test/test/assets/screenshots/firefox-Mac/ui-two-basic-cues.png and b/test/test/assets/screenshots/firefox-Mac/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/firefox-Windows/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..1cb2a299bf Binary files /dev/null and b/test/test/assets/screenshots/firefox-Windows/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/native-region-with-display-alignment.png b/test/test/assets/screenshots/firefox-Windows/native-region-with-display-alignment.png new file mode 100644 index 0000000000..852beb99a7 Binary files /dev/null and b/test/test/assets/screenshots/firefox-Windows/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-basic-cue.png b/test/test/assets/screenshots/firefox-Windows/ui-basic-cue.png index 67107ed9c9..478c07e8f8 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-basic-cue.png and b/test/test/assets/screenshots/firefox-Windows/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-cue-with-controls.png b/test/test/assets/screenshots/firefox-Windows/ui-cue-with-controls.png index be563cc32e..7b7f093105 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-cue-with-controls.png and b/test/test/assets/screenshots/firefox-Windows/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-cue-with-newline.png b/test/test/assets/screenshots/firefox-Windows/ui-cue-with-newline.png index 5185a75a6b..04e17bb667 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-cue-with-newline.png and b/test/test/assets/screenshots/firefox-Windows/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-duplicate-cues.png b/test/test/assets/screenshots/firefox-Windows/ui-duplicate-cues.png index 67107ed9c9..478c07e8f8 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-duplicate-cues.png and b/test/test/assets/screenshots/firefox-Windows/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-end-time-edge-case.png b/test/test/assets/screenshots/firefox-Windows/ui-end-time-edge-case.png index 0ac4f47c25..81b6c717e9 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-end-time-edge-case.png and b/test/test/assets/screenshots/firefox-Windows/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-flat-cue-bg.png b/test/test/assets/screenshots/firefox-Windows/ui-flat-cue-bg.png index 1c92d8161b..40ca7455b7 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-flat-cue-bg.png and b/test/test/assets/screenshots/firefox-Windows/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/firefox-Windows/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..9ed8c29cd1 Binary files /dev/null and b/test/test/assets/screenshots/firefox-Windows/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-region-position.png b/test/test/assets/screenshots/firefox-Windows/ui-region-position.png index e5b4570d54..cc8a097d9b 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-region-position.png and b/test/test/assets/screenshots/firefox-Windows/ui-region-position.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-region-with-display-alignment.png b/test/test/assets/screenshots/firefox-Windows/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..03fa6c59ea Binary files /dev/null and b/test/test/assets/screenshots/firefox-Windows/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/firefox-Windows/ui-two-basic-cues.png b/test/test/assets/screenshots/firefox-Windows/ui-two-basic-cues.png index 5185a75a6b..9c4fa0f338 100644 Binary files a/test/test/assets/screenshots/firefox-Windows/ui-two-basic-cues.png and b/test/test/assets/screenshots/firefox-Windows/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/msedge-Windows/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..b34f54934f Binary files /dev/null and b/test/test/assets/screenshots/msedge-Windows/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/native-region-with-display-alignment.png b/test/test/assets/screenshots/msedge-Windows/native-region-with-display-alignment.png new file mode 100644 index 0000000000..4daeec8284 Binary files /dev/null and b/test/test/assets/screenshots/msedge-Windows/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-basic-cue.png b/test/test/assets/screenshots/msedge-Windows/ui-basic-cue.png index 1b2707b21e..8b7d5c2e5c 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-basic-cue.png and b/test/test/assets/screenshots/msedge-Windows/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-cue-with-controls.png b/test/test/assets/screenshots/msedge-Windows/ui-cue-with-controls.png index 9a751c770c..80e233bf21 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-cue-with-controls.png and b/test/test/assets/screenshots/msedge-Windows/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-cue-with-newline.png b/test/test/assets/screenshots/msedge-Windows/ui-cue-with-newline.png index d42dc2177c..41d941d4a3 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-cue-with-newline.png and b/test/test/assets/screenshots/msedge-Windows/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-duplicate-cues.png b/test/test/assets/screenshots/msedge-Windows/ui-duplicate-cues.png index 1b2707b21e..8b7d5c2e5c 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-duplicate-cues.png and b/test/test/assets/screenshots/msedge-Windows/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-end-time-edge-case.png b/test/test/assets/screenshots/msedge-Windows/ui-end-time-edge-case.png index 23cc952895..db944c907c 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-end-time-edge-case.png and b/test/test/assets/screenshots/msedge-Windows/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-flat-cue-bg.png b/test/test/assets/screenshots/msedge-Windows/ui-flat-cue-bg.png index 6e140a97f9..cda2efe5a0 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-flat-cue-bg.png and b/test/test/assets/screenshots/msedge-Windows/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/msedge-Windows/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..d42dc2177c Binary files /dev/null and b/test/test/assets/screenshots/msedge-Windows/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-region-position.png b/test/test/assets/screenshots/msedge-Windows/ui-region-position.png index c9a8a3da4d..66f8df86ef 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-region-position.png and b/test/test/assets/screenshots/msedge-Windows/ui-region-position.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-region-with-display-alignment.png b/test/test/assets/screenshots/msedge-Windows/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..29bc3b25c2 Binary files /dev/null and b/test/test/assets/screenshots/msedge-Windows/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/msedge-Windows/ui-two-basic-cues.png b/test/test/assets/screenshots/msedge-Windows/ui-two-basic-cues.png index 338f5aae1b..b1d97cd52d 100644 Binary files a/test/test/assets/screenshots/msedge-Windows/ui-two-basic-cues.png and b/test/test/assets/screenshots/msedge-Windows/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/review.html b/test/test/assets/screenshots/review.html index 6041cdac6e..4f0acde77c 100644 --- a/test/test/assets/screenshots/review.html +++ b/test/test/assets/screenshots/review.html @@ -45,6 +45,7 @@ 'two-basic-cues', 'duplicate-cues', 'two-nested-cues', + 'nested-cues-with-linebreak', 'region-position', 'cue-with-controls', 'bitmap-cue', @@ -52,6 +53,7 @@ 'flat-cue-bg', 'deeply-nested-cues', 'end-time-edge-case', + 'region-with-display-alignment', ]; const prefixes = [ diff --git a/test/test/assets/screenshots/safari-Mac/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/safari-Mac/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..b91a96df46 Binary files /dev/null and b/test/test/assets/screenshots/safari-Mac/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/safari-Mac/native-region-with-display-alignment.png b/test/test/assets/screenshots/safari-Mac/native-region-with-display-alignment.png new file mode 100644 index 0000000000..e55ce064b1 Binary files /dev/null and b/test/test/assets/screenshots/safari-Mac/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-basic-cue.png b/test/test/assets/screenshots/safari-Mac/ui-basic-cue.png index f48f1ef981..ba46c9cbf3 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-basic-cue.png and b/test/test/assets/screenshots/safari-Mac/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-cue-with-controls.png b/test/test/assets/screenshots/safari-Mac/ui-cue-with-controls.png index d849792f01..7a6abfa96e 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-cue-with-controls.png and b/test/test/assets/screenshots/safari-Mac/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-cue-with-newline.png b/test/test/assets/screenshots/safari-Mac/ui-cue-with-newline.png index 63728b96c2..26a46b3dff 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-cue-with-newline.png and b/test/test/assets/screenshots/safari-Mac/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-duplicate-cues.png b/test/test/assets/screenshots/safari-Mac/ui-duplicate-cues.png index f48f1ef981..ba46c9cbf3 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-duplicate-cues.png and b/test/test/assets/screenshots/safari-Mac/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-end-time-edge-case.png b/test/test/assets/screenshots/safari-Mac/ui-end-time-edge-case.png index 2564587404..6d78eb8df6 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-end-time-edge-case.png and b/test/test/assets/screenshots/safari-Mac/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-flat-cue-bg.png b/test/test/assets/screenshots/safari-Mac/ui-flat-cue-bg.png index 7eb8d9d56a..79cb4bb4b7 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-flat-cue-bg.png and b/test/test/assets/screenshots/safari-Mac/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/safari-Mac/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..63728b96c2 Binary files /dev/null and b/test/test/assets/screenshots/safari-Mac/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-region-position.png b/test/test/assets/screenshots/safari-Mac/ui-region-position.png index f763a1fc23..aabf89323d 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-region-position.png and b/test/test/assets/screenshots/safari-Mac/ui-region-position.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-region-with-display-alignment.png b/test/test/assets/screenshots/safari-Mac/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..512661c7f1 Binary files /dev/null and b/test/test/assets/screenshots/safari-Mac/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/safari-Mac/ui-two-basic-cues.png b/test/test/assets/screenshots/safari-Mac/ui-two-basic-cues.png index 63728b96c2..aa8b5aac39 100644 Binary files a/test/test/assets/screenshots/safari-Mac/ui-two-basic-cues.png and b/test/test/assets/screenshots/safari-Mac/ui-two-basic-cues.png differ diff --git a/test/test/assets/screenshots/xboxone/native-nested-cues-with-linebreak.png b/test/test/assets/screenshots/xboxone/native-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..e1e934c8e6 Binary files /dev/null and b/test/test/assets/screenshots/xboxone/native-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/xboxone/native-region-with-display-alignment.png b/test/test/assets/screenshots/xboxone/native-region-with-display-alignment.png new file mode 100644 index 0000000000..eb8accea7f Binary files /dev/null and b/test/test/assets/screenshots/xboxone/native-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-basic-cue.png b/test/test/assets/screenshots/xboxone/ui-basic-cue.png index beb5e23ce9..26c8d0b9cc 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-basic-cue.png and b/test/test/assets/screenshots/xboxone/ui-basic-cue.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-cue-with-controls.png b/test/test/assets/screenshots/xboxone/ui-cue-with-controls.png index 8cbfe70944..303f54ac1b 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-cue-with-controls.png and b/test/test/assets/screenshots/xboxone/ui-cue-with-controls.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-cue-with-newline.png b/test/test/assets/screenshots/xboxone/ui-cue-with-newline.png index 7a75204915..99ae143b8d 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-cue-with-newline.png and b/test/test/assets/screenshots/xboxone/ui-cue-with-newline.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-duplicate-cues.png b/test/test/assets/screenshots/xboxone/ui-duplicate-cues.png index beb5e23ce9..26c8d0b9cc 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-duplicate-cues.png and b/test/test/assets/screenshots/xboxone/ui-duplicate-cues.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-end-time-edge-case.png b/test/test/assets/screenshots/xboxone/ui-end-time-edge-case.png index a898146e02..3e24d728a5 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-end-time-edge-case.png and b/test/test/assets/screenshots/xboxone/ui-end-time-edge-case.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-flat-cue-bg.png b/test/test/assets/screenshots/xboxone/ui-flat-cue-bg.png index 86967cc8a8..f3a56fd580 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-flat-cue-bg.png and b/test/test/assets/screenshots/xboxone/ui-flat-cue-bg.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-nested-cues-with-linebreak.png b/test/test/assets/screenshots/xboxone/ui-nested-cues-with-linebreak.png new file mode 100644 index 0000000000..7a75204915 Binary files /dev/null and b/test/test/assets/screenshots/xboxone/ui-nested-cues-with-linebreak.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-region-position.png b/test/test/assets/screenshots/xboxone/ui-region-position.png index 2537ea5589..2c344d0455 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-region-position.png and b/test/test/assets/screenshots/xboxone/ui-region-position.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-region-with-display-alignment.png b/test/test/assets/screenshots/xboxone/ui-region-with-display-alignment.png new file mode 100644 index 0000000000..fd7d487bd5 Binary files /dev/null and b/test/test/assets/screenshots/xboxone/ui-region-with-display-alignment.png differ diff --git a/test/test/assets/screenshots/xboxone/ui-two-basic-cues.png b/test/test/assets/screenshots/xboxone/ui-two-basic-cues.png index 7a75204915..2dcda53e52 100644 Binary files a/test/test/assets/screenshots/xboxone/ui-two-basic-cues.png and b/test/test/assets/screenshots/xboxone/ui-two-basic-cues.png differ diff --git a/test/text/ui_text_displayer_unit.js b/test/text/ui_text_displayer_unit.js index 2d0e7f12ee..e51f2eb658 100644 --- a/test/text/ui_text_displayer_unit.js +++ b/test/text/ui_text_displayer_unit.js @@ -88,7 +88,8 @@ describe('UITextDisplayer', () => { const textContainer = videoContainer.querySelector('.shaka-text-container'); - const captions = textContainer.querySelector('span'); + const captions = + textContainer.querySelector('span:not(.shaka-text-wrapper)'); const cssObj = parseCssText(captions.style.cssText); const expectCssObj = { @@ -140,7 +141,8 @@ describe('UITextDisplayer', () => { // Verify styles applied to the nested cues. const textContainer = videoContainer.querySelector('.shaka-text-container'); - const captions = textContainer.querySelector('span'); + const captions = + textContainer.querySelector('span:not(.shaka-text-wrapper)'); const cssObj = parseCssText(captions.style.cssText); const expectCssObj = { @@ -193,7 +195,8 @@ describe('UITextDisplayer', () => { const textContainer = videoContainer.querySelector('.shaka-text-container'); - const captions = textContainer.querySelector('span'); + const captions = + textContainer.querySelector('span:not(.shaka-text-wrapper)'); const cssObj = parseCssText(captions.style.cssText); expect(cssObj).toEqual( jasmine.objectContaining({ @@ -223,7 +226,8 @@ describe('UITextDisplayer', () => { const textContainer = videoContainer.querySelector('.shaka-text-container'); - const captions = textContainer.querySelector('span'); + const captions = + textContainer.querySelector('span:not(.shaka-text-wrapper)'); const cssObj = parseCssText(captions.style.cssText); expect(cssObj).toEqual( jasmine.objectContaining({'font-size': expectedFontSize})); diff --git a/test/ui/text_displayer_layout_unit.js b/test/ui/text_displayer_layout_unit.js index e2f878b382..774b7f8637 100644 --- a/test/ui/text_displayer_layout_unit.js +++ b/test/ui/text_displayer_layout_unit.js @@ -299,6 +299,21 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => { await checkScreenshot(prefix, 'two-nested-cues'); }); + // Distinct from "newline" test above, which has a literal \n character in + // the text payload. This uses a nested "lineBreak" cue, which is what you + // get with
in TTML. + it('nested cues with linebreak', async () => { + const cue = new shaka.text.Cue(0, 1, ''); + cue.nestedCues = [ + new shaka.text.Cue(0, 1, 'Captain\'s log,'), + shaka.text.Cue.lineBreak(0, 1), + new shaka.text.Cue(0, 1, 'stardate 41636.9'), + ]; + textDisplayer.append([cue]); + + await checkScreenshot(prefix, 'nested-cues-with-linebreak'); + }); + // Regression test for #2157 and #2584 it('region positioning', async () => { const nestedCue = new shaka.text.Cue( @@ -316,6 +331,30 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => { await checkScreenshot(prefix, 'region-position'); }); + // Regression test for #3379, in which the displayAlign was not respected, + // placing text at the top of the region instead of the bottom. + it('region with display alignment', async () => { + const cue = new shaka.text.Cue(0, 1, ''); + + cue.region.id = '1'; + cue.region.viewportAnchorX = 10; + cue.region.viewportAnchorY = 10; + cue.region.width = 80; + cue.region.height = 80; + + cue.positionAlign = shaka.text.Cue.positionAlign.CENTER; + cue.lineAlign = shaka.text.Cue.lineAlign.CENTER; + cue.displayAlign = shaka.text.Cue.displayAlign.AFTER; + + cue.nestedCues = [ + // For those who don't speak Unicode, \xbf is an upside down "?". + new shaka.text.Cue(0, 1, '\xbfBien?'), + ]; + textDisplayer.append([cue]); + + await checkScreenshot(prefix, 'region-with-display-alignment'); + }); + // Regression test for #2188 it('bitmap-based cues', async () => { const cue = new shaka.text.Cue(0, 1, ''); diff --git a/ui/less/containers.less b/ui/less/containers.less index 2d9e87f1c4..d912b12706 100644 --- a/ui/less/containers.less +++ b/ui/less/containers.less @@ -226,12 +226,18 @@ transition-delay: 500ms; /* These are defaults which are overridden by JS or cue styles. */ - span { + span:not(.shaka-text-wrapper) { + display: inline; font-size: 20px; line-height: 1.4; // relative to font size. background-color: rgba(0, 0, 0, 0.8); color: rgb(255, 255, 255); } + + span.shaka-text-wrapper { + display: inline; + background: none; + } } .shaka-controls-container[shown="true"] ~ .shaka-text-container {