diff --git a/__COMPILED/CSS_selector_engine.ielt8.js b/__COMPILED/CSS_selector_engine.ielt8.js index 2d835c6..afb90bb 100644 --- a/__COMPILED/CSS_selector_engine.ielt8.js +++ b/__COMPILED/CSS_selector_engine.ielt8.js @@ -1,24 +1,24 @@ -/* @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */ +/* qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */ ;(function(){ -var d=!0,j=null,s=!1,u=window;function w(){throw Error("SYNTAX_ERR");} -function aa(a,c,e,i,g,k,t,z,f){var O=e||[],q=!!g,x=!q&&c&&"number"==typeof c.length&&void 0===c.nodeType,n=q&&(c={})||(!c?document:x?c[0]:c),P,B=0,b,y,l,J=ba[(a[1]||"").replace(ca,"")]||0,V=2p&&h[2])ma.test(h[2])?"even"===h[2]?h[2]=[j,2]:"odd"===h[2]?h[2]=[j,2,"%",1]:(h[2]=h[2].match(na),h[2][0]=j):h[2]=[j,0,"%",h[2]],h[3]=p?"nodeIndexLast":"nodeIndex",h[4]=p?"lastChild":"firstChild",h[5]=p?"previousSibling": -"nextSibling";else if(17===p)f||w(),q=d,g=x?c:[c],a[r]=j;else if(12==p&&(m=h[2]))oa.test(m.charAt(0))&&oa.test(m.charAt(m.length-1))&&(h[2]=m.substr(1,m.length-2));1==a.length&&a[0]===j&&(a=j)}q&&(J=0);if(1==J)if(K){K=9===n.nodeType?n:n.ownerDocument;if(pa){g=K.getElementsByName(F);H=[];for(r=-1;b=g[++r];)b.id==F&&H.push(b)}else{H=[];for(g=[];b=K.getElementById(F);)g.push(b),m="id"in b?b.id:b.getAttribute("id"),m==F&&H.push(b),b.setAttribute("id",F+" _");for(r=-1;b=g[++r];)b.setAttribute("id",F)}g= -j;K=s}else L=L&&!C,Q=Q&&C&&!!G;q=(!x||1===c.length)&&!t&&!i&&!A&&!a&&!Q&&!L&&!K&&!z;do{switch(J){case 0:b=g[0];break;case 1:if(F)if(g=[],H.length)if(1+~\s])\s*/g,Ba=/~=/g,Ea=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,ga=/\./g,ra=/\s/g,Fa=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ia=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ka=/^([^(]+)(?:\((.+)\))?$/,Ca=/\-child\((\dn)\+(\d)\)/g,Da="-child\\($1%$2\\)",na=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,Ha=/([,>+~\s])/,Ia=/^\s+/, -ca=/\s/,ma=/\D/,oa=/['"]/,ba={"":1,",":1,">":2,"~":3,"+":4},ja={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},la={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Ja={checked:j,disabled:j,ismap:j,multiple:j,readonly:j,selected:j},Ka={value:"defaultValue",checked:"defaultChecked", -selected:"defaultSelected"},La={action:j,cite:j,codebase:j,data:j,href:j,longdesc:j,lowsrc:j,src:j,usemap:j},Y=document.documentElement;function U(a){for(var c=a.length>>>0,e=new Z,i=0;iparent.NodeList=Array;<\/script>"),Z=u.NodeList);C||(Ma=function(a){var c=[],e=this.all,i,g=-1;if(e.length)for(a=RegExp((a+"").replace(I,N));i=e[++g];)i.className&&a.test(i.className)&&c.push(i);return c}); -qa=Na?function(a,c){c=c.toLowerCase();return void 0!==Ka[c]?a[Ka[c]]||"":void 0!==La[c]?a.getAttribute(c,2)||"":void 0!==Ja[c]?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)}; -S=Y.matches||Y.webkitMatchesSelector||Y.mozMatchesSelector||Y.msMatchesSelector||Y.oMatchesSelector?function(a){if(!a)return s;if("*"===a||":root"===a&&this===Y||"body"===a&&this===document.body)return d;var c,e,i=s;if(!Ha.test(a)&&(c=this.parentNode)&&"querySelector"in c)i=c.querySelector(a),i!==j&&(i=i===this);if(!i&&i!==j&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(i=a[e]===this))return d;return!!i}:function(a){if(!a)return s;if("*"=== -a||this===Y&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return d;var c,e,i=s,g,a=za.call(a);if(c=a.match(Ga))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return i=!(e=c[2])||this.className&&RegExp(e.replace(ga," ").replace(I,N)).test(this.className),!!(i&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(Ha.test(a)){e=T.call(this.ownerDocument,a);for(g in e)if(Object.prototype.hasOwnProperty.call(e,g)&&(i=e[g]===this))return d;return s}e= -aa(a.match(Fa),j,j,s,this,d);return e[0]===this}};$="matchesSelector";Y[$]||(X.matches=Y.matches=X[$]=Y[$]=S);$="matches";$ in X||(X[$]=document.documentElement[$]=X.matchesSelector);$="querySelectorAll";X[$]=Y[$]=document[$]=function(a,c){return T.call(this,a,s,c)};$="querySelector";X[$]=Y[$]=document[$]=function(a,c){return T.call(this,a,d,c)||j};$="getElementsByClassName";document[$]||(X[$]=Y[$]=document[$]=Ma);X=$=j; +var d=void 0,j=!0,s=null,u=!1,w=window;function C(){throw Error("SYNTAX_ERR");} +function aa(a,c,e,i,g,k,t,z,f){var P=e||[],q=!!g,x=!q&&c&&"number"==typeof c.length&&c.nodeType===d,n=q&&(c={})||(!c?document:x?c[0]:c),Q,B=0,b,y,l,J=ba[(a[1]||"").replace(ca,"")]||0,W=2p&&h[2])ma.test(h[2])?"even"===h[2]?h[2]=[s,2]:"odd"===h[2]?h[2]=[s,2,"%",1]:(h[2]=h[2].match(na),h[2][0]=s):h[2]=[s,0,"%",h[2]],h[3]=p?"nodeIndexLast":"nodeIndex",h[4]=p?"lastChild":"firstChild",h[5]=p?"previousSibling":"nextSibling"; +else if(17===p)f||C(),q=j,g=x?c:[c],a[r]=s;else if(12==p&&(m=h[2]))oa.test(m.charAt(0))&&oa.test(m.charAt(m.length-1))&&(h[2]=m.substr(1,m.length-2));1==a.length&&a[0]===s&&(a=s)}q&&(J=0);if(1==J)if(L){L=9===n.nodeType?n:n.ownerDocument;if(pa){g=L.getElementsByName(F);H=[];for(r=-1;b=g[++r];)b.id==F&&H.push(b)}else{H=[];for(g=[];b=L.getElementById(F);)g.push(b),m="id"in b?b.id:b.getAttribute("id"),m==F&&H.push(b),b.setAttribute("id",F+" _");for(r=-1;b=g[++r];)b.setAttribute("id",F)}g=s;L=u}else M= +M&&!I,R=R&&I&&!!G;q=(!x||1===c.length)&&!t&&!i&&!A&&!a&&!R&&!M&&!L&&!z;do{switch(J){case 0:b=g[0];break;case 1:if(F)if(g=[],H.length)if(1+~\s])\s*/g,Ca=/~=/g,Fa=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,da=/\./g,ra=/\s/g,Ga=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ia=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ka=/^([^(]+)(?:\((.+)\))?$/,Da=/\-child\((\dn)\+(\d)\)/g,Ea="-child\\($1%$2\\)",na=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,Ia=/([,>+~\s])/,Ja=/^\s+/, +ca=/\s/,ma=/\D/,oa=/['"]/,ba={"":1,",":1,">":2,"~":3,"+":4},ja={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},la={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Ka={checked:s,disabled:s,ismap:s,multiple:s,readonly:s,selected:s},La={value:"defaultValue",checked:"defaultChecked", +selected:"defaultSelected"},Ma={action:s,cite:s,codebase:s,data:s,href:s,longdesc:s,lowsrc:s,src:s,usemap:s},Y=document.documentElement;function U(a){for(var c=a.length>>>0,e=new Z,i=0;iparent.NodeList=Array;<\/script>"),Z=w.NodeList);I||(Na=function(a){var c=[],e=this.all,i,g=-1;if(e.length)for(a=RegExp((a+"").replace(K,O));i=e[++g];)i.className&&a.test(i.className)&&c.push(i);return c}); +qa=Oa?function(a,c){c=c.toLowerCase();return La[c]!==d?a[La[c]]||"":Ma[c]!==d?a.getAttribute(c,2)||"":Ka[c]!==d?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)}; +T=Y.matches||Y.webkitMatchesSelector||Y.mozMatchesSelector||Y.msMatchesSelector||Y.oMatchesSelector?function(a){if(!a)return u;if("*"===a||":root"===a&&this===Y||"body"===a&&this===document.body)return j;var c,e,i=u;if(!Ia.test(a)&&(c=this.parentNode)&&"querySelector"in c)i=c.querySelector(a),i!==s&&(i=i===this);if(!i&&i!==s&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(i=a[e]===this))return j;return!!i}:function(a){if(!a)return u;if("*"=== +a||this===Y&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return j;var c,e,i=u,g,a=Aa.call(a);if(c=a.match(Ha))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return i=!(e=c[2])||this.className&&RegExp(e.replace(da," ").replace(K,O)).test(this.className),!!(i&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(Ia.test(a)){e=ta.call(this.ownerDocument,a);for(g in e)if(Object.prototype.hasOwnProperty.call(e,g)&&(i=e[g]===this))return j;return u}e= +aa(a.match(Ga),s,s,u,this,j);return e[0]===this}};$="matchesSelector";Y[$]||(V.matches=Y.matches=V[$]=Y[$]=T);$="matches";$ in V||(V[$]=document.documentElement[$]=V.matchesSelector);$="querySelectorAll";V[$]=Y[$]=document[$]=function(a,c){return ta.call(this,a,u,c)};$="querySelector";V[$]=Y[$]=document[$]=function(a,c){return ta.call(this,a,j,c)||s};$="getElementsByClassName";document[$]||(V[$]=Y[$]=document[$]=Na);V=$=s; })(); diff --git a/__COMPILED/CSS_selector_engine.js b/__COMPILED/CSS_selector_engine.js index 71b2785..f74a761 100644 --- a/__COMPILED/CSS_selector_engine.js +++ b/__COMPILED/CSS_selector_engine.js @@ -1,25 +1,25 @@ -/* @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */ +/* qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */ ;(function(){"use strict"; -var i=!0,j=null,q=!1,s=window;function v(){throw Error("SYNTAX_ERR");} -function aa(a,c,e,h,d,l,r,y,f){var O=e||[],t=!!d,B=!t&&c&&"number"==typeof c.length&&void 0===c.nodeType,m=t&&(c={})||(!c?document:B?c[0]:c),D,P=0,b,w,k,J=ba[(a[1]||"").replace(ca,"")]||0,$=2p&&g[2])na.test(g[2])?"even"===g[2]?g[2]=[j,2]:"odd"===g[2]?g[2]=[j,2,"%",1]:(g[2]=g[2].match(oa),g[2][0]=j):g[2]=[j,0,"%",g[2]],g[3]=p?"nodeIndexLast":"nodeIndex",g[4]=p?"lastChild":"firstChild",g[5]=p?"previousSibling": -"nextSibling";else if(17===p)f||v(),t=i,d=B?c:[c],a[u]=j;else if(12==p&&(n=g[2]))pa.test(n.charAt(0))&&pa.test(n.charAt(n.length-1))&&(g[2]=n.substr(1,n.length-2));1==a.length&&a[0]===j&&(a=j)}t&&(J=0);if(1==J)if(K){K=9===m.nodeType?m:m.ownerDocument;if(qa){d=K.getElementsByName(F);H=[];for(u=-1;b=d[++u];)b.id==F&&H.push(b)}else{H=[];for(d=[];b=K.getElementById(F);)d.push(b),n="id"in b?b.id:b.getAttribute("id"),n==F&&H.push(b),b.setAttribute("id",F+" _");for(u=-1;b=d[++u];)b.setAttribute("id",F)}d= -j;K=q}else L=L&&!A,Q=Q&&A&&!!G;t=(!B||1===c.length)&&!r&&!h&&!z&&!a&&!Q&&!L&&!K&&!y;do{switch(J){case 0:b=d[0];break;case 1:if(F)if(d=[],H.length)if(1+~\s])\s*/g,Ea=/~=/g,Ha=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,da=/\./g,ta=/\s/g,Ia=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ga=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ia=/^([^(]+)(?:\((.+)\))?$/,Fa=/\-child\((\dn)\+(\d)\)/g,Ga="-child\\($1%$2\\)",oa=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,La=/([,>+~\s])/,Ma=/^\s+/, -ca=/\s/,na=/\D/,pa=/['"]/,ba={"":1,",":1,">":2,"~":3,"+":4},ha={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},ma={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Na={checked:j,disabled:j,ismap:j,multiple:j,readonly:j,selected:j},Oa={value:"defaultValue",checked:"defaultChecked", -selected:"defaultSelected"},X=document.documentElement;function V(a,c){var e=a.length>>>0,h=new Y,d;if(!c){try{d=Ba.call(a),d.splice(0,0,h.length,0),h.splice.apply(h,d)}catch(l){}if(h&&h.length===e)return h}for(d=0;d(Z+"").length&&Z,Y,ua,sa,va=Function.prototype.call,za=X.querySelector,Aa=X.querySelectorAll,ya=document.querySelector, -xa=document.querySelectorAll,U=q,Ua,Va=document.createElement("input");Va.setAttribute("value",5);Ua=5!=Va.defaultValue;ya&&(Z=document.createElement("b"),Z.a="_"+ +new Date,Z.innerHTML="t",(U=ya.call(document,"#"+Z.a,Z))&&(U="t"==U.innerHTML)||(U=q));Y=function(){};Y.prototype=[];Z=new Y;Z.push(1); -!Z.length&&!("NodeList"in s)&&(Z=document.createElement("iframe"),Z.style.display="none",document.body.appendChild(Z),Z.contentWindow.document.write("parent.NodeList=Array;<\/script>"),Y=s.NodeList);S||(T="uniqueId");A||(Ta=function(a){a+="";if(this.querySelectorAll)try{return V(this.querySelectorAll(a.replace(I,".$1")))}catch(c){}var e=[],h=this.all,d,l=-1;if(h.length)for(a=RegExp(a.replace(I,ea));d=h[++l];)d.className&&a.test(d.className)&&e.push(d);return e}); -sa=Ua?function(a,c){c=c.toLowerCase();return void 0!==Oa[c]?a[Oa[c]]||"":void 0!==q[c]?a.getAttribute(c,2)||"":void 0!==Na[c]?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)}; -ua=X.matches||X.webkitMatchesSelector||X.mozMatchesSelector||X.msMatchesSelector||X.oMatchesSelector||"querySelector"in document?function(a){if(!a)return q;if("*"===a||":root"===a&&this===X||"body"===a&&this===document.body)return i;var c,e,h=q;if(!La.test(a)&&(c=this.parentNode)&&"querySelector"in c)h=c.querySelector(a),h!==j&&(h=h===this);if(!h&&h!==j&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e]===this))return i;return!!h}:function(a){if(!a)return q; -if("*"===a||this===X&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return i;var c,e,h=q,d,a=Ca.call(a);if(c=a.match(Ka))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return h=!(e=c[2])||this.className&&RegExp(e.replace(da," ").replace(I,ea)).test(this.className),!!(h&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(La.test(a)){e=wa.call(this.ownerDocument,a);for(d in e)if(Object.prototype.hasOwnProperty.call(e,d)&&(h=e[d]===this))return i; -return q}e=aa(a.match(Ia),j,j,q,this,i);return e[0]===this}};Z="matchesSelector";X[Z]||(W.matches=X.matches=W[Z]=X[Z]=ua);Z="matches";Z in W||(W[Z]=document.documentElement[Z]=W.matchesSelector);Z="querySelectorAll";W[Z]=X[Z]=document[Z]=function(a,c){return wa.call(this,a,q,c)};Z="querySelector";W[Z]=X[Z]=document[Z]=function(a,c){return wa.call(this,a,i,c)||j};Z="getElementsByClassName";document[Z]||(W[Z]=X[Z]=document[Z]=Ta);W=Z=j; +var i=void 0,k=!0,q=null,s=!1,v=window;function A(){throw Error("SYNTAX_ERR");} +function ba(a,c,e,h,d,l,r,y,f){var P=e||[],t=!!d,B=!t&&c&&"number"==typeof c.length&&c.nodeType===i,m=t&&(c={})||(!c?document:B?c[0]:c),D,Q=0,b,w,j,J=ca[(a[1]||"").replace(da,"")]||0,aa=2p&&g[2])oa.test(g[2])?"even"===g[2]?g[2]=[q,2]:"odd"===g[2]?g[2]=[q,2,"%",1]:(g[2]=g[2].match(pa),g[2][0]=q):g[2]=[q,0,"%",g[2]],g[3]=p?"nodeIndexLast":"nodeIndex",g[4]=p?"lastChild":"firstChild",g[5]=p?"previousSibling":"nextSibling"; +else if(17===p)f||A(),t=k,d=B?c:[c],a[u]=q;else if(12==p&&(n=g[2]))qa.test(n.charAt(0))&&qa.test(n.charAt(n.length-1))&&(g[2]=n.substr(1,n.length-2));1==a.length&&a[0]===q&&(a=q)}t&&(J=0);if(1==J)if(L){L=9===m.nodeType?m:m.ownerDocument;if(ra){d=L.getElementsByName(F);H=[];for(u=-1;b=d[++u];)b.id==F&&H.push(b)}else{H=[];for(d=[];b=L.getElementById(F);)d.push(b),n="id"in b?b.id:b.getAttribute("id"),n==F&&H.push(b),b.setAttribute("id",F+" _");for(u=-1;b=d[++u];)b.setAttribute("id",F)}d=q;L=s}else M= +M&&!I,R=R&&I&&!!G;t=(!B||1===c.length)&&!r&&!h&&!z&&!a&&!R&&!M&&!L&&!y;do{switch(J){case 0:b=d[0];break;case 1:if(F)if(d=[],H.length)if(1+~\s])\s*/g,Fa=/~=/g,Ia=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,ea=/\./g,ua=/\s/g,Ja=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ha=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ja=/^([^(]+)(?:\((.+)\))?$/,Ga=/\-child\((\dn)\+(\d)\)/g,Ha="-child\\($1%$2\\)",pa=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,Ma=/([,>+~\s])/,Na=/^\s+/, +da=/\s/,oa=/\D/,qa=/['"]/,ca={"":1,",":1,">":2,"~":3,"+":4},ia={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},na={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Oa={checked:q,disabled:q,ismap:q,multiple:q,readonly:q,selected:q},Pa={value:"defaultValue",checked:"defaultChecked", +selected:"defaultSelected"},Y=document.documentElement;function W(a,c){var e=a.length>>>0,h=new Z,d;if(!c){try{d=Ca.call(a),d.splice(0,0,h.length,0),h.splice.apply(h,d)}catch(l){}if(h&&h.length===e)return h}for(d=0;d($+"").length&&$,Z,va,ta,wa=Function.prototype.call,Aa=Y.querySelector,Ba=Y.querySelectorAll,za=document.querySelector, +ya=document.querySelectorAll,V=s,Va,Wa=document.createElement("input");Wa.setAttribute("value",5);Va=5!=Wa.defaultValue;za&&($=document.createElement("b"),$.a="_"+ +new Date,$.innerHTML="t",(V=za.call(document,"#"+$.a,$))&&(V="t"==V.innerHTML)||(V=s));Z=function(){};Z.prototype=[];$=new Z;$.push(1); +!$.length&&!("NodeList"in v)&&($=document.createElement("iframe"),$.style.display="none",document.body.appendChild($),$.contentWindow.document.write("parent.NodeList=Array;<\/script>"),Z=v.NodeList);T||(U="uniqueId");I||(Ua=function(a){a+="";if(this.querySelectorAll)try{return W(this.querySelectorAll(a.replace(K,".$1")))}catch(c){}var e=[],h=this.all,d,l=-1;if(h.length)for(a=RegExp(a.replace(K,fa));d=h[++l];)d.className&&a.test(d.className)&&e.push(d);return e}); +ta=Va?function(a,c){c=c.toLowerCase();return Pa[c]!==i?a[Pa[c]]||"":s[c]!==i?a.getAttribute(c,2)||"":Oa[c]!==i?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)}; +va=Y.matches||Y.webkitMatchesSelector||Y.mozMatchesSelector||Y.msMatchesSelector||Y.oMatchesSelector||"querySelector"in document?function(a){if(!a)return s;if("*"===a||":root"===a&&this===Y||"body"===a&&this===document.body)return k;var c,e,h=s;if(!Ma.test(a)&&(c=this.parentNode)&&"querySelector"in c)h=c.querySelector(a),h!==q&&(h=h===this);if(!h&&h!==q&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e]===this))return k;return!!h}:function(a){if(!a)return s; +if("*"===a||this===Y&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return k;var c,e,h=s,d,a=Da.call(a);if(c=a.match(La))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return h=!(e=c[2])||this.className&&RegExp(e.replace(ea," ").replace(K,fa)).test(this.className),!!(h&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(Ma.test(a)){e=xa.call(this.ownerDocument,a);for(d in e)if(Object.prototype.hasOwnProperty.call(e,d)&&(h=e[d]===this))return k; +return s}e=ba(a.match(Ja),q,q,s,this,k);return e[0]===this}};$="matchesSelector";Y[$]||(X.matches=Y.matches=X[$]=Y[$]=va);$="matches";$ in X||(X[$]=document.documentElement[$]=X.matchesSelector);$="querySelectorAll";X[$]=Y[$]=document[$]=function(a,c){return xa.call(this,a,s,c)};$="querySelector";X[$]=Y[$]=document[$]=function(a,c){return xa.call(this,a,k,c)||q};$="getElementsByClassName";document[$]||(X[$]=Y[$]=document[$]=Ua);X=$=q; })(); diff --git a/__SRC/CSS_selector_engine.js b/__SRC/CSS_selector_engine.js index b9306c3..7be029a 100644 --- a/__SRC/CSS_selector_engine.js +++ b/__SRC/CSS_selector_engine.js @@ -1,4 +1,4 @@ -/* @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */ +/** @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */ // ==ClosureCompiler== // @compilation_level ADVANCED_OPTIMIZATIONS @@ -51,253 +51,253 @@ var __GCC__IE_SHIMED_GET_ATTRIBUTE_SUPPORT__ = true; // [[[|||---=== GCC DEFINES END ===---|||]]] ;(function(global) { - "use strict"; +"use strict"; - if(!global["Element"])((global["Element"] = +if(!global["Element"])((global["Element"] = //Reprisent ActiveXObject as Node, Element and HTMLElement so ` instanceof Node` is working (!!!But no in IE9 with in "compatible mode") - __GCC__IE_NODE_CONSTRUCTOR_AS_ACTIVX__ ? ActiveXObject : __GCC__IE_NODE_CONSTRUCTOR_AS_DOM_ELEMENT__ ? document.createTextNode("") : {} - ).prototype)["ie"] = true;//fake prototype for IE < 8 - if(!global["HTMLElement"])global["HTMLElement"] = global["Element"];//IE8 - if(!global["Node"])global["Node"] = global["Element"];//IE8 + __GCC__IE_NODE_CONSTRUCTOR_AS_ACTIVX__ ? ActiveXObject : __GCC__IE_NODE_CONSTRUCTOR_AS_DOM_ELEMENT__ ? document.createTextNode("") : {} + ).prototype)["ie"] = true;//fake prototype for IE < 8 +if(!global["HTMLElement"])global["HTMLElement"] = global["Element"];//IE8 +if(!global["Node"])global["Node"] = global["Element"];//IE8 - var - _Element_prototype = global["Element"].prototype +var + _Element_prototype = global["Element"].prototype /** @type {RegExp} @const */ - , RE__getElementsByClassName = /\s*(\S+)\s*/g + , RE__getElementsByClassName = /\s*(\S+)\s*/g /** @type {string} @const */ - , STRING_FOR_RE__getElementsByClassName1 = '(?=(^|.*\\s)$1(\\s|$))' + , STRING_FOR_RE__getElementsByClassName1 = '(?=(^|.*\\s)$1(\\s|$))' /** @type {string} @const */ - , STRING_FOR_RE__getElementsByClassName2 = ".$1" + , STRING_FOR_RE__getElementsByClassName2 = ".$1" /** @type {RegExp} @const */ - , RE__selector__easySelector = /^([\w\-\|]+)?((?:\.(?:[\w-]+))+)?$|^#([\w-]+$)/ + , RE__selector__easySelector = /^([\w\-\|]+)?((?:\.(?:[\w-]+))+)?$|^#([\w-]+$)/ /** @type {RegExp} @const */ - , RE__queryComplexSelector__doubleSpaces = /\s*([,>+~\s])\s*/g//Note: Use with "$1" + , RE__queryComplexSelector__doubleSpaces = /\s*([,>+~\s])\s*/g//Note: Use with "$1" /** @type {RegExp} @const */ - , RE__querySelector__arrtSpaceSeparated_toSafe = /~=/g//Note: Use with "@=" + , RE__querySelector__arrtSpaceSeparated_toSafe = /~=/g//Note: Use with "@=" /** @type {RegExp} @const */ - , RE__queryComplexSelector__selectorsMatcher = /(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g + , RE__queryComplexSelector__selectorsMatcher = /(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g /*TODO::CSS4 Reference combinator , RE__queryComplexSelector__selectorsMatcher = /(^|,|\>|\+|~|\/| ).*?(?=[,>+~/ ]|$)/g */ /** @type {RegExp} @const */ - , RE__querySelector__dottes = /\./g + , RE__querySelector__dottes = /\./g /** @type {RegExp} @const */ - , RE__queryCompoundSelector__spaces = /\s/g + , RE__queryCompoundSelector__spaces = /\s/g /** @type {RegExp} @const */ - , RE__queryCompoundSelector__selectorMatch = /^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$////^([,>+~ ])?(\$)?([\w\-\|\*]*)\#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?:\:(.+))?$/ + , RE__queryCompoundSelector__selectorMatch = /^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$////^([,>+~ ])?(\$)?([\w\-\|\*]*)\#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?:\:(.+))?$/ /*TODO::CSS4 Reference combinator , RE__queryCompoundSelector__selectorMatch = /^([,>+~/ ])?(\$)?([\w\-\|\*]*)\#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?:\:(.+))?$/*/ /** @type {RegExp} @const */ - , RE__queryCompoundSelector__attrMatcher = /^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/ + , RE__queryCompoundSelector__attrMatcher = /^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/ /** @type {RegExp} @const */ - , RE__queryCompoundSelector__pseudoMatcher = /^([^(]+)(?:\((.+)\))?$/ + , RE__queryCompoundSelector__pseudoMatcher = /^([^(]+)(?:\((.+)\))?$/ /** @type {RegExp} @const */ - , RE__queryCompoundSelector__pseudoNthChildPlus = /\-child\((\dn)\+(\d)\)/g//Note: Use with "-child\($1%$2\)" + , RE__queryCompoundSelector__pseudoNthChildPlus = /\-child\((\dn)\+(\d)\)/g//Note: Use with "-child\($1%$2\)" /** @type {string} @const */ - , STRING_FOR_RE__queryCompoundSelector__pseudoNthChildPlus = "-child\\($1%$2\\)" + , STRING_FOR_RE__queryCompoundSelector__pseudoNthChildPlus = "-child\\($1%$2\\)" /** @type {RegExp} @const */ - , RE__queryCompoundSelector__pseudoNthChildMatcher = /(?:([-]?\d*)n)?(?:(%|-)(\d*))?//* regexpt from jass 0.3.9 (http://yass.webo.in/) rev. 371 line 181 ( mod === 'nth-last-child' ?...) */ + , RE__queryCompoundSelector__pseudoNthChildMatcher = /(?:([-]?\d*)n)?(?:(%|-)(\d*))?//* regexpt from jass 0.3.9 (http://yass.webo.in/) rev. 371 line 181 ( mod === 'nth-last-child' ?...) */ /** @type {RegExp} @const */ - , RE__matchSelector__isNotSimpleSelector = /([,>+~\s])/ + , RE__matchSelector__isNotSimpleSelector = /([,>+~\s])/ /** @const @type {RegExp} */ - , RE__left_spaces = /^\s+/ + , RE__left_spaces = /^\s+/ /** @const @type {RegExp} */ - , RE__space = /\s/ + , RE__space = /\s/ /** @const @type {RegExp} */ - , RE__not_a_number = /\D/ + , RE__not_a_number = /\D/ /** @const @type {RegExp} */ - , RE__quotes = /['"]/ + , RE__quotes = /['"]/ /** @type {Object} @const */ - , SELECTOR_COMBINATOR_MAP = { - "" : 1, - "," : 1, - ">" : 2, - "~" : 3, - "+" : 4/*, TODO::CSS4 Reference combinator - "/" : 5//CSS4 Reference combinator - */ - } + , SELECTOR_COMBINATOR_MAP = { + "" : 1, + "," : 1, + ">" : 2, + "~" : 3, + "+" : 4/*, TODO::CSS4 Reference combinator + "/" : 5//CSS4 Reference combinator + */ + } /** @enum {number} @const */ - , SELECTOR_ATTR_OPERATIONS_MAP = { - "" : 1, - '=' : 2, - '&=' : 3, - '^=' : 4, - '$=' : 5, - '*=' : 6, - '|=' : 7, - '!=' : 8, - '@=' : 9//this is '~=' - } + , SELECTOR_ATTR_OPERATIONS_MAP = { + "" : 1, + '=' : 2, + '&=' : 3, + '^=' : 4, + '$=' : 5, + '*=' : 6, + '|=' : 7, + '!=' : 8, + '@=' : 9//this is '~=' + } /** @enum {number} @const */ - , SELECTOR_PSEUDOS_MAP = { - 'nth-child' : 0, - 'nth-last-child' : 1, - 'only-child' : 2, - 'first-child' : 3, - 'last-child' : 4, - 'root' : 5, - 'empty' : 6, - 'checked' : 7, - 'lang' : 8, - 'enabled' : 9, - 'disabled' : 10, - 'selected' : 11, - 'contains' : 12, - 'not' : 13, - 'matches' : 14,//TODO:: ":-moz-any", ":-webkit-any" - 'read-only' : 15, //http://www.w3.org/TR/selectors4/#rw-pseudos - 'read-write' : 16, //http://www.w3.org/TR/selectors4/#rw-pseudos - 'scope' : 17, - 'focus' : 18, - - //TODO now:: - 'nth-match' : 19, - 'column' : 20, - 'nth-column' : 21 - - //TODO:: - /*'first-of-type' : 18, - 'nth-of-type' : 19, - 'only-of-type' : 20, - 'nth-last-of-type' : 21, - 'last-of-type' : 22*/ - /* - TODO:: http://css4-selectors.com/selector/css4/ - 'scope' : 17, - 'dir' ??? - 'nth-match'//nth-match(n of selector) | an E element, the n-th sibling matching selector - 'nth-last-match'//nth-last-match(n of selector) | an E element, the n-th sibling matching selector, counting from the last one - 'indeterminate' : 16, - 'default' : 17, - 'valid': 18, - 'invalid' : 19, - 'in-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos - 'out-of-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos - 'required' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos - 'optional' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos - 'column' : 20, //http://www.w3.org/TR/selectors4/#column-pseudo - 'nth-column' :20, //http://www.w3.org/TR/selectors4/#nth-column-pseudo - 'nth-last-column' : 20, //http://www.w3.org/TR/selectors4/#nth-last-column-pseudo - 'current' : 20, //http://www.w3.org/TR/selectors4/#current-pseudo - 'past' : 20, //http://www.w3.org/TR/selectors4/#past-pseudo - 'future' : 20 //http://www.w3.org/TR/selectors4/#future-pseudo - */ - } + , SELECTOR_PSEUDOS_MAP = { + 'nth-child' : 0, + 'nth-last-child' : 1, + 'only-child' : 2, + 'first-child' : 3, + 'last-child' : 4, + 'root' : 5, + 'empty' : 6, + 'checked' : 7, + 'lang' : 8, + 'enabled' : 9, + 'disabled' : 10, + 'selected' : 11, + 'contains' : 12, + 'not' : 13, + 'matches' : 14,//TODO:: ":-moz-any", ":-webkit-any" + 'read-only' : 15, //http://www.w3.org/TR/selectors4/#rw-pseudos + 'read-write' : 16, //http://www.w3.org/TR/selectors4/#rw-pseudos + 'scope' : 17, + 'focus' : 18, + + //TODO now:: + 'nth-match' : 19, + 'column' : 20, + 'nth-column' : 21 + + //TODO:: + /*'first-of-type' : 18, + 'nth-of-type' : 19, + 'only-of-type' : 20, + 'nth-last-of-type' : 21, + 'last-of-type' : 22*/ + /* + TODO:: http://css4-selectors.com/selector/css4/ + 'scope' : 17, + 'dir' ??? + 'nth-match'//nth-match(n of selector) | an E element, the n-th sibling matching selector + 'nth-last-match'//nth-last-match(n of selector) | an E element, the n-th sibling matching selector, counting from the last one + 'indeterminate' : 16, + 'default' : 17, + 'valid': 18, + 'invalid' : 19, + 'in-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos + 'out-of-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos + 'required' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos + 'optional' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos + 'column' : 20, //http://www.w3.org/TR/selectors4/#column-pseudo + 'nth-column' :20, //http://www.w3.org/TR/selectors4/#nth-column-pseudo + 'nth-last-column' : 20, //http://www.w3.org/TR/selectors4/#nth-last-column-pseudo + 'current' : 20, //http://www.w3.org/TR/selectors4/#current-pseudo + 'past' : 20, //http://www.w3.org/TR/selectors4/#past-pseudo + 'future' : 20 //http://www.w3.org/TR/selectors4/#future-pseudo + */ + } // boolean attributes should return attribute name instead of true/false | From nwmatcher - , ATTRIBUTE_BOOLEAN = { - 'checked': null, - 'disabled': null, - 'ismap': null, - 'multiple': null, - 'readonly': null, - 'selected': null - } + , ATTRIBUTE_BOOLEAN = { + 'checked': null, + 'disabled': null, + 'ismap': null, + 'multiple': null, + 'readonly': null, + 'selected': null + } // dynamic attributes that needs to be checked against original HTML value | From nwmatcher - , ATTRIBUTE_DEFAULT = { - value: 'defaultValue', - checked: 'defaultChecked', - selected: 'defaultSelected' - } + , ATTRIBUTE_DEFAULT = { + value: 'defaultValue', + checked: 'defaultChecked', + selected: 'defaultSelected' + } // attribute referencing URI data values need special treatment in IE | From nwmatcher - , ATTRIBUTE_URIDATA = __GCC__ONLY_FOR_IELT8_BUILD__ && { - 'action': null, - 'cite': null, - 'codebase': null, - 'data': null, - 'href': null, - 'longdesc': null, - 'lowsrc': null, - 'src': null, - 'usemap': null - } + , ATTRIBUTE_URIDATA = __GCC__ONLY_FOR_IELT8_BUILD__ && { + 'action': null, + 'cite': null, + 'codebase': null, + 'data': null, + 'href': null, + 'longdesc': null, + 'lowsrc': null, + 'src': null, + 'usemap': null + } /** @type {Node} @const */ - , _document_documentElement = document.documentElement + , _document_documentElement = document.documentElement /** * @param {(Array|NodeList|Object)} iterable * @param {boolean=} iterable_is_sparseArray * */ - , _NodeList_from = function(iterable, iterable_is_sparseArray) { - //return _Array_slice.call(iterable);// 2x-4x-6x-8x time faster - var length = iterable.length >>> 0 - , result = new _NodeList - , args - ; - - if(!__GCC__ONLY_FOR_IELT8_BUILD__ && !iterable_is_sparseArray) { - try { - args = _Array_slice.call(iterable); - args.splice(0, 0, result.length, 0); - result.splice.apply(result, args); - } - catch(e) { } + , _NodeList_from = function(iterable, iterable_is_sparseArray) { + //return _Array_slice.call(iterable);// 2x-4x-6x-8x time faster + var length = iterable.length >>> 0 + , result = new _NodeList + , args + ; - if(result && result.length === length)return result; - /*else if(result.length > length) { - result = new _NodeList; - }*/ + if(!__GCC__ONLY_FOR_IELT8_BUILD__ && !iterable_is_sparseArray) { + try { + args = _Array_slice.call(iterable); + args.splice(0, 0, result.length, 0); + result.splice.apply(result, args); } + catch(e) { } - for(var key = 0 ; key < length ; ++key) { - if(key in iterable) - result.push(iterable[key]); - } + if(result && result.length === length)return result; + /*else if(result.length > length) { + result = new _NodeList; + }*/ + } - return result; + for(var key = 0 ; key < length ; ++key) { + if(key in iterable) + result.push(iterable[key]); } - , _can_useGetElementsByName_as_getElementById = __GCC__ONLY_FOR_IELT8_BUILD__ ? - true - : - (function() {//TODO:: realy need this? For that browser? - var result = false, - uiid = "_" + Math.random(), - tempNode = document.createElement("br"); + return result; + } + , _can_useGetElementsByName_as_getElementById = __GCC__ONLY_FOR_IELT8_BUILD__ ? + true + : + (function() {//TODO:: realy need this? For that browser? + var result = false, + uiid = "_" + Math.random(), + tempNode = document.createElement("br"); - _document_documentElement.appendChild(tempNode).id = uiid; - try { - result = document.getElementsByName(uiid)[0].id === uiid; - } - catch(e) { - result = false; - } - _document_documentElement.removeChild(tempNode); - return result; - })() + _document_documentElement.appendChild(tempNode).id = uiid; + try { + result = document.getElementsByName(uiid)[0].id === uiid; + } + catch(e) { + result = false; + } + _document_documentElement.removeChild(tempNode); + + return result; + })() /** @type {string} */ - , sourceIndex_propertyName = "sourceIndex" + , sourceIndex_propertyName = "sourceIndex" /** @type {boolean} @const */ - , nodeSourceIndex_support = __GCC__ONLY_FOR_IELT8_BUILD__ ? - true - : - sourceIndex_propertyName in _document_documentElement && !("opera" in global)//Old Opera has very slow 'sourceIndex' + , nodeSourceIndex_support = __GCC__ONLY_FOR_IELT8_BUILD__ ? + true + : + sourceIndex_propertyName in _document_documentElement && !("opera" in global)//Old Opera has very slow 'sourceIndex' /** @type {number} */ - , UUID = 1 + , UUID = 1 - , getNextElement = "nextElementSibling" in _document_documentElement ? - function(node) { - return node.nextElementSibling; - } - : - function(node) { - while((node = node.nextSibling) && node.nodeType != 1) {} - return node; - } + , getNextElement = "nextElementSibling" in _document_documentElement ? + function(node) { + return node.nextElementSibling; + } + : + function(node) { + while((node = node.nextSibling) && node.nodeType != 1) {} + return node; + } /** * @const @@ -306,1184 +306,1189 @@ var __GCC__IE_SHIMED_GET_ATTRIBUTE_SUPPORT__ = true; * For system use only * More standart solution in a.js */ - , _String_trim = String.prototype.trim || function () { - var str = this.replace(RE__left_spaces, ''), - i = str.length; - while (RE__space.test(str.charAt(--i))){}; - return str.slice(0, i + 1); - } + , _String_trim = String.prototype.trim || function () { + var str = this.replace(RE__left_spaces, ''), + i = str.length; + while (RE__space.test(str.charAt(--i))){}; + return str.slice(0, i + 1); + } /** @const */ - , _String_split = String.prototype.split + , _String_split = String.prototype.split /** @const */ - , _Array_slice = Array.prototype.slice + , _Array_slice = Array.prototype.slice - , _shim_getElementsByClassName + , _shim_getElementsByClassName - , tmp + , tmp - , native_getElementsByClassName = __GCC__ONLY_FOR_IELT8_BUILD__ ? - null - : - (tmp = _document_documentElement.getElementsByClassName) && ((tmp + "").length < 80) && tmp + , native_getElementsByClassName = __GCC__ONLY_FOR_IELT8_BUILD__ ? + null + : + (tmp = _document_documentElement.getElementsByClassName) && ((tmp + "").length < 80) && tmp - , _NodeList + , _NodeList - , _matchesSelector + , _matchesSelector - , _getAttribute + , _getAttribute /** @const */ - , _Function_call = Function.prototype.call + , _Function_call = Function.prototype.call /** @const */ - , native_querySelector = !__GCC__IS_DEBUG__ && _document_documentElement.querySelector + , native_querySelector = !__GCC__IS_DEBUG__ && _document_documentElement.querySelector /** @const */ - , native_querySelectorAll = !__GCC__IS_DEBUG__ && _document_documentElement.querySelectorAll + , native_querySelectorAll = !__GCC__IS_DEBUG__ && _document_documentElement.querySelectorAll /** @const */ - , document_native_querySelector = !__GCC__IS_DEBUG__ && document.querySelector + , document_native_querySelector = !__GCC__IS_DEBUG__ && document.querySelector /** @const */ - , document_native_querySelectorAll = !__GCC__IS_DEBUG__ && document.querySelectorAll + , document_native_querySelectorAll = !__GCC__IS_DEBUG__ && document.querySelectorAll - , IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false + , IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false //, IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = false - , IS_GET_ATTRIBUTE_BUGGY = // detect IE bug with dynamic attributes | From nwmatcher - (function() { - var input = document.createElement('input'); - input.setAttribute('value', 5); - return input.defaultValue != 5; - })() - ; - - if(!__GCC__ONLY_FOR_IELT8_BUILD__ && document_native_querySelector) { - tmp = document.createElement("b"); - tmp.uuid = "_" + +new Date(); - tmp.innerHTML = "t"; - - (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = document_native_querySelector.call(document, "#" + tmp.uuid, tmp)) && - (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = IS_QUERY_SELECTOR_SUPPORT_REF_NODES.innerHTML == "t") || - (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false); - - //Google Chrome have wrong implementation of :scope pseudo class - /*TODO:: - try { - IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = native_querySelector.call(tmp, ":scope>i"); - IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT && IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT.innerHTML == "t"; - } - catch(e) { - IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = false - } - */ + , IS_GET_ATTRIBUTE_BUGGY = // detect IE bug with dynamic attributes | From nwmatcher + (function() { + var input = document.createElement('input'); + input.setAttribute('value', 5); + return input.defaultValue != 5; + })() +; + +if(!__GCC__ONLY_FOR_IELT8_BUILD__ && document_native_querySelector) { + tmp = document.createElement("b"); + tmp.uuid = "_" + +new Date(); + tmp.innerHTML = "t"; + + (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = document_native_querySelector.call(document, "#" + tmp.uuid, tmp)) && + (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = IS_QUERY_SELECTOR_SUPPORT_REF_NODES.innerHTML == "t") || + (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false); + + //Google Chrome have wrong implementation of :scope pseudo class + /*TODO:: + try { + IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = native_querySelector.call(tmp, ":scope>i"); + IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT && IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT.innerHTML == "t"; } + catch(e) { + IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = false + } + */ +} //_NodeList.prototype - if(__GCC__QUERY_SELECTOR_ALL_RESULT_AS_NODE_LIST_AND_NODE_LIST_POLYFILL__) { - /** @constructor */ - _NodeList = function() {}; - _NodeList.prototype = new Array; - - tmp = new _NodeList; - tmp.push(1); - if(!tmp.length && !("NodeList" in global)) {//Internet Explorer refuses to maintain the length property of a subclass created like this | http://dean.edwards.name/weblog/2006/11/hooray/ - // create an