Skip to content

Commit 8bef14f

Browse files
committed
External Libraries: Update MediaElement.js to version 4.2.17.
This is a minor bug fix release and the latest in the 4.x branch. A full list of changes can be found on the library’s GitHub: https://github.com/mediaelement/mediaelement/releases/tag/4.2.17. While this is not the latest version (the 5.x branch is), further testing needs to be done to confirm compatibility in WordPress. #56320 has been opened to explore this. Props cdbessig, desrosj. Fixes #56319. git-svn-id: https://develop.svn.wordpress.org/trunk@54354 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 3af3aae commit 8bef14f

File tree

5 files changed

+45
-29
lines changed

5 files changed

+45
-29
lines changed

src/js/_enqueues/vendor/mediaelement/mediaelement-and-player.js

Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10181018

10191019
var mejs = {};
10201020

1021-
mejs.version = '4.2.16';
1021+
mejs.version = '4.2.17';
10221022

10231023
mejs.html5media = {
10241024
properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
@@ -1307,7 +1307,7 @@ Object.assign(_player2.default.prototype, {
13071307
return;
13081308
}
13091309

1310-
if (t.options.useFakeFullscreen === false && Features.IS_IOS && Features.HAS_IOS_FULLSCREEN && typeof t.media.originalNode.webkitEnterFullscreen === 'function' && t.media.originalNode.canPlayType((0, _media.getTypeFromFile)(t.media.getSrc()))) {
1310+
if (t.options.useFakeFullscreen === false && (Features.IS_IOS || Features.IS_SAFARI) && Features.HAS_IOS_FULLSCREEN && typeof t.media.originalNode.webkitEnterFullscreen === 'function' && t.media.originalNode.canPlayType((0, _media.getTypeFromFile)(t.media.getSrc()))) {
13111311
t.media.originalNode.webkitEnterFullscreen();
13121312
return;
13131313
}
@@ -2943,15 +2943,15 @@ _mejs2.default.TrackFormatParser = {
29432943

29442944
dfxp: {
29452945
parse: function parse(trackText) {
2946-
trackText = $(trackText).filter('tt');
2947-
var container = trackText.firstChild,
2946+
var trackElem = _document2.default.adoptNode(new DOMParser().parseFromString(trackText, 'application/xml').documentElement),
2947+
container = trackElem.querySelector('div'),
29482948
lines = container.querySelectorAll('p'),
2949-
styleNode = trackText.getElementById('' + container.attr('style')),
2949+
styleNode = _document2.default.getElementById(container.getAttribute('style')),
29502950
entries = [];
29512951

29522952
var styles = void 0;
29532953

2954-
if (styleNode.length) {
2954+
if (styleNode) {
29552955
styleNode.removeAttribute('id');
29562956
var attributes = styleNode.attributes;
29572957
if (attributes.length) {
@@ -2971,23 +2971,23 @@ _mejs2.default.TrackFormatParser = {
29712971
text: null
29722972
};
29732973

2974-
if (lines.eq(_i16).attr('begin')) {
2975-
_temp.start = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16).attr('begin'));
2974+
if (lines[_i16].getAttribute('begin')) {
2975+
_temp.start = (0, _time.convertSMPTEtoSeconds)(lines[_i16].getAttribute('begin'));
29762976
}
2977-
if (!_temp.start && lines.eq(_i16 - 1).attr('end')) {
2978-
_temp.start = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16 - 1).attr('end'));
2977+
if (!_temp.start && lines[_i16 - 1].getAttribute('end')) {
2978+
_temp.start = (0, _time.convertSMPTEtoSeconds)(lines[_i16 - 1].getAttribute('end'));
29792979
}
2980-
if (lines.eq(_i16).attr('end')) {
2981-
_temp.stop = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16).attr('end'));
2980+
if (lines[_i16].getAttribute('end')) {
2981+
_temp.stop = (0, _time.convertSMPTEtoSeconds)(lines[_i16].getAttribute('end'));
29822982
}
2983-
if (!_temp.stop && lines.eq(_i16 + 1).attr('begin')) {
2984-
_temp.stop = (0, _time.convertSMPTEtoSeconds)(lines.eq(_i16 + 1).attr('begin'));
2983+
if (!_temp.stop && lines[_i16 + 1].getAttribute('begin')) {
2984+
_temp.stop = (0, _time.convertSMPTEtoSeconds)(lines[_i16 + 1].getAttribute('begin'));
29852985
}
29862986

29872987
if (styles) {
29882988
style = '';
29892989
for (var _style in styles) {
2990-
style += _style + ':' + styles[_style] + ';';
2990+
style += _style + ': ' + styles[_style] + ';';
29912991
}
29922992
}
29932993
if (style) {
@@ -2996,7 +2996,7 @@ _mejs2.default.TrackFormatParser = {
29962996
if (_temp.start === 0) {
29972997
_temp.start = 0.200;
29982998
}
2999-
_temp.text = lines.eq(_i16).innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
2999+
_temp.text = lines[_i16].innerHTML.trim().replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_| !:, .; ]*[-A-Z0-9+&@#\/%=~_|])/ig, "<a href='$1' target='_blank'>$1</a>");
30003000
entries.push(_temp);
30013001
}
30023002
return entries;
@@ -3224,6 +3224,7 @@ Object.assign(_player2.default.prototype, {
32243224
(0, _dom.removeClass)(mute, t.options.classPrefix + 'mute');
32253225
(0, _dom.addClass)(mute, t.options.classPrefix + 'unmute');
32263226
} else {
3227+
32273228
positionVolumeHandle(media.volume);
32283229
(0, _dom.removeClass)(mute, t.options.classPrefix + 'unmute');
32293230
(0, _dom.addClass)(mute, t.options.classPrefix + 'mute');
@@ -3344,7 +3345,6 @@ Object.assign(_player2.default.prototype, {
33443345
rendered = true;
33453346
if (player.options.startVolume === 0 || media.originalNode.muted) {
33463347
media.setMuted(true);
3347-
player.options.startVolume = 0;
33483348
}
33493349
media.setVolume(player.options.startVolume);
33503350
t.setControlsSize();
@@ -3358,6 +3358,9 @@ Object.assign(_player2.default.prototype, {
33583358
if (player.options.startVolume === 0 || media.originalNode.muted) {
33593359
media.setMuted(true);
33603360
}
3361+
if (player.options.startVolume === 0) {
3362+
player.options.startVolume = 0;
3363+
}
33613364
media.setVolume(player.options.startVolume);
33623365
t.setControlsSize();
33633366
}
@@ -3367,7 +3370,9 @@ Object.assign(_player2.default.prototype, {
33673370

33683371
if (player.options.startVolume === 0 || media.originalNode.muted) {
33693372
media.setMuted(true);
3370-
player.options.startVolume = 0;
3373+
if (player.options.startVolume === 0) {
3374+
player.options.startVolume = 0;
3375+
}
33713376
toggleMute();
33723377
}
33733378

@@ -3994,7 +3999,7 @@ var MediaElementPlayer = function () {
39943999
var t = this,
39954000
autoplayAttr = domNode.getAttribute('autoplay'),
39964001
autoplay = !(autoplayAttr === undefined || autoplayAttr === null || autoplayAttr === 'false'),
3997-
isNative = media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName);
4002+
isNative = media.rendererName !== null && /(native|html5)/i.test(media.rendererName);
39984003

39994004
if (t.getElement(t.controls)) {
40004005
t.enableControls();
@@ -4433,6 +4438,9 @@ var MediaElementPlayer = function () {
44334438
}
44344439
}(),
44354440
aspectRatio = function () {
4441+
if (!t.options.enableAutosize) {
4442+
return t.initialAspectRatio;
4443+
}
44364444
var ratio = 1;
44374445
if (!t.isVideo) {
44384446
return ratio;
@@ -5230,7 +5238,9 @@ var MediaElementPlayer = function () {
52305238

52315239
if (_typeof(t.getElement(t.container)) === 'object') {
52325240
var offscreen = t.getElement(t.container).parentNode.querySelector('.' + t.options.classPrefix + 'offscreen');
5233-
offscreen.remove();
5241+
if (offscreen) {
5242+
offscreen.remove();
5243+
}
52345244
t.getElement(t.container).remove();
52355245
}
52365246
t.globalUnbind('resize', t.globalResizeCallback);
@@ -7255,6 +7265,7 @@ var YouTubeIframeRenderer = {
72557265
videoId: videoId,
72567266
height: height,
72577267
width: width,
7268+
host: youtube.options.youtube && youtube.options.youtube.nocookie ? 'https://www.youtube-nocookie.com' : undefined,
72587269
playerVars: Object.assign({
72597270
controls: 0,
72607271
rel: 0,
@@ -8065,8 +8076,10 @@ function getTypeFromFile(url) {
80658076
var mime = 'video/mp4';
80668077

80678078
if (normalizedExt) {
8068-
if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg', 'mov'].indexOf(normalizedExt)) {
8079+
if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg'].indexOf(normalizedExt)) {
80698080
mime = 'video/' + normalizedExt;
8081+
} else if ('mov' === normalizedExt) {
8082+
mime = 'video/quicktime';
80708083
} else if (~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)) {
80718084
mime = 'audio/' + normalizedExt;
80728085
}

src/js/_enqueues/vendor/mediaelement/mediaelement-and-player.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/js/_enqueues/vendor/mediaelement/mediaelement.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10181018

10191019
var mejs = {};
10201020

1021-
mejs.version = '4.2.16';
1021+
mejs.version = '4.2.17';
10221022

10231023
mejs.html5media = {
10241024
properties: ['volume', 'src', 'currentTime', 'muted', 'duration', 'paused', 'ended', 'buffered', 'error', 'networkState', 'readyState', 'seeking', 'seekable', 'currentSrc', 'preload', 'bufferedBytes', 'bufferedTime', 'initialTime', 'startOffsetTime', 'defaultPlaybackRate', 'playbackRate', 'played', 'autoplay', 'loop', 'controls'],
@@ -2962,6 +2962,7 @@ var YouTubeIframeRenderer = {
29622962
videoId: videoId,
29632963
height: height,
29642964
width: width,
2965+
host: youtube.options.youtube && youtube.options.youtube.nocookie ? 'https://www.youtube-nocookie.com' : undefined,
29652966
playerVars: Object.assign({
29662967
controls: 0,
29672968
rel: 0,
@@ -3772,8 +3773,10 @@ function getTypeFromFile(url) {
37723773
var mime = 'video/mp4';
37733774

37743775
if (normalizedExt) {
3775-
if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg', 'mov'].indexOf(normalizedExt)) {
3776+
if (~['mp4', 'm4v', 'ogg', 'ogv', 'webm', 'flv', 'mpeg'].indexOf(normalizedExt)) {
37763777
mime = 'video/' + normalizedExt;
3778+
} else if ('mov' === normalizedExt) {
3779+
mime = 'video/quicktime';
37773780
} else if (~['mp3', 'oga', 'wav', 'mid', 'midi'].indexOf(normalizedExt)) {
37783781
mime = 'audio/' + normalizedExt;
37793782
}

src/js/_enqueues/vendor/mediaelement/mediaelement.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/wp-includes/script-loader.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -996,8 +996,8 @@ function wp_default_scripts( $scripts ) {
996996

997997
$scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array( 'jquery' ), false, 1 );
998998

999-
$scripts->add( 'mediaelement', false, array( 'jquery', 'mediaelement-core', 'mediaelement-migrate' ), '4.2.16', 1 );
1000-
$scripts->add( 'mediaelement-core', "/wp-includes/js/mediaelement/mediaelement-and-player$suffix.js", array(), '4.2.16', 1 );
999+
$scripts->add( 'mediaelement', false, array( 'jquery', 'mediaelement-core', 'mediaelement-migrate' ), '4.2.17', 1 );
1000+
$scripts->add( 'mediaelement-core', "/wp-includes/js/mediaelement/mediaelement-and-player$suffix.js", array(), '4.2.17', 1 );
10011001
$scripts->add( 'mediaelement-migrate', "/wp-includes/js/mediaelement/mediaelement-migrate$suffix.js", array(), false, 1 );
10021002

10031003
did_action( 'init' ) && $scripts->add_inline_script(
@@ -1087,7 +1087,7 @@ function wp_default_scripts( $scripts ) {
10871087
'before'
10881088
);
10891089

1090-
$scripts->add( 'mediaelement-vimeo', '/wp-includes/js/mediaelement/renderers/vimeo.min.js', array( 'mediaelement' ), '4.2.16', 1 );
1090+
$scripts->add( 'mediaelement-vimeo', '/wp-includes/js/mediaelement/renderers/vimeo.min.js', array( 'mediaelement' ), '4.2.17', 1 );
10911091
$scripts->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement$suffix.js", array( 'mediaelement' ), false, 1 );
10921092
$mejs_settings = array(
10931093
'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
@@ -1550,7 +1550,7 @@ function wp_default_styles( $styles ) {
15501550
// External libraries and friends.
15511551
$styles->add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.8' );
15521552
$styles->add( 'wp-jquery-ui-dialog', "/wp-includes/css/jquery-ui-dialog$suffix.css", array( 'dashicons' ) );
1553-
$styles->add( 'mediaelement', '/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css', array(), '4.2.16' );
1553+
$styles->add( 'mediaelement', '/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css', array(), '4.2.17' );
15541554
$styles->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement$suffix.css", array( 'mediaelement' ) );
15551555
$styles->add( 'thickbox', '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) );
15561556
$styles->add( 'wp-codemirror', '/wp-includes/js/codemirror/codemirror.min.css', array(), '5.29.1-alpha-ee20357' );

0 commit comments

Comments
 (0)