wp/wp-includes/js/mediaelement/renderers/vimeo.js
changeset 16 a86126ab1dd4
parent 7 cf61fcea0001
child 18 be944660c56a
--- a/wp/wp-includes/js/mediaelement/renderers/vimeo.js	Tue Oct 22 16:11:46 2019 +0200
+++ b/wp/wp-includes/js/mediaelement/renderers/vimeo.js	Tue Dec 15 13:49:49 2020 +0100
@@ -8,7 +8,7 @@
  * Copyright 2010-2017, John Dyer (http://j.hn/)
  * License: MIT
  *
- */(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
+ */(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(_dereq_,module,exports){
 'use strict';
 
 var VimeoApi = {
@@ -73,10 +73,8 @@
 		vimeo.id = mediaElement.id + '_' + options.prefix;
 		vimeo.mediaElement = mediaElement;
 
-		var errorHandler = function errorHandler(error, target) {
-			var event = mejs.Utils.createEvent('error', target);
-			event.message = error.name + ': ' + error.message;
-			mediaElement.dispatchEvent(event);
+		var errorHandler = function errorHandler(error) {
+			mediaElement.generateError('Code ' + error.name + ': ' + error.message, mediaFiles);
 		};
 
 		var props = mejs.html5media.properties,
@@ -91,10 +89,8 @@
 					switch (propName) {
 						case 'currentTime':
 							return currentTime;
-
 						case 'duration':
 							return duration;
-
 						case 'volume':
 							return volume;
 						case 'muted':
@@ -103,12 +99,12 @@
 							return paused;
 						case 'ended':
 							return ended;
-
 						case 'src':
 							vimeoPlayer.getVideoUrl().then(function (_url) {
 								url = _url;
+							}).catch(function (error) {
+								return errorHandler(error);
 							});
-
 							return url;
 						case 'buffered':
 							return {
@@ -141,7 +137,7 @@
 									vimeoPlayer.play();
 								}
 							}).catch(function (error) {
-								errorHandler(error, vimeo);
+								return errorHandler(error);
 							});
 							break;
 						case 'currentTime':
@@ -152,7 +148,7 @@
 									mediaElement.dispatchEvent(event);
 								}, 50);
 							}).catch(function (error) {
-								errorHandler(error, vimeo);
+								return errorHandler(error);
 							});
 							break;
 						case 'volume':
@@ -164,12 +160,12 @@
 									mediaElement.dispatchEvent(event);
 								}, 50);
 							}).catch(function (error) {
-								errorHandler(error, vimeo);
+								return errorHandler(error);
 							});
 							break;
 						case 'loop':
 							vimeoPlayer.setLoop(value).catch(function (error) {
-								errorHandler(error, vimeo);
+								return errorHandler(error);
 							});
 							break;
 						case 'muted':
@@ -181,7 +177,7 @@
 										mediaElement.dispatchEvent(event);
 									}, 50);
 								}).catch(function (error) {
-									errorHandler(error, vimeo);
+									return errorHandler(error);
 								});
 							} else {
 								vimeoPlayer.setVolume(oldVolume).then(function () {
@@ -191,7 +187,7 @@
 										mediaElement.dispatchEvent(event);
 									}, 50);
 								}).catch(function (error) {
-									errorHandler(error, vimeo);
+									return errorHandler(error);
 								});
 							}
 							break;
@@ -309,17 +305,16 @@
 					var event = mejs.Utils.createEvent('progress', vimeo);
 					mediaElement.dispatchEvent(event);
 				}).catch(function (error) {
-					errorHandler(error, vimeo);
+					return errorHandler(error);
 				});
 			});
 			vimeoPlayer.on('timeupdate', function () {
 				vimeoPlayer.getCurrentTime().then(function (seconds) {
 					currentTime = seconds;
-
 					var event = mejs.Utils.createEvent('timeupdate', vimeo);
 					mediaElement.dispatchEvent(event);
 				}).catch(function (error) {
-					errorHandler(error, vimeo);
+					return errorHandler(error);
 				});
 			});
 			vimeoPlayer.on('play', function () {
@@ -360,21 +355,26 @@
 		    standardUrl = 'https://player.vimeo.com/video/' + VimeoApi.getVimeoId(mediaFiles[0].src);
 
 		var queryArgs = ~mediaFiles[0].src.indexOf('?') ? '?' + mediaFiles[0].src.slice(mediaFiles[0].src.indexOf('?') + 1) : '';
-		if (queryArgs && mediaElement.originalNode.autoplay && queryArgs.indexOf('autoplay') === -1) {
-			queryArgs += '&autoplay=1';
+		var args = [];
+
+		if (mediaElement.originalNode.autoplay && queryArgs.indexOf('autoplay') === -1) {
+			args.push('autoplay=1');
 		}
-		if (queryArgs && mediaElement.originalNode.loop && queryArgs.indexOf('loop') === -1) {
-			queryArgs += '&loop=1';
+		if (mediaElement.originalNode.loop && queryArgs.indexOf('loop') === -1) {
+			args.push('loop=1');
 		}
 
+		queryArgs = '' + queryArgs + (queryArgs ? '&' : '?') + args.join('&');
+
 		vimeoContainer.setAttribute('id', vimeo.id);
 		vimeoContainer.setAttribute('width', width);
 		vimeoContainer.setAttribute('height', height);
 		vimeoContainer.setAttribute('frameBorder', '0');
 		vimeoContainer.setAttribute('src', '' + standardUrl + queryArgs);
-		vimeoContainer.setAttribute('webkitallowfullscreen', '');
-		vimeoContainer.setAttribute('mozallowfullscreen', '');
-		vimeoContainer.setAttribute('allowfullscreen', '');
+		vimeoContainer.setAttribute('webkitallowfullscreen', 'true');
+		vimeoContainer.setAttribute('mozallowfullscreen', 'true');
+		vimeoContainer.setAttribute('allowfullscreen', 'true');
+		vimeoContainer.setAttribute('allow', 'autoplay');
 
 		mediaElement.originalNode.parentNode.insertBefore(vimeoContainer, mediaElement.originalNode);
 		mediaElement.originalNode.style.display = 'none';