Merge branch 'develop' into a11y-improvements

# Conflicts:
#	dist/plyr.js.map
#	dist/plyr.min.js
#	dist/plyr.min.js.map
#	dist/plyr.polyfilled.js.map
#	dist/plyr.polyfilled.min.js
#	dist/plyr.polyfilled.min.js.map
This commit is contained in:
Sam Potts
2018-06-19 19:24:47 +10:00
11 changed files with 85 additions and 86 deletions

46
dist/plyr.js vendored
View File

@ -780,22 +780,17 @@ typeof navigator === "object" && (function (global, factory) {
// Quality // Quality
Object.defineProperty(player.media, 'quality', { Object.defineProperty(player.media, 'quality', {
get: function get$$1() { get: function get() {
// Get sources // Get sources
var sources = html5.getSources.call(player); var sources = html5.getSources.call(player);
var source = sources.find(function (source) {
var _sources$filter = sources.filter(function (source) {
return source.getAttribute('src') === player.source; return source.getAttribute('src') === player.source;
}), });
_sources$filter2 = slicedToArray(_sources$filter, 1),
source = _sources$filter2[0];
// Return size, if match is found // Return size, if match is found
return source && Number(source.getAttribute('size')); return source && Number(source.getAttribute('size'));
}, },
set: function set$$1(input) { set: function set(input) {
// Get sources // Get sources
var sources = html5.getSources.call(player); var sources = html5.getSources.call(player);
@ -810,25 +805,30 @@ typeof navigator === "object" && (function (global, factory) {
} }
// Get current state // Get current state
var currentTime = player.currentTime, var _player$media = player.media,
playing = player.playing; currentTime = _player$media.currentTime,
paused = _player$media.paused,
preload = _player$media.preload,
readyState = _player$media.readyState;
// Set new source // Set new source
player.media.src = source.getAttribute('src'); player.media.src = source.getAttribute('src');
// Restore time // Prevent loading if preload="none" and the current source isn't loaded (#1044)
var onLoadedMetaData = function onLoadedMetaData() { if (preload !== 'none' || readyState) {
player.currentTime = currentTime; // Restore time
}; player.once('loadedmetadata', function () {
player.once('loadedmetadata', onLoadedMetaData); player.currentTime = currentTime;
// Load new source // Resume playing
player.media.load(); if (!paused) {
player.play();
}
});
// Resume playing // Load new source
if (playing) { player.media.load();
player.play();
} }
// Trigger change event // Trigger change event
@ -5816,8 +5816,8 @@ typeof navigator === "object" && (function (global, factory) {
return Number(instance.getCurrentTime()); return Number(instance.getCurrentTime());
}, },
set: function set(time) { set: function set(time) {
// If paused, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet). // If paused and never played, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused) { if (player.paused && !player.embed.hasPlayed) {
player.embed.mute(); player.embed.mute();
} }

2
dist/plyr.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/plyr.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2979,7 +2979,7 @@ typeof navigator === "object" && (function (global, factory) {
var defineProperty = _objectDp.f; var defineProperty = _objectDp.f;
var _wksDefine = function (name) { var _wksDefine = function (name) {
var $Symbol = _core.Symbol || (_core.Symbol = _library ? {} : _global.Symbol || {}); var $Symbol = _core.Symbol || (_core.Symbol = _global.Symbol || {});
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: _wksExt.f(name) }); if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: _wksExt.f(name) });
}; };
@ -6169,16 +6169,11 @@ typeof navigator === "object" && (function (global, factory) {
get: function get() { get: function get() {
// Get sources // Get sources
var sources = html5.getSources.call(player); var sources = html5.getSources.call(player);
var source = sources.find(function (source) {
var _sources$filter = sources.filter(function (source) {
return source.getAttribute('src') === player.source; return source.getAttribute('src') === player.source;
}), });
_sources$filter2 = slicedToArray(_sources$filter, 1),
source = _sources$filter2[0];
// Return size, if match is found // Return size, if match is found
return source && Number(source.getAttribute('size')); return source && Number(source.getAttribute('size'));
}, },
set: function set(input) { set: function set(input) {
@ -6196,25 +6191,30 @@ typeof navigator === "object" && (function (global, factory) {
} }
// Get current state // Get current state
var currentTime = player.currentTime, var _player$media = player.media,
playing = player.playing; currentTime = _player$media.currentTime,
paused = _player$media.paused,
preload = _player$media.preload,
readyState = _player$media.readyState;
// Set new source // Set new source
player.media.src = source.getAttribute('src'); player.media.src = source.getAttribute('src');
// Restore time // Prevent loading if preload="none" and the current source isn't loaded (#1044)
var onLoadedMetaData = function onLoadedMetaData() { if (preload !== 'none' || readyState) {
player.currentTime = currentTime; // Restore time
}; player.once('loadedmetadata', function () {
player.once('loadedmetadata', onLoadedMetaData); player.currentTime = currentTime;
// Load new source // Resume playing
player.media.load(); if (!paused) {
player.play();
}
});
// Resume playing // Load new source
if (playing) { player.media.load();
player.play();
} }
// Trigger change event // Trigger change event
@ -7343,6 +7343,7 @@ typeof navigator === "object" && (function (global, factory) {
// Menu required // Menu required
if (!is$1.element(this.elements.settings.panels.quality)) { if (!is$1.element(this.elements.settings.panels.quality)) {
console.warn('Not an element');
return; return;
} }
@ -7357,6 +7358,7 @@ typeof navigator === "object" && (function (global, factory) {
} }
// Toggle the pane and tab // Toggle the pane and tab
console.warn(this.options.quality);
var toggle = !is$1.empty(this.options.quality) && this.options.quality.length > 1; var toggle = !is$1.empty(this.options.quality) && this.options.quality.length > 1;
controls.toggleMenuButton.call(this, type, toggle); controls.toggleMenuButton.call(this, type, toggle);
@ -7773,7 +7775,10 @@ typeof navigator === "object" && (function (global, factory) {
toggleHidden(target, false); toggleHidden(target, false);
// Focus the first item // Focus the first item
target.querySelectorAll('[role^="menuitem"]')[0].focus(); var firstItem = target.querySelector('[role^="menuitem"]');
if (firstItem) {
firstItem.focus();
}
}, },
@ -9376,11 +9381,9 @@ typeof navigator === "object" && (function (global, factory) {
} }
// If there's a play button, set label // If there's a play button, set label
if (is$1.nodeList(this.elements.buttons.play)) { Array.from(this.elements.buttons.play || []).forEach(function (button) {
Array.from(this.elements.buttons.play).forEach(function (button) { button.setAttribute('aria-label', label);
button.setAttribute('aria-label', label); });
});
}
// Set iframe title // Set iframe title
// https://github.com/sampotts/plyr/issues/124 // https://github.com/sampotts/plyr/issues/124
@ -9460,11 +9463,9 @@ typeof navigator === "object" && (function (global, factory) {
toggleClass(this.elements.container, this.config.classNames.stopped, this.stopped); toggleClass(this.elements.container, this.config.classNames.stopped, this.stopped);
// Set state // Set state
if (is$1.nodeList(this.elements.buttons.play)) { Array.from(this.elements.buttons.play || []).forEach(function (target) {
Array.from(this.elements.buttons.play).forEach(function (target) { target.pressed = _this3.playing;
target.pressed = _this3.playing; });
});
}
// Only update controls on non timeupdate events // Only update controls on non timeupdate events
if (is$1.event(event) && event.type === 'timeupdate') { if (is$1.event(event) && event.type === 'timeupdate') {
@ -11195,8 +11196,8 @@ typeof navigator === "object" && (function (global, factory) {
return Number(instance.getCurrentTime()); return Number(instance.getCurrentTime());
}, },
set: function set(time) { set: function set(time) {
// If paused, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet). // If paused and never played, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused) { if (player.paused && !player.embed.hasPlayed) {
player.embed.mute(); player.embed.mute();
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -39,7 +39,7 @@ const html5 = {
get() { get() {
// Get sources // Get sources
const sources = html5.getSources.call(player); const sources = html5.getSources.call(player);
const [source] = sources.filter(source => source.getAttribute('src') === player.source); const source = sources.find(source => source.getAttribute('src') === player.source);
// Return size, if match is found // Return size, if match is found
return source && Number(source.getAttribute('size')); return source && Number(source.getAttribute('size'));
@ -57,23 +57,25 @@ const html5 = {
} }
// Get current state // Get current state
const { currentTime, playing } = player; const { currentTime, paused, preload, readyState } = player.media;
// Set new source // Set new source
player.media.src = source.getAttribute('src'); player.media.src = source.getAttribute('src');
// Restore time // Prevent loading if preload="none" and the current source isn't loaded (#1044)
const onLoadedMetaData = () => { if (preload !== 'none' || readyState) {
player.currentTime = currentTime; // Restore time
}; player.once('loadedmetadata', () => {
player.once('loadedmetadata', onLoadedMetaData); player.currentTime = currentTime;
// Load new source // Resume playing
player.media.load(); if (!paused) {
player.play();
}
});
// Resume playing // Load new source
if (playing) { player.media.load();
player.play();
} }
// Trigger change event // Trigger change event

View File

@ -270,8 +270,8 @@ const youtube = {
return Number(instance.getCurrentTime()); return Number(instance.getCurrentTime());
}, },
set(time) { set(time) {
// If paused, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet). // If paused and never played, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
if (player.paused) { if (player.paused && !player.embed.hasPlayed) {
player.embed.mute(); player.embed.mute();
} }

View File

@ -135,11 +135,9 @@ const ui = {
} }
// If there's a play button, set label // If there's a play button, set label
if (is.nodeList(this.elements.buttons.play)) { Array.from(this.elements.buttons.play || []).forEach(button => {
Array.from(this.elements.buttons.play).forEach(button => { button.setAttribute('aria-label', label);
button.setAttribute('aria-label', label); });
});
}
// Set iframe title // Set iframe title
// https://github.com/sampotts/plyr/issues/124 // https://github.com/sampotts/plyr/issues/124
@ -214,11 +212,9 @@ const ui = {
toggleClass(this.elements.container, this.config.classNames.stopped, this.stopped); toggleClass(this.elements.container, this.config.classNames.stopped, this.stopped);
// Set state // Set state
if (is.nodeList(this.elements.buttons.play)) { Array.from(this.elements.buttons.play || []).forEach(target => {
Array.from(this.elements.buttons.play).forEach(target => { target.pressed = this.playing;
target.pressed = this.playing; });
});
}
// Only update controls on non timeupdate events // Only update controls on non timeupdate events
if (is.event(event) && event.type === 'timeupdate') { if (is.event(event) && event.type === 'timeupdate') {