UNPKG

trusted-types

Version:

Polyfill for the Trusted Types

31 lines (26 loc) 11.5 kB
(function(){/* Copyright 2017 Google Inc. All Rights Reserved. Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE. https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document */ function aa(a){var c=0;return function(){return c<a.length?{done:!1,value:a[c++]}:{done:!0}}}var u="function"==typeof Object.defineProperties?Object.defineProperty:function(a,c,e){a!=Array.prototype&&a!=Object.prototype&&(a[c]=e.value)},A="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ba(){ba=function(){};A.Symbol||(A.Symbol=ca)}function da(a,c){this.a=a;u(this,"description",{configurable:!0,writable:!0,value:c})} da.prototype.toString=function(){return this.a};var ca=function(){function a(e){if(this instanceof a)throw new TypeError("Symbol is not a constructor");return new da("jscomp_symbol_"+(e||"")+"_"+c++,e)}var c=0;return a}();function B(a){var c="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return c?c.call(a):{next:aa(a)}}function ea(a){for(var c,e=[];!(c=a.next()).done;)e.push(c.value);return e} var fa="function"==typeof Object.create?Object.create:function(a){function c(){}c.prototype=a;return new c},R;if("function"==typeof Object.setPrototypeOf)R=Object.setPrototypeOf;else{var S;a:{var ha={b:!0},ia={};try{ia.__proto__=ha;S=ia.b;break a}catch(a){}S=!1}R=S?function(a,c){a.__proto__=c;if(a.__proto__!==c)throw new TypeError(a+" is not extensible");return a}:null}var oa=R; function T(a,c){a.prototype=fa(c.prototype);a.prototype.constructor=a;if(oa)oa(a,c);else for(var e in c)if("prototype"!=e)if(Object.defineProperties){var k=Object.getOwnPropertyDescriptor(c,e);k&&Object.defineProperty(a,e,k)}else a[e]=c[e];a.C=c.prototype}function U(a,c){return Object.prototype.hasOwnProperty.call(a,c)} function pa(a,c){if(c){var e=A;a=a.split(".");for(var k=0;k<a.length-1;k++){var m=a[k];m in e||(e[m]={});e=e[m]}a=a[a.length-1];k=e[a];c=c(k);c!=k&&null!=c&&u(e,a,{configurable:!0,writable:!0,value:c})}} pa("WeakMap",function(a){function c(f){this.a=(G+=Math.random()+1).toString();if(f){f=B(f);for(var l;!(l=f.next()).done;)l=l.value,this.set(l[0],l[1])}}function e(){}function k(f){if(!U(f,p)){var l=new e;u(f,p,{value:l})}}function m(f){var l=Object[f];l&&(Object[f]=function(q){if(q instanceof e)return q;k(q);return l(q)})}if(function(){if(!a||!Object.seal)return!1;try{var f=Object.seal({}),l=Object.seal({}),q=new a([[f,2],[l,3]]);if(2!=q.get(f)||3!=q.get(l))return!1;q.delete(f);q.set(l,4);return!q.has(f)&& 4==q.get(l)}catch(W){return!1}}())return a;var p="$jscomp_hidden_"+Math.random();m("freeze");m("preventExtensions");m("seal");var G=0;c.prototype.set=function(f,l){k(f);if(!U(f,p))throw Error("WeakMap key fail: "+f);f[p][this.a]=l;return this};c.prototype.get=function(f){return U(f,p)?f[p][this.a]:void 0};c.prototype.has=function(f){return U(f,p)&&U(f[p],this.a)};c.prototype.delete=function(f){return U(f,p)&&U(f[p],this.a)?delete f[p][this.a]:!1};return c}); var qa="function"==typeof Object.assign?Object.assign:function(a,c){for(var e=1;e<arguments.length;e++){var k=arguments[e];if(k)for(var m in k)U(k,m)&&(a[m]=k[m])}return a};pa("Object.assign",function(a){return a||qa});var ra="onabort onactivate onactivateinvisible onafterprint onafterupdate onanimationcancel onanimationend onanimationiteration onanimationstart onariarequest onauxclick onbeforeactivate onbeforecopy onbeforecut onbeforedeactivate onbeforeeditfocus onbeforepaste onbeforeprint onbeforeunload onbegin onblur onbounce oncancel oncanplay oncanplaythrough oncellchange onchange onclick onclose oncommand oncontextmenu oncontrolselect oncopy oncuechange oncut ondataavailable ondatasetchanged ondatasetcomplete ondblclick ondeactivate ondrag ondragdrop ondragend ondragenter ondragexit ondragleave ondragover ondragstart ondrop ondurationchange onemptied onend onended onerror onerrorupdate onexit onfilterchange onfinish onfocus onfocusin onfocusout onformdata onfullscreenchange onfullscreenerror ongotpointercapture onhelp oninput oninvalid onkeydown onkeypress onkeyup onlayoutcomplete onload onloadeddata onloadedmetadata onloadend onloadstart onlosecapture onlostpointercapture onmediacomplete onmediaerror onmessage onmousedown onmouseenter onmouseleave onmousemove onmouseout onmouseover onmouseup onmousewheel onmove onmoveend onmovestart onmozfullscreenchange onmozfullscreenerror onmscontentzoom onmsgesturechange onmsgesturedoubletap onmsgestureend onmsgesturehold onmsgesturestart onmsgesturetap onmsgotpointercapture onmsinertiastart onmslostpointercapture onmsmanipulationstatechanged onmspointercancel onmspointerdown onmspointerenter onmspointerleave onmspointermove onmspointerout onmspointerover onmspointerup onoffline ononline onoutofsync onoverscroll onpaste onpause onplay onplaying onpointercancel onpointerdown onpointerenter onpointerleave onpointermove onpointerout onpointerover onpointerrawupdate onpointerup onprogress onpropertychange onratechange onreadystatechange onrepeat onreset onresize onresizeend onresizestart onresume onreverse onrowdelete onrowenter onrowexit onrowinserted onscroll onscrollend onsearch onseek onseeked onseeking onselect onselectionchange onselectstart onshow onstalled onstart onstop onstorage onsubmit onsuspend onsynchrestored ontimeerror ontimeupdate ontoggle ontrackchange ontransitioncancel ontransitionend ontransitionrun ontransitionstart onunload onurlflip onvolumechange onwaiting onwebkitanimationend onwebkitanimationiteration onwebkitanimationstart onwebkitfullscreenchange onwebkitfullscreenerror onwebkittransitionend onwheel".split(" "); function sa(){if("undefined"!==typeof window){var a=[],c;for(c in HTMLElement.prototype)"on"===c.slice(0,2)&&a.push(c);return a}return ra};var ta="undefined"!==typeof window;function ua(){throw new TypeError("undefined conversion");}function va(){return null}var wa=String.prototype,xa=wa.toLowerCase,ya=wa.toUpperCase;function za(){throw new TypeError("Illegal constructor");}function V(){throw new TypeError("Illegal constructor");} var X=function(){function a(b){return k.apply(this,arguments)||this}function c(b){return k.apply(this,arguments)||this}function e(b){return k.apply(this,arguments)||this}function k(b,d){if(b!==M)throw Error("cannot call the constructor");H(this,"policyName",{value:d,enumerable:!0})}function m(b){var d=Y.get(b);void 0===d&&(d=D(null),Y.set(b,d));return d}function p(b){var d=ja(b);if(null==d||ja(d)!==ka)throw Error();d=B(Z(d));for(var h=d.next();!h.done;h=d.next())h=h.value,H(b,h,{value:b[h]});return b} function G(b,d){x(b.prototype);delete b.name;H(b,"name",{value:d})}function f(b){return function(d){return d instanceof b&&Y.has(d)}}function l(b,d){function h(N,I){var Ba=d[I]||("default"==b?va:ua),Ca=x(new N(M,b));N={};I=(N[I]=function(Da,Ia){for(var v=[],E=1;E<arguments.length;++E)v[E-1]=arguments[E];v=Ba.apply(null,[""+Da].concat(v instanceof Array?v:ea(B(v))));if(void 0===v||null===v){if("default"==b)return v;v=""}v=""+v;E=x(D(Ca));m(E).v=v;return E},N)[I];return x(I)}for(var g=D(za.prototype), n=B(Z(O)),F=n.next();!F.done;F=n.next())F=F.value,g[F]=h(O[F],F);H(g,"name",{value:b,writable:!1,configurable:!1,enumerable:!0});return x(g)}function q(b,d,h,g,n){g=void 0===g?"":g;n=void 0===n?"":n;b=ya.apply(String(b));(g=n?n:g)||(g="http://www.w3.org/1999/xhtml");if(g=J.apply(w,[g])?w[g]:null){if(J.apply(g,[b])&&g[b]&&J.apply(g[b][d],[h])&&g[b][d][h])return g[b][d][h];if(J.apply(g,["*"])&&J.apply(g["*"][d],[h])&&g["*"][d][h])return g["*"][d][h]}}function W(){return K}var r=Object,Ea=r.assign,D= r.create,H=r.defineProperty,x=r.freeze,Z=r.getOwnPropertyNames,ja=r.getPrototypeOf,ka=r.prototype,J=ka.hasOwnProperty;r=Array.prototype;var Fa=r.forEach,Ga=r.push;ba();var M=Symbol(),Y=p(new WeakMap),L=p([]),P=p([]),la=!0,K=null,Q=!1;k.prototype.toString=function(){return m(this).v};k.prototype.valueOf=function(){return m(this).v};T(e,k);G(e,"TrustedScriptURL");T(c,k);G(c,"TrustedHTML");T(a,k);G(a,"TrustedScript");G(k,"TrustedType");r=x(D(new c(M,"")));m(r).v="";var ma=x(D(new a(M,"")));m(ma).v=""; var t={},w=(t["http://www.w3.org/1999/xhtml"]={EMBED:{attributes:{src:e.name}},IFRAME:{attributes:{srcdoc:c.name}},OBJECT:{attributes:{data:e.name,codebase:e.name}},SCRIPT:{attributes:{src:e.name,text:a.name},properties:{innerText:a.name,textContent:a.name,text:a.name}},"*":{attributes:{},properties:{innerHTML:c.name,outerHTML:c.name}}},t["http://www.w3.org/2000/svg"]={"*":{attributes:{},properties:{}}},t);t={codebase:"codeBase",formaction:"formAction"};!ta||"srcdoc"in HTMLIFrameElement.prototype|| delete w["http://www.w3.org/1999/xhtml"].IFRAME.attributes.srcdoc;for(var y=B(Object.keys(w["http://www.w3.org/1999/xhtml"])),z=y.next();!z.done;z=y.next()){z=z.value;w["http://www.w3.org/1999/xhtml"][z].properties||(w["http://www.w3.org/1999/xhtml"][z].properties={});for(var na=B(Object.keys(w["http://www.w3.org/1999/xhtml"][z].attributes)),C=na.next();!C.done;C=na.next())C=C.value,w["http://www.w3.org/1999/xhtml"][z].properties[t[C]?t[C]:C]=w["http://www.w3.org/1999/xhtml"][z].attributes[C]}t=B(sa()); for(y=t.next();!y.done;y=t.next())y=y.value,w["http://www.w3.org/1999/xhtml"]["*"].attributes[y]="TrustedScript",w["http://www.w3.org/2000/svg"]["*"].attributes[y]="TrustedScript";var O={createHTML:c,createScriptURL:e,createScript:a},Ha=O.hasOwnProperty;t=D(V.prototype);Ea(t,{createPolicy:function(b,d){if(!b.match(/^[-#a-zA-Z0-9=_/@.%]+$/g))throw new TypeError("Policy "+b+" contains invalid characters.");if(Q&&-1===P.indexOf(b)&&-1===P.indexOf("*"))throw new TypeError("Policy "+b+" disallowed."); if("default"===b&&K)throw new TypeError("Policy "+b+" already exists.");if(Q&&!la&&-1!==L.indexOf(b))throw new TypeError("Policy "+b+" exists.");L.push(b);var h=D(null);if(d&&"object"===typeof d)for(var g=B(Z(d)),n=g.next();!n.done;n=g.next())n=n.value,Ha.call(O,n)&&(h[n]=d[n]);else console.warn("trustedTypes.createPolicy "+b+" was given an empty policy");x(h);d=l(b,h);"default"===b&&(K=d);return d},j:f(c),m:f(e),l:f(a),g:function(b,d,h,g){h=void 0===h?"":h;g=void 0===g?"":g;d=xa.apply(String(d)); return q(b,"attributes",d,h,g)||null},h:function(b,d,h){return q(b,"properties",String(d),void 0===h?"":h)||null},i:function(b){b=void 0===b?"":b;if(!b)try{b=document.documentElement.namespaceURI}catch(d){b="http://www.w3.org/1999/xhtml"}return(b=w[b])?JSON.parse(JSON.stringify(b)):{}},c:r,f:ma,u:K,TrustedHTML:c,TrustedScriptURL:e,TrustedScript:a});H(t,"defaultPolicy",{get:W,set:function(){}});return{o:x(t),B:function(b,d){Q=!0;P.length=0;Fa.call(b,function(h){Ga.call(P,""+h)});la=d;L.length=0},s:function(){Q= !1},w:W,A:function(){K=null;L.splice(L.indexOf("default"),1)}}}().o;if("undefined"!==typeof window&&(window.TrustedTypes&&"undefined"===typeof window.trustedTypes&&(window.trustedTypes=Object.freeze(window.TrustedTypes)),"undefined"===typeof window.trustedTypes)){var Aa=Object.create(V.prototype);Object.assign(Aa,{isHTML:X.j,isScriptURL:X.m,isScript:X.l,createPolicy:X.createPolicy,getAttributeType:X.g,getPropertyType:X.h,getTypeMapping:X.i,emptyHTML:X.c,emptyScript:X.f,_isPolyfill_:!0});Object.defineProperty(Aa,"defaultPolicy",Object.getOwnPropertyDescriptor(X,"defaultPolicy")|| {});window.trustedTypes=Object.freeze(Aa);window.TrustedHTML=X.TrustedHTML;window.TrustedScriptURL=X.TrustedScriptURL;window.TrustedScript=X.TrustedScript;window.TrustedTypePolicy=za;window.TrustedTypePolicyFactory=V};}).call(this); //# sourceMappingURL=trustedtypes.api_only.build.js.map