From cb890a965cb0dc0df11f55eabea091b2cbb49d71 Mon Sep 17 00:00:00 2001 From: Gary Katsevman Date: Tue, 7 Mar 2017 15:44:08 -0500 Subject: [PATCH] fix(ie8): various minor ie8 fixes (#4175) This fixes a logging in the console regarding timetooltips which don't exist. Also, makes sure not to focus the menu button when the captions settings menu item is clicked since the caption settings is getting focused instead. In addition, it makes sure the legend text in the track settings is the foreground color. --- src/css/components/_captions-settings.scss | 4 ++++ src/js/control-bar/progress-control/play-progress-bar.js | 5 ++++- .../text-track-controls/caption-settings-menu-item.js | 3 ++- src/js/menu/menu.js | 7 ++++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/css/components/_captions-settings.scss b/src/css/components/_captions-settings.scss index a9e088752..b5584526d 100644 --- a/src/css/components/_captions-settings.scss +++ b/src/css/components/_captions-settings.scss @@ -19,6 +19,10 @@ overflow: auto; } +.vjs-tracksettings legend { + color: $primary-foreground-color; +} + .vjs-caption-settings .vjs-tracksettings-colors, .vjs-caption-settings .vjs-tracksettings-font { float: left; diff --git a/src/js/control-bar/progress-control/play-progress-bar.js b/src/js/control-bar/progress-control/play-progress-bar.js index 3cfe8aba2..3589aa47e 100644 --- a/src/js/control-bar/progress-control/play-progress-bar.js +++ b/src/js/control-bar/progress-control/play-progress-bar.js @@ -52,8 +52,11 @@ class PlayProgressBar extends Component { this.player_.currentTime(); const content = formatTime(time, this.player_.duration()); + const timeTooltip = this.getChild('timeTooltip'); - this.getChild('timeTooltip').update(seekBarRect, seekBarPoint, content); + if (timeTooltip) { + timeTooltip.update(seekBarRect, seekBarPoint, content); + } }); } } diff --git a/src/js/control-bar/text-track-controls/caption-settings-menu-item.js b/src/js/control-bar/text-track-controls/caption-settings-menu-item.js index 5d66074b7..095d8895a 100644 --- a/src/js/control-bar/text-track-controls/caption-settings-menu-item.js +++ b/src/js/control-bar/text-track-controls/caption-settings-menu-item.js @@ -33,6 +33,8 @@ class CaptionSettingsMenuItem extends TextTrackMenuItem { // CaptionSettingsMenuItem has no concept of 'selected' options.selectable = false; + options.name = 'CaptionSettingsMenuItem'; + super(player, options); this.addClass('vjs-texttrack-settings'); this.controlText(', opens ' + options.kind + ' settings dialog'); @@ -52,7 +54,6 @@ class CaptionSettingsMenuItem extends TextTrackMenuItem { handleClick(event) { this.player().getChild('textTrackSettings').open(); } - } Component.registerComponent('CaptionSettingsMenuItem', CaptionSettingsMenuItem); diff --git a/src/js/menu/menu.js b/src/js/menu/menu.js index 096409c89..8b17b30c7 100644 --- a/src/js/menu/menu.js +++ b/src/js/menu/menu.js @@ -49,7 +49,12 @@ class Menu extends Component { // Unpress the associated MenuButton, and move focus back to it if (this.menuButton_) { this.menuButton_.unpressButton(); - this.menuButton_.focus(); + + // don't focus menu button if item is a caption settings item + // because focus will move elsewhere and it logs an error on IE8 + if (component.name() !== 'CaptionSettingsMenuItem') { + this.menuButton_.focus(); + } } })); }