Index: LayoutTests/media/track/track-css-user-settings-override-author-settings.html |
diff --git a/LayoutTests/media/track/track-css-user-settings-override-author-settings.html b/LayoutTests/media/track/track-css-user-settings-override-author-settings.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ee3c498c084e4e9cf6432eea9d2c97de52b729ad |
--- /dev/null |
+++ b/LayoutTests/media/track/track-css-user-settings-override-author-settings.html |
@@ -0,0 +1,71 @@ |
+<!DOCTYPE html> |
+<script src=../media-file.js></script> |
+<script src=../video-test.js></script> |
+<script src=../media-controls.js></script> |
+<style> |
+ /* Author settings for the cues */ |
+ video::cue(c) { |
+ color: red; |
+ background-color: green; |
+ text-shadow: 3px 3px #00ff00; |
+ font-size: 20px; |
+ font-family: arial; |
+ font-style: normal; |
+ font-variant: normal; |
+ } |
+</style> |
+<script> |
+ |
+ function applyUserOverrideSettings() { |
+ if (window.internals) { |
+ internals.settings.setTextTrackTextColor("cyan"); |
+ internals.settings.setTextTrackBackgroundColor("green"); |
+ internals.settings.setTextTrackTextShadow("2px 2px #ff0000") |
+ internals.settings.setTextTrackTextSize("14px"); |
+ internals.settings.setTextTrackFontFamily("fantasy"); |
+ internals.settings.setTextTrackFontStyle("italic"); |
+ internals.settings.setTextTrackFontVariant("small-caps"); |
+ } |
+ } |
+ |
+ function verifyAuthorSettings() { |
+ consoleWrite(""); |
+ cue = textTrackDisplayElement(video, 'cue').firstElementChild; |
+ testExpected("getComputedStyle(cue).color", "rgb(255, 0, 0)"); |
+ testExpected("getComputedStyle(cue).backgroundColor", "rgb(0, 128, 0)"); |
+ testExpected("getComputedStyle(cue).textShadow", "rgb(0, 255, 0) 3px 3px 0px"); |
+ testExpected("getComputedStyle(cue).fontSize", "20px"); |
+ testExpected("getComputedStyle(cue).fontFamily", "arial"); |
+ testExpected("getComputedStyle(cue).fontStyle", "normal"); |
+ testExpected("getComputedStyle(cue).fontVariant", "normal"); |
+ // Apply user settings and verify they override author-specified settings |
+ applyUserOverrideSettings(); |
+ run("video.currentTime = 0.3"); |
+ verifyUserOverrideSettings(); |
+ } |
+ |
+ function verifyUserOverrideSettings() { |
+ consoleWrite(""); |
+ cue = textTrackDisplayElement(video, 'cue').firstElementChild; |
+ testExpected("getComputedStyle(cue).color", "rgb(0, 255, 255)"); |
+ testExpected("getComputedStyle(cue).backgroundColor", "rgb(0, 128, 0)"); |
+ testExpected("getComputedStyle(cue).textShadow", "rgb(255, 0, 0) 2px 2px 0px"); |
+ testExpected("getComputedStyle(cue).fontSize", "14px"); |
+ testExpected("getComputedStyle(cue).fontFamily", "fantasy"); |
+ testExpected("getComputedStyle(cue).fontStyle", "italic"); |
+ testExpected("getComputedStyle(cue).fontVariant", "small-caps"); |
+ endTest(); |
+ } |
+ |
+ window.onload = function() { |
+ consoleWrite("Test that WebVTT objects are being styled correctly based on user settings that should override author settings."); |
+ findMediaElement(); |
+ video.src = findMediaFile('video', '../content/test'); |
+ video.currentTime = 0.1; |
+ waitForEvent('canplaythrough', verifyAuthorSettings); |
+ } |
+ |
+</script> |
+<video> |
+ <track src="captions-webvtt/styling.vtt" kind="captions" default> |
+</video> |