Fix captions.toggle order

This commit is contained in:
Albin Larsson 2018-06-16 01:23:47 +02:00
parent 1f09493ba2
commit 8f359adf9c

View File

@ -156,6 +156,12 @@ const captions = {
// Update state and trigger event // Update state and trigger event
if (active !== toggled) { if (active !== toggled) {
// When passive, don't override user preferences
if (!passive) {
this.captions.active = active;
this.storage.set({ captions: active });
}
// Force language if the call isn't passive and there is no matching language to toggle to // Force language if the call isn't passive and there is no matching language to toggle to
if (!this.language && active && !passive) { if (!this.language && active && !passive) {
const tracks = captions.getTracks.call(this); const tracks = captions.getTracks.call(this);
@ -183,12 +189,6 @@ const captions = {
// Update settings menu // Update settings menu
controls.updateSetting.call(this, 'captions'); controls.updateSetting.call(this, 'captions');
// When passive, don't override user preferences
if (!passive) {
this.captions.active = active;
this.storage.set({ captions: active });
}
// Trigger event (not used internally) // Trigger event (not used internally)
triggerEvent.call(this, this.media, active ? 'captionsenabled' : 'captionsdisabled'); triggerEvent.call(this, this.media, active ? 'captionsenabled' : 'captionsdisabled');
} }
@ -241,13 +241,13 @@ const captions = {
triggerEvent.call(this, this.media, 'languagechange'); triggerEvent.call(this, this.media, 'languagechange');
} }
// Show captions
captions.toggle.call(this, true, passive);
if (this.isHTML5 && this.isVideo) { if (this.isHTML5 && this.isVideo) {
// If we change the active track while a cue is already displayed we need to update it // If we change the active track while a cue is already displayed we need to update it
captions.updateCues.call(this); captions.updateCues.call(this);
} }
// Show captions
captions.toggle.call(this, true, passive);
}, },
// Set captions by language // Set captions by language