diff --git a/core/js/compatibility.js b/core/js/compatibility.js deleted file mode 100644 index ac942d202e..0000000000 --- a/core/js/compatibility.js +++ /dev/null @@ -1,155 +0,0 @@ -/** - * implement Object.create for browsers without native support - */ -if (typeof Object.create !== 'function') { - Object.create = function (o) { - function F() {} - F.prototype = o; - return new F(); - }; -} - -/** - * implement Object.keys for browsers without native support - */ -if (typeof Object.keys !== 'function') { - Object.keys = function(o) { - if (o !== Object(o)) { - throw new TypeError('Object.keys called on a non-object'); - } - var k=[],p; - for (p in o) { - if (Object.prototype.hasOwnProperty.call(o,p)) { - k.push(p); - } - } - return k; - }; -} - -/** - * implement Array.filter for browsers without native support - */ -if (!Array.prototype.filter) { - Array.prototype.filter = function(fun /*, thisp*/) { - var len = this.length >>> 0; - if (typeof fun !== "function"){ - throw new TypeError(); - } - - var res = []; - var thisp = arguments[1]; - for (var i = 0; i < len; i++) { - if (i in this) { - var val = this[i]; // in case fun mutates this - if (fun.call(thisp, val, i, this)) { - res.push(val); - } - } - } - return res; - }; -} - -/** - * implement Array.indexOf for browsers without native support - */ -if (!Array.prototype.indexOf){ - Array.prototype.indexOf = function(elt /*, from*/) - { - var len = this.length; - - var from = Number(arguments[1]) || 0; - from = (from < 0) ? Math.ceil(from) : Math.floor(from); - if (from < 0){ - from += len; - } - - for (; from < len; from++) - { - if (from in this && this[from] === elt){ - return from; - } - } - return -1; - }; -} - -/** - * implement Array.map for browsers without native support - */ -if (!Array.prototype.map){ - Array.prototype.map = function(fun /*, thisp */){ - "use strict"; - - if (this === void 0 || this === null){ - throw new TypeError(); - } - - var t = Object(this); - var len = t.length >>> 0; - if (typeof fun !== "function"){ - throw new TypeError(); - } - - var res = new Array(len); - var thisp = arguments[1]; - for (var i = 0; i < len; i++){ - if (i in t){ - res[i] = fun.call(thisp, t[i], i, t); - } - } - - return res; - }; -} - -//https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind -if (!Function.prototype.bind) { - Function.prototype.bind = function (oThis) { - if (typeof this !== "function") { - // closest thing possible to the ECMAScript 5 internal IsCallable function - throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); - } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function () {}, - fBound = function () { - return fToBind.apply(this instanceof fNOP && oThis - ? this - : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; - - fNOP.prototype = this.prototype; - fBound.prototype = new fNOP(); - - return fBound; - }; -} - -//https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/Trim -if(!String.prototype.trim) { - String.prototype.trim = function () { - return this.replace(/^\s+|\s+$/g,''); - }; -} - -// Older Firefoxes doesn't support outerHTML -// From http://stackoverflow.com/questions/1700870/how-do-i-do-outerhtml-in-firefox#answer-3819589 -function outerHTML(node){ - // In newer browsers use the internal property otherwise build a wrapper. - return node.outerHTML || ( - function(n){ - var div = document.createElement('div'), h; - div.appendChild( n.cloneNode(true) ); - h = div.innerHTML; - div = null; - return h; - })(node); -} - -// devicePixelRatio for IE10 -window.devicePixelRatio = window.devicePixelRatio || - window.screen.deviceXDPI / window.screen.logicalXDPI || 1; diff --git a/core/js/core.json b/core/js/core.json index e651c9d759..c98928d0fe 100644 --- a/core/js/core.json +++ b/core/js/core.json @@ -20,7 +20,6 @@ "placeholder.js" ], "modules": [ - "compatibility.js", "jquery.ocdialog.js", "oc-dialogs.js", "js.js", diff --git a/core/js/octemplate.js b/core/js/octemplate.js index 67aa7d69cc..b24ad95c2b 100644 --- a/core/js/octemplate.js +++ b/core/js/octemplate.js @@ -76,7 +76,7 @@ }, // From stackoverflow.com/questions/1408289/best-way-to-do-variable-interpolation-in-javascript _build: function(o){ - var data = this.elem.attr('type') === 'text/template' ? this.elem.html() : outerHTML(this.elem.get(0)); + var data = this.elem.attr('type') === 'text/template' ? this.elem.html() : this.elem.get(0).outerHTML; try { return data.replace(/{([^{}]*)}/g, function (a, b) { diff --git a/lib/private/legacy/template.php b/lib/private/legacy/template.php index 67a8b3ec6e..b43b4da839 100644 --- a/lib/private/legacy/template.php +++ b/lib/private/legacy/template.php @@ -143,7 +143,6 @@ class OC_Template extends \OC\Template\Base { OC_Util::addScript("oc-dialogs", null, true); OC_Util::addScript("jquery.ocdialog", null, true); OC_Util::addStyle("jquery.ocdialog"); - OC_Util::addScript("compatibility", null, true); OC_Util::addScript('files/fileinfo'); OC_Util::addScript('files/client');