Merge pull request 'v2.2.3' (#5) from develop into master
This commit is contained in:
commit
4159bb065a
|
@ -93,3 +93,225 @@ const BrowserType = {
|
|||
'CHROMIUM': chrome.runtime.getURL("/").startsWith("chrome-extension"),
|
||||
'FIREFOX': chrome.runtime.getURL("/").startsWith("moz-extension")
|
||||
};
|
||||
|
||||
// Supported charsets for TextDecoder()
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/TextDecoder
|
||||
const EncodingTypes = {
|
||||
'unicode-1-1-utf-8': true,
|
||||
'utf-8': true,
|
||||
'utf8': true,
|
||||
'866': true,
|
||||
'cp866': true,
|
||||
'csibm866': true,
|
||||
'ibm866': true,
|
||||
'csisolatin2': true,
|
||||
'iso-8859-2': true,
|
||||
'iso-ir-101': true,
|
||||
'iso8859-2': true,
|
||||
'iso88592': true,
|
||||
'iso_8859-2': true,
|
||||
'iso_8859-2:1987': true,
|
||||
'l2': true,
|
||||
'latin2': true,
|
||||
'csisolatin3': true,
|
||||
'iso-8859-3': true,
|
||||
'iso-ir-109': true,
|
||||
'iso8859-3': true,
|
||||
'iso88593': true,
|
||||
'iso_8859-3': true,
|
||||
'iso_8859-3:1988': true,
|
||||
'l3': true,
|
||||
'latin3': true,
|
||||
'csisolatin4': true,
|
||||
'iso-8859-4': true,
|
||||
'iso-ir-110': true,
|
||||
'iso8859-4': true,
|
||||
'iso88594': true,
|
||||
'iso_8859-4': true,
|
||||
'iso_8859-4:1988': true,
|
||||
'l4': true,
|
||||
'latin4': true,
|
||||
'csisolatincyrillic': true,
|
||||
'cyrillic': true,
|
||||
'iso-8859-5': true,
|
||||
'iso-ir-144': true,
|
||||
'iso88595': true,
|
||||
'iso_8859-5': true,
|
||||
'iso_8859-5:1988': true,
|
||||
'arabic': true,
|
||||
'asmo-708': true,
|
||||
'csiso88596e': true,
|
||||
'csiso88596i': true,
|
||||
'csisolatinarabic': true,
|
||||
'ecma-114': true,
|
||||
'iso-8859-6': true,
|
||||
'iso-8859-6-e': true,
|
||||
'iso-8859-6-i': true,
|
||||
'iso-ir-127': true,
|
||||
'iso8859-6': true,
|
||||
'iso88596': true,
|
||||
'iso_8859-6': true,
|
||||
'iso_8859-6:1987': true,
|
||||
'csisolatingreek': true,
|
||||
'ecma-118': true,
|
||||
'elot_928': true,
|
||||
'greek': true,
|
||||
'greek8': true,
|
||||
'iso-8859-7': true,
|
||||
'iso-ir-126': true,
|
||||
'iso8859-7': true,
|
||||
'iso88597': true,
|
||||
'iso_8859-7': true,
|
||||
'iso_8859-7:1987': true,
|
||||
'sun_eu_greek': true,
|
||||
'csiso88598e': true,
|
||||
'csisolatinhebrew': true,
|
||||
'hebrew': true,
|
||||
'iso-8859-8': true,
|
||||
'iso-8859-8-e': true,
|
||||
'iso-ir-138': true,
|
||||
'iso8859-8': true,
|
||||
'iso88598': true,
|
||||
'iso_8859-8': true,
|
||||
'iso_8859-8:1988': true,
|
||||
'visual': true,
|
||||
'csiso88598i': true,
|
||||
'iso-8859-8-i': true,
|
||||
'logical': true,
|
||||
'csisolatin6': true,
|
||||
'iso-8859-10': true,
|
||||
'iso-ir-157': true,
|
||||
'iso8859-10': true,
|
||||
'iso885910': true,
|
||||
'l6': true,
|
||||
'latin6': true,
|
||||
'iso-8859-13': true,
|
||||
'iso8859-13': true,
|
||||
'iso885913': true,
|
||||
'iso-8859-14': true,
|
||||
'iso8859-14': true,
|
||||
'iso885914': true,
|
||||
'csisolatin9': true,
|
||||
'iso-8859-15': true,
|
||||
'iso8859-15': true,
|
||||
'iso885915': true,
|
||||
'l9': true,
|
||||
'latin9': true,
|
||||
'iso-8859-16': true,
|
||||
'cskoi8r': true,
|
||||
'koi': true,
|
||||
'koi8': true,
|
||||
'koi8-r': true,
|
||||
'koi8_r': true,
|
||||
'koi8-u': true,
|
||||
'csmacintosh': true,
|
||||
'mac': true,
|
||||
'macintosh': true,
|
||||
'x-mac-roman': true,
|
||||
'dos-874': true,
|
||||
'iso-8859-11': true,
|
||||
'iso8859-11': true,
|
||||
'iso885911': true,
|
||||
'tis-620': true,
|
||||
'windows-874': true,
|
||||
'cp1250': true,
|
||||
'windows-1250': true,
|
||||
'x-cp1250': true,
|
||||
'cp1251': true,
|
||||
'windows-1251': true,
|
||||
'x-cp1251': true,
|
||||
'ansi_x3.4-1968': true,
|
||||
'ascii': true,
|
||||
'cp1252': true,
|
||||
'cp819': true,
|
||||
'csisolatin1': true,
|
||||
'ibm819': true,
|
||||
'iso-8859-1': true,
|
||||
'iso-ir-100': true,
|
||||
'iso8859-1': true,
|
||||
'iso88591': true,
|
||||
'iso_8859-1': true,
|
||||
'iso_8859-1:1987': true,
|
||||
'l1': true,
|
||||
'latin1': true,
|
||||
'us-ascii': true,
|
||||
'windows-1252': true,
|
||||
'x-cp1252': true,
|
||||
'cp1253': true,
|
||||
'windows-1253': true,
|
||||
'x-cp1253': true,
|
||||
'cp1254': true,
|
||||
'csisolatin5': true,
|
||||
'iso-8859-9': true,
|
||||
'iso-ir-148': true,
|
||||
'iso8859-9': true,
|
||||
'iso88599': true,
|
||||
'iso_8859-9': true,
|
||||
'iso_8859-9:1989': true,
|
||||
'l5': true,
|
||||
'latin5': true,
|
||||
'windows-1254': true,
|
||||
'x-cp1254': true,
|
||||
'cp1255': true,
|
||||
'windows-1255': true,
|
||||
'x-cp1255': true,
|
||||
'cp1256': true,
|
||||
'windows-1256': true,
|
||||
'x-cp1256': true,
|
||||
'cp1257': true,
|
||||
'windows-1257': true,
|
||||
'x-cp1257': true,
|
||||
'cp1258': true,
|
||||
'windows-1258': true,
|
||||
'x-cp1258': true,
|
||||
'x-mac-cyrillic': true,
|
||||
'x-mac-ukrainian': true,
|
||||
'chinese': true,
|
||||
'csgb2312': true,
|
||||
'csiso58gb231280': true,
|
||||
'gb2312': true,
|
||||
'gb_2312': true,
|
||||
'gb_2312-80': true,
|
||||
'gbk': true,
|
||||
'iso-ir-58': true,
|
||||
'x-gbk': true,
|
||||
'gb18030': true,
|
||||
'hz-gb-2312': true,
|
||||
'big5': true,
|
||||
'big5-hkscs': true,
|
||||
'cn-big5': true,
|
||||
'csbig5': true,
|
||||
'x-x-big5': true,
|
||||
'cseucpkdfmtjapanese': true,
|
||||
'euc-jp': true,
|
||||
'x-euc-jp': true,
|
||||
'csiso2022jp': true,
|
||||
'iso-2022-jp': true,
|
||||
'iso-2022-jp-2': true,
|
||||
'iso-2022-jp': true,
|
||||
'csshiftjis': true,
|
||||
'ms_kanji': true,
|
||||
'shift-jis': true,
|
||||
'shift_jis': true,
|
||||
'sjis': true,
|
||||
'windows-31j': true,
|
||||
'x-sjis': true,
|
||||
'cseuckr': true,
|
||||
'csksc56011987': true,
|
||||
'euc-kr': true,
|
||||
'iso-ir-149': true,
|
||||
'korean': true,
|
||||
'ks_c_5601-1987': true,
|
||||
'ks_c_5601-1989': true,
|
||||
'ksc5601': true,
|
||||
'ksc_5601': true,
|
||||
'windows-949': true,
|
||||
'csiso2022kr': true,
|
||||
'iso-2022-kr': true,
|
||||
'utf-16be': true,
|
||||
'utf-16': true,
|
||||
'utf-16le': true,
|
||||
'x-user-defined': true,
|
||||
'iso-2022-cn': true,
|
||||
'iso-2022-cn-ext': true
|
||||
};
|
||||
|
|
|
@ -131,6 +131,9 @@ var files = {
|
|||
// AngularJS ui-select
|
||||
'resources/angular-ui-select/0.20.0/select.min.jsm': true,
|
||||
|
||||
// Angular Sanitize
|
||||
'resources/angular-sanitize/1.7.9/angular-sanitize.min.jsm': true,
|
||||
|
||||
// Backbone.js
|
||||
'resources/backbone.js/0.9.10/backbone-min.jsm': true,
|
||||
'resources/backbone.js/1.4.0/backbone-min.jsm': true,
|
||||
|
@ -144,7 +147,8 @@ var files = {
|
|||
'resources/bootstrap.css/4.4.1/bootstrap.min.css': true,
|
||||
|
||||
// Bootstrap-select
|
||||
'resources/bootstrap-select/1.13.14/bootstrap-select.min.css': true,
|
||||
'resources/bootstrap-select/1.13.17/bootstrap-select.min.css': true,
|
||||
'resources/bootstrap-select/1.13.17/bootstrap-select.min.jsm': true,
|
||||
|
||||
// bootstrap-slider
|
||||
'resources/bootstrap-slider/10.6.2/bootstrap-slider.min.css': true,
|
||||
|
@ -153,6 +157,10 @@ var files = {
|
|||
// Bootstrap Daterangepicker
|
||||
'resources/bootstrap-daterangepicker/2.1.27/daterangepicker.min.jsm': true,
|
||||
|
||||
// Bootstrap Datepicker
|
||||
'resources/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.jsm': true,
|
||||
'resources/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.standalone.min.css': true,
|
||||
|
||||
// clipboard.js
|
||||
'resources/clipboard.js/2.0.6/clipboard.min.jsm': true,
|
||||
|
||||
|
@ -238,6 +246,9 @@ var files = {
|
|||
// jQuery URLive
|
||||
'resources/urlive/1.1.1/jquery.urlive.min.jsm': true,
|
||||
|
||||
// jQuery Mobile
|
||||
'resources/jquery-mobile/1.4.5/jquery.mobile.min.jsm': true,
|
||||
|
||||
// JavaScript Cookie
|
||||
'resources/js-cookie/2.2.1/js.cookie.min.jsm': true,
|
||||
|
||||
|
@ -325,6 +336,8 @@ var files = {
|
|||
'resources/toastr.js/2.1.4/toastr.min.jsm': true,
|
||||
|
||||
// Twitter Bootstrap
|
||||
'resources/twitter-bootstrap/2.3.2/js/bootstrap.min.jsm': true,
|
||||
'resources/twitter-bootstrap/2.3.2/css/bootstrap.min.css': true,
|
||||
'resources/twitter-bootstrap/3.4.1/js/bootstrap.min.jsm': true,
|
||||
'resources/twitter-bootstrap/3.4.1/css/bootstrap.min.css': true,
|
||||
'resources/twitter-bootstrap/4.5.0/js/bootstrap.min.jsm': true,
|
||||
|
|
|
@ -26,18 +26,6 @@ var manipulateDOM = {};
|
|||
* Private Methods
|
||||
*/
|
||||
|
||||
manipulateDOM._getEncoding = function (domain) {
|
||||
|
||||
let encodingByDomain = CharsetDomains[domain];
|
||||
|
||||
if(typeof encodingByDomain === 'undefined') {
|
||||
return 'UTF-8';
|
||||
}
|
||||
|
||||
return encodingByDomain;
|
||||
|
||||
};
|
||||
|
||||
manipulateDOM._removeCrossOriginAndIntegrityAttr = function (details) {
|
||||
|
||||
// by Jaap (https://gitlab.com/Jaaap)
|
||||
|
@ -55,9 +43,16 @@ manipulateDOM._removeCrossOriginAndIntegrityAttr = function (details) {
|
|||
|
||||
let asciiDecoder, decoder, encoder, charset, isFirstData, filter;
|
||||
|
||||
charset = /charset\s*=/.test(header.value) && header.value.replace(/^.*?charset\s*=\s*/, '').replace(/["']?/g, '');
|
||||
|
||||
// Check if charset is supported by TextDecoder()
|
||||
if(/charset\s*=/.test(header.value) && !EncodingTypes[charset.toString().toLowerCase()]){
|
||||
console.error('[ LocalCDN ] Unsupported charset: ' + charset);
|
||||
return;
|
||||
}
|
||||
|
||||
asciiDecoder = new TextDecoder('ASCII');
|
||||
encoder = new TextEncoder();
|
||||
charset = /charset\s*=/.test(header.value) && header.value.replace(/^.*?charset\s*=\s*/, '');
|
||||
isFirstData = true;
|
||||
filter = browser.webRequest.filterResponseData(details.requestId);
|
||||
|
||||
|
@ -71,7 +66,7 @@ manipulateDOM._removeCrossOriginAndIntegrityAttr = function (details) {
|
|||
let htmlHead = asciiDecoder.decode(evt.data, {stream: false});
|
||||
let charsetMatch = htmlHead.match(/<meta\s+charset=["']?([^>"'\/]+)["'>\/]/i);
|
||||
if (!charsetMatch) {
|
||||
charsetMatch = htmlHead.match(/<meta\s+http-equiv=["']?content-type["']?\s+content=["']?text\/html;\s+charset=([^>"'\/]+)["'>\/]/i);
|
||||
charsetMatch = htmlHead.match(/<meta\s+http-equiv=["']?content-type["']?\s+content=["']?text\/html;\s*charset=([^>"'\/]+)["'>\/]/i);
|
||||
}
|
||||
charset = charsetMatch ? charsetMatch[1] : "UTF-8";
|
||||
}
|
||||
|
|
|
@ -100,11 +100,16 @@ var mappings = {
|
|||
'angularjs-toaster/{version}/toaster.min.js': resources.angularJsToasterJS,
|
||||
'angularjs-toaster/{version}/toaster.css': resources.angularJsToasterCSS,
|
||||
'angularjs-toaster/{version}/toaster.js': resources.angularJsToasterJS,
|
||||
'angular-sanitize/{version}/angular-sanitize.': resources.angularSanitize,
|
||||
'animate.css/{version}/animate.': resources.animateCSS,
|
||||
'backbone.js/{version}/backbone.': resources.backbone,
|
||||
'backbone.js/{version}/backbone-min.': resources.backbone,
|
||||
'bootstrap-daterangepicker/{version}/daterangepicker.': resources.bootstrapDaterangepicker,
|
||||
'bootstrap-datepicker/{version}/js/bootstrap-datepicker.': resources.bootstrapDatepickerJS,
|
||||
'bootstrap-datepicker/{version}/css/bootstrap-datepicker.': resources.bootstrapDatepickerCSS,
|
||||
'bootstrap-datepicker/{version}/css/datepicker.': resources.bootstrapDatepickerCSS,
|
||||
'bootstrap-select/{version}/css/bootstrap-select.': resources.bootstrapSelectCSS,
|
||||
'bootstrap-select/{version}/js/bootstrap-select.': resources.bootstrapSelectJS,
|
||||
'bootstrap-slider/{version}/css/bootstrap-slider.min.css': resources.bootstrapSliderCSS,
|
||||
'bootstrap-slider/{version}/css/bootstrap-slider.css': resources.bootstrapSliderCSS,
|
||||
'bootstrap-slider/{version}/bootstrap-slider.min.js': resources.bootstrapSliderJS,
|
||||
|
@ -164,6 +169,10 @@ var mappings = {
|
|||
'twitter-bootstrap/{version}-alpha.3/js/bootstrap.min.js': resources.twitterBootstrapJS,
|
||||
'twitter-bootstrap/{version}-alpha.3/css/bootstrap.min.css': resources.twitterBootstrapCSS,
|
||||
'twitter-bootstrap/{version}/css/bootstrap.': resources.twitterBootstrapCSS,
|
||||
'twitter-bootstrap/{version}/bootstrap.min.js': resources.twitterBootstrapJS,
|
||||
'twitter-bootstrap/{version}/bootstrap.js': resources.twitterBootstrapJS,
|
||||
'twitter-bootstrap/{version}/bootstrap.min.css': resources.twitterBootstrapCSS,
|
||||
'twitter-bootstrap/{version}/bootstrap.css': resources.twitterBootstrapCSS,
|
||||
'underscore.js/{version}/underscore.': resources.underscore,
|
||||
'underscore.js/{version}/underscore-min.': resources.underscore,
|
||||
'urlive/{version}/jquery.urlive.': resources.jqueryURLive,
|
||||
|
@ -180,6 +189,7 @@ var mappings = {
|
|||
'jquery-{version}.': resources.jQuery,
|
||||
'ui/{version}/jquery-ui.js': resources.jQueryUI,
|
||||
'ui/{version}/jquery-ui.min.js': resources.jQueryUI,
|
||||
'mobile/{version}/jquery.mobile': resources.jQueryMobile,
|
||||
|
||||
// Basic Shorthand Notations [Deprecated]
|
||||
'jquery-latest.': {
|
||||
|
@ -420,39 +430,6 @@ var mappings = {
|
|||
'webfont/{version}/webfont_debug.': resources.webfont
|
||||
}
|
||||
},
|
||||
// Baidu CDN
|
||||
'apps.bdimg.com': {
|
||||
'/libs/': {
|
||||
'angular.js/{version}/angular-animate.': resources.angularAnimate,
|
||||
'angular.js/{version}/angular-aria.': resources.angularAria,
|
||||
'angular.js/{version}/angular-cookies.': resources.angularCookies,
|
||||
'angular.js/{version}/angular-loader.': resources.angularLoader,
|
||||
'angular.js/{version}/angular-message-format.': resources.angularMessageFormat,
|
||||
'angular.js/{version}/angular-messages.': resources.angularMessages,
|
||||
'angular.js/{version}/angular-parse-ext.': resources.angularParseExt,
|
||||
'angular.js/{version}/angular-resource.': resources.angularResource,
|
||||
'angular.js/{version}/angular-route.': resources.angularRoute,
|
||||
'angular.js/{version}/angular-sanitize.': resources.angularSanitize,
|
||||
'angular.js/{version}/angular-touch.': resources.angularTouch,
|
||||
'angular.js/{version}/angular.': resources.angular,
|
||||
'backbone.js/{version}/backbone.': resources.backbone,
|
||||
'backbone.js/{version}/backbone-min.': resources.backbone,
|
||||
'dojo/{version}/dojo.': resources.dojo,
|
||||
'ember.js/{version}/ember.min.js': resources.ember.js,
|
||||
'ext-core/{version}/ext-core.': resources.extCore,
|
||||
'jquery/{version}/jquery.': resources.jQuery,
|
||||
'jqueryui/{version}/jquery-ui.js': resources.jQueryUI,
|
||||
'jqueryui/{version}/jquery-ui.min.js': resources.jQueryUI,
|
||||
'mootools/{version}/mootools-yui-compressed.': resources.mootools,
|
||||
'prototype/{version}/prototype.': resources.prototypeJS,
|
||||
'scriptaculous/{version}/scriptaculous.': resources.scriptaculous,
|
||||
'swfobject/{version}/swfobject.': resources.swfobject,
|
||||
'underscore.js/{version}/underscore.': resources.underscore,
|
||||
'underscore.js/{version}/underscore-min.': resources.underscore,
|
||||
'webfont/{version}/webfont.': resources.webfont,
|
||||
'webfont/{version}/webfont_debug.': resources.webfont
|
||||
}
|
||||
},
|
||||
// Staticfile CDN
|
||||
'cdn.staticfile.org': {
|
||||
'/': {
|
||||
|
|
|
@ -131,6 +131,11 @@ var resources = {
|
|||
'path': 'resources/angular-stripe-checkout/{version}/angular-stripe-checkout.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// Angular Sanitize
|
||||
'angularSanitize': {
|
||||
'path': 'resources/angular-sanitize/{version}/angular-sanitize.min.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// Animate CSS
|
||||
'animateCSS': {
|
||||
'path': 'resources/animate.css/{version}/animate.min.css',
|
||||
|
@ -151,16 +156,29 @@ var resources = {
|
|||
'path': 'resources/bootstrap.css/{version}/bootstrap.min.css',
|
||||
'type': 'text/css'
|
||||
},
|
||||
// Bootstrap Datepicker
|
||||
// Bootstrap Daterangepicker
|
||||
'bootstrapDaterangepicker': {
|
||||
'path': 'resources/bootstrap-daterangepicker/{version}/daterangepicker.min.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// Bootstrap Datepicker
|
||||
'bootstrapDatepickerCSS': {
|
||||
'path': 'resources/bootstrap-datepicker/{version}/css/bootstrap-datepicker.standalone.min.css',
|
||||
'type': 'text/css'
|
||||
},
|
||||
'bootstrapDatepickerJS': {
|
||||
'path': 'resources/bootstrap-datepicker/{version}/js/bootstrap-datepicker.min.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// Bootstrap-select
|
||||
'bootstrapSelectCSS': {
|
||||
'path': 'resources/bootstrap-select/{version}/css/bootstrap-select.min.css',
|
||||
'type': 'text/css'
|
||||
},
|
||||
'bootstrapSelectJS': {
|
||||
'path': 'resources/bootstrap-select/{version}/js/bootstrap-select.min.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// bootstrap-slider (Slider for Bootstrap 3)
|
||||
'bootstrapSliderCSS': {
|
||||
'path': 'resources/bootstrap-slider/{version}/bootstrap-slider.min.css',
|
||||
|
@ -289,6 +307,11 @@ var resources = {
|
|||
'path': 'resources/jquery-validate/{version}/jquery.validate.min.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// jQuery Mobile
|
||||
'jQueryMobile': {
|
||||
'path': 'resources/jquery-mobile/{version}/jquery.mobile.min.jsm',
|
||||
'type': 'application/javascript'
|
||||
},
|
||||
// js-cookie
|
||||
'jscookie': {
|
||||
'path': 'resources/js-cookie/{version}/js.cookie.min.jsm',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"manifest_version": 2,
|
||||
"name": "LocalCDN (fork from Decentraleyes)",
|
||||
"version": "2.2.2",
|
||||
"version": "2.2.3",
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}",
|
||||
|
|
|
@ -252,6 +252,8 @@ helpers.determineResourceName = function (filename) {
|
|||
return 'Angular Payments';
|
||||
case 'angular-stripe-checkout.jsm':
|
||||
return 'Angular Stripe Checkout';
|
||||
case 'angular-sanitize.min.js':
|
||||
return 'Angular Sanitize';
|
||||
case 'animate.min.css':
|
||||
return 'Animate CSS'
|
||||
case 'backbone-min.jsm':
|
||||
|
@ -263,9 +265,15 @@ helpers.determineResourceName = function (filename) {
|
|||
case 'bootstrap.min.jsm':
|
||||
return 'Bootstrap JS';
|
||||
case 'daterangepicker.min.jsm':
|
||||
return 'Bootstrap Datepicker';
|
||||
return 'Bootstrap Daterangepicker';
|
||||
case 'bootstrap-datepicker.min.jsm':
|
||||
return 'Bootstrap Datepicker JS';
|
||||
case 'bootstrap-datepicker.standalone.min.css':
|
||||
return 'Bootstrap Datepicker CSS';
|
||||
case 'bootstrap-select.min.css':
|
||||
return 'Bootstrap-select CSS';
|
||||
case 'bootstrap-select.min.jsm':
|
||||
return 'Bootstrap-select JS';
|
||||
case 'bootstrap-slider.min.jsm':
|
||||
return 'bootstrap-slider JS';
|
||||
case 'bootstrap-slider.min.css':
|
||||
|
@ -316,6 +324,8 @@ helpers.determineResourceName = function (filename) {
|
|||
return 'jQuery Validation Plugin';
|
||||
case 'jquery.urlive.min.jsm':
|
||||
return 'jQuery URLive';
|
||||
case 'jquery.mobile.min.jsm':
|
||||
return 'jQuery Mobile';
|
||||
case 'js.cookie.min.jsm':
|
||||
return 'JavaScript Cookie';
|
||||
case 'lazysizes.min.jsm':
|
||||
|
@ -480,6 +490,8 @@ helpers.setLastVersion = function (type, version) {
|
|||
else version = '1.0.25'; // > 0.4.3
|
||||
} else if (type.includes('/angular-ui-select/0.')) {
|
||||
version = '0.20.0';
|
||||
} else if (type.includes('/angular-sanitize/1.')) {
|
||||
version = '1.7.9';
|
||||
} else if (type.includes('/angucomplete-alt/3.')) {
|
||||
version = '3.0.0';
|
||||
} else if (type.includes('/animate.css/3.')) {
|
||||
|
@ -498,10 +510,12 @@ helpers.setLastVersion = function (type, version) {
|
|||
version = '4.4.1';
|
||||
} else if (type.includes('/bootstrap-daterangepicker/2.')) {
|
||||
version = '2.1.27';
|
||||
} else if (type.includes('/bootstrap-datepicker/1.')) {
|
||||
version = '1.9.0';
|
||||
} else if (type.includes('/bootstrap-slider/10.')) {
|
||||
version = '10.6.2';
|
||||
} else if (type.includes('/bootstrap-select/1.')) {
|
||||
version = '1.13.14';
|
||||
version = '1.13.17';
|
||||
} else if (type.includes('/clipboard.js/2.')) {
|
||||
version = '2.0.6';
|
||||
} else if (type.includes('/d3/3.')) {
|
||||
|
@ -559,6 +573,8 @@ helpers.setLastVersion = function (type, version) {
|
|||
version = '1.19.1';
|
||||
} else if (type.includes('/jquery-jeditable/1.')) {
|
||||
version = '1.8.0';
|
||||
} else if (type.includes('/mobile/1.')) {
|
||||
version = '1.4.5';
|
||||
} else if (type.includes('/urlive/1.')) {
|
||||
version = '1.1.1';
|
||||
} else if (type.includes('/js-cookie/2.')) {
|
||||
|
@ -615,6 +631,8 @@ helpers.setLastVersion = function (type, version) {
|
|||
version = '4.5.0';
|
||||
} else if (type.includes('/twitter-bootstrap/3.')) {
|
||||
version = '3.4.1';
|
||||
} else if (type.includes('/twitter-bootstrap/2.')) {
|
||||
version = '2.3.2';
|
||||
} else if (type.includes('/toastr.js/2.')) {
|
||||
version = '2.1.4';
|
||||
} else if (type.includes('/underscore.js/1.')) {
|
||||
|
|
|
@ -21,10 +21,18 @@
|
|||
<div class="subtle-hint">
|
||||
<div class="topic-label">
|
||||
New in LocalCDN:
|
||||
<ul>
|
||||
<li>Addition to the encoding problem (<a href="https://gitlab.com/nobody42/localcdn/-/issues/75">#75</a>)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<ul>
|
||||
<li>Fixed: Identify correct charset if its in quotation marks</li>
|
||||
<li>Mapping: Removed duplicates</li>
|
||||
<li>DOM manipulation: Check if charset is supported by TextDecoder()</li>
|
||||
<li>Added: jQuery Mobile v1.4.5</li>
|
||||
<li>Added: Twitter-Bootstrap JS and CSS v2.3.2</li>
|
||||
<li>Updated: Bootstrap-Select CSS to v1.13.17</li>
|
||||
<li>Added: Bootstrap-Select JS v1.13.17</li>
|
||||
<li>Added: Angular Sanitize v1.7.9</li>
|
||||
<li>Added: Bootstrap Datepicker JS and CSS v1.9.0</li>
|
||||
</ul>
|
||||
|
||||
<div class="topic-label">
|
||||
Please update your uBlock/uMatrix rules
|
||||
|
@ -41,6 +49,10 @@
|
|||
<input id="button-copy-rule-set" type="button" value="Copy">
|
||||
<hr/>
|
||||
<h2>History</h2>
|
||||
<p class='release-date'>2020-05-21 (v2.2.2)</p>
|
||||
<ul>
|
||||
<li>Addition to the encoding problem (<a href="https://gitlab.com/nobody42/localcdn/-/issues/75">#75</a>)</li>
|
||||
</ul>
|
||||
<p class='release-date'>2020-05-16 (v2.2.1)</p>
|
||||
<ul>
|
||||
<li>Fixed: Encoding problem with some websites (maybe only temporary, because at the moment only 9 websites are affected) (<a href="https://gitlab.com/nobody42/localcdn/-/issues/75">#75</a>)</li>
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
AngularJS v1.7.9
|
||||
(c) 2010-2018 Google, Inc. http://angularjs.org
|
||||
License: MIT
|
||||
*/
|
||||
(function(s,c){'use strict';function P(c){var h=[];C(h,E).chars(c);return h.join("")}var D=c.$$minErr("$sanitize"),F,h,G,H,I,q,E,J,K,C;c.module("ngSanitize",[]).provider("$sanitize",function(){function f(a,e){return B(a.split(","),e)}function B(a,e){var d={},b;for(b=0;b<a.length;b++)d[e?q(a[b]):a[b]]=!0;return d}function t(a,e){e&&e.length&&h(a,B(e))}function Q(a){for(var e={},d=0,b=a.length;d<b;d++){var k=a[d];e[k.name]=k.value}return e}function L(a){return a.replace(/&/g,"&").replace(z,function(a){var d=
|
||||
a.charCodeAt(0);a=a.charCodeAt(1);return"&#"+(1024*(d-55296)+(a-56320)+65536)+";"}).replace(u,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function A(a){for(;a;){if(a.nodeType===s.Node.ELEMENT_NODE)for(var e=a.attributes,d=0,b=e.length;d<b;d++){var k=e[d],g=k.name.toLowerCase();if("xmlns:ns1"===g||0===g.lastIndexOf("ns1:",0))a.removeAttributeNode(k),d--,b--}(e=a.firstChild)&&A(e);a=v("nextSibling",a)}}function v(a,e){var d=e[a];if(d&&J.call(e,d))throw D("elclob",
|
||||
e.outerHTML||e.outerText);return d}var y=!1,g=!1;this.$get=["$$sanitizeUri",function(a){y=!0;g&&h(m,l);return function(e){var d=[];K(e,C(d,function(b,d){return!/^unsafe:/.test(a(b,d))}));return d.join("")}}];this.enableSvg=function(a){return I(a)?(g=a,this):g};this.addValidElements=function(a){y||(H(a)&&(a={htmlElements:a}),t(l,a.svgElements),t(r,a.htmlVoidElements),t(m,a.htmlVoidElements),t(m,a.htmlElements));return this};this.addValidAttrs=function(a){y||h(M,B(a,!0));return this};F=c.bind;h=c.extend;
|
||||
G=c.forEach;H=c.isArray;I=c.isDefined;q=c.$$lowercase;E=c.noop;K=function(a,e){null===a||void 0===a?a="":"string"!==typeof a&&(a=""+a);var d=N(a);if(!d)return"";var b=5;do{if(0===b)throw D("uinput");b--;a=d.innerHTML;d=N(a)}while(a!==d.innerHTML);for(b=d.firstChild;b;){switch(b.nodeType){case 1:e.start(b.nodeName.toLowerCase(),Q(b.attributes));break;case 3:e.chars(b.textContent)}var k;if(!(k=b.firstChild)&&(1===b.nodeType&&e.end(b.nodeName.toLowerCase()),k=v("nextSibling",b),!k))for(;null==k;){b=
|
||||
v("parentNode",b);if(b===d)break;k=v("nextSibling",b);1===b.nodeType&&e.end(b.nodeName.toLowerCase())}b=k}for(;b=d.firstChild;)d.removeChild(b)};C=function(a,e){var d=!1,b=F(a,a.push);return{start:function(a,g){a=q(a);!d&&w[a]&&(d=a);d||!0!==m[a]||(b("<"),b(a),G(g,function(d,g){var c=q(g),f="img"===a&&"src"===c||"background"===c;!0!==M[c]||!0===O[c]&&!e(d,f)||(b(" "),b(g),b('="'),b(L(d)),b('"'))}),b(">"))},end:function(a){a=q(a);d||!0!==m[a]||!0===r[a]||(b("</"),b(a),b(">"));a==d&&(d=!1)},chars:function(a){d||
|
||||
b(L(a))}}};J=s.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&16)};var z=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/([^#-~ |!])/g,r=f("area,br,col,hr,img,wbr"),x=f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),p=f("rp,rt"),n=h({},p,x),x=h({},x,f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),p=h({},p,f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),
|
||||
l=f("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),w=f("script,style"),m=h({},r,x,p,n),O=f("background,cite,href,longdesc,src,xlink:href,xml:base"),n=f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),
|
||||
p=f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",
|
||||
!0),M=h({},O,p,n),N=function(a,e){function d(b){b="<remove></remove>"+b;try{var d=(new a.DOMParser).parseFromString(b,"text/html").body;d.firstChild.remove();return d}catch(e){}}function b(a){c.innerHTML=a;e.documentMode&&A(c);return c}var g;if(e&&e.implementation)g=e.implementation.createHTMLDocument("inert");else throw D("noinert");var c=(g.documentElement||g.getDocumentElement()).querySelector("body");c.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>';return c.querySelector("svg")?
|
||||
(c.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',c.querySelector("svg img")?d:b):function(b){b="<remove></remove>"+b;try{b=encodeURI(b)}catch(d){return}var e=new a.XMLHttpRequest;e.responseType="document";e.open("GET","data:text/html;charset=utf-8,"+b,!1);e.send(null);b=e.response.body;b.firstChild.remove();return b}}(s,s.document)}).info({angularVersion:"1.7.9"});c.module("ngSanitize").filter("linky",["$sanitize",function(f){var h=/((s?ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,
|
||||
t=/^mailto:/i,q=c.$$minErr("linky"),s=c.isDefined,A=c.isFunction,v=c.isObject,y=c.isString;return function(c,z,u){function r(c){c&&l.push(P(c))}function x(c,g){var f,a=p(c);l.push("<a ");for(f in a)l.push(f+'="'+a[f]+'" ');!s(z)||"target"in a||l.push('target="',z,'" ');l.push('href="',c.replace(/"/g,"""),'">');r(g);l.push("</a>")}if(null==c||""===c)return c;if(!y(c))throw q("notstring",c);for(var p=A(u)?u:v(u)?function(){return u}:function(){return{}},n=c,l=[],w,m;c=n.match(h);)w=c[0],c[2]||
|
||||
c[4]||(w=(c[3]?"http://":"mailto:")+w),m=c.index,r(n.substr(0,m)),x(w,c[0].replace(t,"")),n=n.substring(m+c[0].length);r(n);return f(l.join(""))}}])})(window,window.angular);
|
||||
//# sourceMappingURL=angular-sanitize.min.js.map
|
7
resources/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.standalone.min.css
vendored
Normal file
7
resources/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.standalone.min.css
vendored
Normal file
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
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
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue