UNPKG

slimerjs-firefox

Version:

This repo includes slimerjs as well as downloads a local copy of Firefox.

30 lines (29 loc) 17.2 kB
function(){return function(){var g=void 0,k=!0,l=null,m=!1;function n(a){return function(){return a}}var p=this;function r(a){return"string"==typeof a}Math.floor(2147483648*Math.random()).toString(36);var aa=window;function s(a,b){for(var c=0,d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=String(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=Math.max(d.length,e.length),h=0;0==c&&h<f;h++){var q=d[h]||"",D=e[h]||"",K=RegExp("(\\d*)(\\D*)","g"),ba=RegExp("(\\d*)(\\D*)","g");do{var x=K.exec(q)||["","",""],y=ba.exec(D)||["","",""];if(0==x[0].length&&0==y[0].length)break;c=((0==x[1].length?0:parseInt(x[1],10))<(0==y[1].length?0:parseInt(y[1],10))?-1:(0==x[1].length?0:parseInt(x[1],10))>(0==y[1].length? 0:parseInt(y[1],10))?1:0)||((0==x[2].length)<(0==y[2].length)?-1:(0==x[2].length)>(0==y[2].length)?1:0)||(x[2]<y[2]?-1:x[2]>y[2]?1:0)}while(0==c)}return c};var ca=Array.prototype;function t(a,b){for(var c=a.length,d=r(a)?a.split(""):a,e=0;e<c;e++)e in d&&b.call(g,d[e],e,a)}function da(a,b){for(var c=a.length,d=[],e=0,f=r(a)?a.split(""):a,h=0;h<c;h++)if(h in f){var q=f[h];b.call(g,q,h,a)&&(d[e++]=q)}return d}function ea(a,b){if(a.reduce)return a.reduce(b,"");var c="";t(a,function(d,e){c=b.call(g,c,d,e,a)});return c} function fa(a,b){var c;a:{c=a.length;for(var d=r(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(g,d[e],e,a)){c=e;break a}c=-1}return 0>c?l:r(a)?a.charAt(c):a[c]}function ga(a,b,c){return 2>=arguments.length?ca.slice.call(a,b):ca.slice.call(a,b,c)};function u(a,b){this.code=a;this.state=ha[a]||ia;this.message=b||"";var c=this.state.replace(/((?:^|\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\s\xa0]+/g,"")}),d=c.length-5;if(0>d||c.indexOf("Error",d)!=d)c+="Error";this.name=c;c=Error(this.message);c.name=this.name;this.stack=c.stack||""}(function(){var a=Error;function b(){}b.prototype=a.prototype;u.I=a.prototype;u.prototype=new b})(); var ia="unknown error",ha={15:"element not selectable",11:"element not visible",31:"ime engine activation failed",30:"ime not available",24:"invalid cookie domain",29:"invalid element coordinates",12:"invalid element state",32:"invalid selector",51:"invalid selector",52:"invalid selector",17:"javascript error",405:"unsupported operation",34:"move target out of bounds",27:"no such alert",7:"no such element",8:"no such frame",23:"no such window",28:"script timeout",33:"session not created",10:"stale element reference", "0":"success",21:"timeout",25:"unable to set cookie",26:"unexpected alert open"};ha[13]=ia;ha[9]="unknown command";u.prototype.toString=function(){return this.name+": "+this.message};var v,ja,w,ka;function z(){return p.navigator?p.navigator.userAgent:l}ka=w=ja=v=m;var A;if(A=z()){var la=p.navigator;v=0==A.indexOf("Opera");ja=!v&&-1!=A.indexOf("MSIE");w=!v&&-1!=A.indexOf("WebKit");ka=!v&&!w&&"Gecko"==la.product}var ma=v,B=ja,C=ka,na=w;function oa(){var a=p.document;return a?a.documentMode:g}var E; a:{var F="",G;if(ma&&p.opera)var pa=p.opera.version,F="function"==typeof pa?pa():pa;else if(C?G=/rv\:([^\);]+)(\)|;)/:B?G=/MSIE\s+([^\);]+)(\)|;)/:na&&(G=/WebKit\/(\S+)/),G)var qa=G.exec(z()),F=qa?qa[1]:"";if(B){var ra=oa();if(ra>parseFloat(F)){E=String(ra);break a}}E=F}var sa={};function ta(a){sa[a]||(sa[a]=0<=s(E,a))}var ua=p.document,H=!ua||!B?g:oa()||("CSS1Compat"==ua.compatMode?parseInt(E,10):5);var I;!C&&!B||B&&B&&9<=H||C&&ta("1.9.1");B&&ta("9");function va(a,b){this.x=a!==g?a:0;this.y=b!==g?b:0}va.prototype.toString=function(){return"("+this.x+", "+this.y+")"};function J(a,b){this.width=a;this.height=b}J.prototype.toString=function(){return"("+this.width+" x "+this.height+")"};J.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};J.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};J.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function wa(a){var b=!na&&"CSS1Compat"==a.compatMode?a.documentElement:a.body;a=a.parentWindow||a.defaultView;return new va(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)}function xa(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a} function ya(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(B&&!(B&&9<=H)){if(9==a.nodeType)return-1;if(9==b.nodeType)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=1==a.nodeType,d=1==b.nodeType;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,f=b.parentNode;return e==f?za(a,b):!c&&xa(e,b)?-1*Aa(a,b):!d&&xa(f,a)?Aa(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=Ba(a);c=d.createRange(); c.selectNode(a);c.collapse(k);d=d.createRange();d.selectNode(b);d.collapse(k);return c.compareBoundaryPoints(p.Range.START_TO_END,d)}function Aa(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return za(d,a)}function za(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1}function Ba(a){return 9==a.nodeType?a:a.ownerDocument||a.document}function L(a){this.l=a||p.document||document}L.prototype.contains=xa;var Ca,Da,Ea,Fa,Ga,Ha,Ia;Ia=Ha=Ga=Fa=Ea=Da=Ca=m;var M=z();M&&(-1!=M.indexOf("Firefox")?Ca=k:-1!=M.indexOf("Camino")?Da=k:-1!=M.indexOf("iPhone")||-1!=M.indexOf("iPod")?Ea=k:-1!=M.indexOf("iPad")?Fa=k:-1!=M.indexOf("Android")?Ga=k:-1!=M.indexOf("Chrome")?Ha=k:-1!=M.indexOf("Safari")&&(Ia=k));var Ja=Ca,Ka=Da,La=Ea,Ma=Fa,N=Ga,Na=Ha,Oa=Ia;var O=B&&!(B&&9<=H),Pa=B&&!(B&&8<=H);function Qa(a,b,c,d,e){this.e=a;this.nodeName=c;this.nodeValue=d;this.nodeType=2;this.ownerElement=b;this.G=e;this.parentNode=b}function Ra(a,b,c){var d=Pa&&"href"==b.nodeName?a.getAttribute(b.nodeName,2):b.nodeValue;return new Qa(b,a,b.nodeName,d,c)};function P(a){var b=l,c=a.nodeType;1==c&&(b=a.textContent,b=b==g||b==l?a.innerText:b,b=b==g||b==l?"":b);if("string"!=typeof b)if(O&&"title"==a.nodeName.toLowerCase()&&1==c)b=a.text;else if(9==c||1==c){a=9==c?a.documentElement:a.firstChild;for(var c=0,d=[],b="";a;){do 1!=a.nodeType&&(b+=a.nodeValue),O&&"title"==a.nodeName.toLowerCase()&&(b+=a.text),d[c++]=a;while(a=a.firstChild);for(;c&&!(a=d[--c].nextSibling););}}else b=a.nodeValue;return""+b} function Q(a,b,c){if(b===l)return k;try{if(!a.getAttribute)return m}catch(d){return m}Pa&&"class"==b&&(b="className");return c==l?!!a.getAttribute(b):a.getAttribute(b,2)==c}function R(a,b,c,d,e){return(O?Sa:Ta).call(l,a,b,r(c)?c:l,r(d)?d:l,e||new S)} function Sa(a,b,c,d,e){if(8==a.g()||c&&a.g()===l){var f=b.all;if(!f)return e;a=a.getName();if("*"!=a&&(f=b.getElementsByTagName(a),!f))return e;if(c){for(var h=[],q=0;b=f[q++];)Q(b,c,d)&&h.push(b);f=h}for(q=0;b=f[q++];)("*"!=a||"!"!=b.tagName)&&e.add(b);return e}Ua(a,b,c,d,e);return e} function Ta(a,b,c,d,e){b.getElementsByName&&d&&"name"==c&&!B?(b=b.getElementsByName(d),t(b,function(b){a.matches(b)&&e.add(b)})):b.getElementsByClassName&&d&&"class"==c?(b=b.getElementsByClassName(d),t(b,function(b){b.className==d&&a.matches(b)&&e.add(b)})):b.getElementsByTagName&&(b=b.getElementsByTagName(a.getName()),t(b,function(a){Q(a,c,d)&&e.add(a)}));return e} function Va(a,b,c,d,e){var f;if((8==a.g()||c&&a.g()===l)&&(f=b.childNodes)){var h=a.getName();if("*"!=h&&(f=da(f,function(a){return a.tagName&&a.tagName.toLowerCase()==h}),!f))return e;c&&(f=da(f,function(a){return Q(a,c,d)}));t(f,function(a){("*"!=h||"!"!=a.tagName&&!("*"==h&&1!=a.nodeType))&&e.add(a)});return e}return Wa(a,b,c,d,e)}function Wa(a,b,c,d,e){for(b=b.firstChild;b;b=b.nextSibling)Q(b,c,d)&&a.matches(b)&&e.add(b);return e} function Ua(a,b,c,d,e){for(b=b.firstChild;b;b=b.nextSibling)Q(b,c,d)&&a.matches(b)&&e.add(b),Ua(a,b,c,d,e)};function S(){this.d=this.c=l;this.h=0}function Xa(a){this.m=a;this.next=this.j=l}S.prototype.unshift=function(a){a=new Xa(a);a.next=this.c;this.d?this.c.j=a:this.c=this.d=a;this.c=a;this.h++};S.prototype.add=function(a){a=new Xa(a);a.j=this.d;this.c?this.d.next=a:this.c=this.d=a;this.d=a;this.h++};function Ya(a){return(a=a.c)?a.m:l}function Za(a){return new $a(a,m)}function $a(a,b){this.D=a;this.k=(this.n=b)?a.d:a.c;this.r=l} $a.prototype.next=function(){var a=this.k;if(a==l)return l;var b=this.r=a;this.k=this.n?a.j:a.next;return b.m};function T(a,b,c,d,e){b=b.evaluate(d);c=c.evaluate(d);var f;if(b instanceof S&&c instanceof S){e=Za(b);for(d=e.next();d;d=e.next()){b=Za(c);for(f=b.next();f;f=b.next())if(a(P(d),P(f)))return k}return m}if(b instanceof S||c instanceof S){b instanceof S?e=b:(e=c,c=b);e=Za(e);b=typeof c;for(d=e.next();d;d=e.next()){switch(b){case "number":d=+P(d);break;case "boolean":d=!!P(d);break;case "string":d=P(d);break;default:throw Error("Illegal primitive type for comparison.");}if(a(d,c))return k}return m}return e? "boolean"==typeof b||"boolean"==typeof c?a(!!b,!!c):"number"==typeof b||"number"==typeof c?a(+b,+c):a(b,c):a(+b,+c)}function ab(a,b,c,d){this.s=a;this.H=b;this.p=c;this.q=d}ab.prototype.toString=function(){return this.s};var bb={};function U(a,b,c,d){if(a in bb)throw Error("Binary operator already created: "+a);a=new ab(a,b,c,d);bb[a.toString()]=a}U("div",6,1,function(a,b,c){return a.b(c)/b.b(c)});U("mod",6,1,function(a,b,c){return a.b(c)%b.b(c)});U("*",6,1,function(a,b,c){return a.b(c)*b.b(c)}); U("+",5,1,function(a,b,c){return a.b(c)+b.b(c)});U("-",5,1,function(a,b,c){return a.b(c)-b.b(c)});U("<",4,2,function(a,b,c){return T(function(a,b){return a<b},a,b,c)});U(">",4,2,function(a,b,c){return T(function(a,b){return a>b},a,b,c)});U("<=",4,2,function(a,b,c){return T(function(a,b){return a<=b},a,b,c)});U(">=",4,2,function(a,b,c){return T(function(a,b){return a>=b},a,b,c)});U("=",3,2,function(a,b,c){return T(function(a,b){return a==b},a,b,c,k)}); U("!=",3,2,function(a,b,c){return T(function(a,b){return a!=b},a,b,c,k)});U("and",2,2,function(a,b,c){return a.f(c)&&b.f(c)});U("or",1,2,function(a,b,c){return a.f(c)||b.f(c)});function cb(a,b,c,d,e,f,h,q,D){this.i=a;this.p=b;this.C=c;this.B=d;this.A=e;this.q=f;this.z=h;this.w=q!==g?q:h;this.F=!!D}cb.prototype.toString=function(){return this.i};var db={};function V(a,b,c,d,e,f,h,q){if(a in db)throw Error("Function already created: "+a+".");db[a]=new cb(a,b,c,d,m,e,f,h,q)}V("boolean",2,m,m,function(a,b){return b.f(a)},1);V("ceiling",1,m,m,function(a,b){return Math.ceil(b.b(a))},1); V("concat",3,m,m,function(a,b){var c=ga(arguments,1);return ea(c,function(b,c){return b+c.a(a)})},2,l);V("contains",2,m,m,function(a,b,c){b=b.a(a);a=c.a(a);return-1!=b.indexOf(a)},2);V("count",1,m,m,function(a,b){return b.evaluate(a).h},1,1,k);V("false",2,m,m,n(m),0);V("floor",1,m,m,function(a,b){return Math.floor(b.b(a))},1); V("id",4,m,m,function(a,b){function c(a){if(O){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return fa(b,function(b){return a==b.id})}return l}return e.getElementById(a)}var d=a.e,e=9==d.nodeType?d:d.ownerDocument,d=b.a(a).split(/\s+/),f=[];t(d,function(a){a=c(a);var b;if(b=a){a:if(r(f))b=!r(a)||1!=a.length?-1:f.indexOf(a,0);else{for(b=0;b<f.length;b++)if(b in f&&f[b]===a)break a;b=-1}b=!(0<=b)}b&&f.push(a)});f.sort(ya);var h=new S;t(f,function(a){h.add(a)});return h},1); V("lang",2,m,m,n(m),1);V("last",1,k,m,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.u()},0);V("local-name",3,m,k,function(a,b){var c=b?Ya(b.evaluate(a)):a.e;return c?c.nodeName.toLowerCase():""},0,1,k);V("name",3,m,k,function(a,b){var c=b?Ya(b.evaluate(a)):a.e;return c?c.nodeName.toLowerCase():""},0,1,k);V("namespace-uri",3,k,m,n(""),0,1,k);V("normalize-space",3,m,k,function(a,b){return(b?b.a(a):P(a.e)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1); V("not",2,m,m,function(a,b){return!b.f(a)},1);V("number",1,m,k,function(a,b){return b?b.b(a):+P(a.e)},0,1);V("position",1,k,m,function(a){return a.v()},0);V("round",1,m,m,function(a,b){return Math.round(b.b(a))},1);V("starts-with",2,m,m,function(a,b,c){b=b.a(a);a=c.a(a);return 0==b.lastIndexOf(a,0)},2);V("string",3,m,k,function(a,b){return b?b.a(a):P(a.e)},0,1);V("string-length",1,m,k,function(a,b){return(b?b.a(a):P(a.e)).length},0,1); V("substring",3,m,m,function(a,b,c,d){c=c.b(a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?d.b(a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=b.a(a);if(Infinity==d)return a.substring(e);b=Math.round(d);return a.substring(e,c+b)},2,3);V("substring-after",3,m,m,function(a,b,c){b=b.a(a);a=c.a(a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2); V("substring-before",3,m,m,function(a,b,c){b=b.a(a);a=c.a(a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);V("sum",1,m,m,function(a,b){for(var c=Za(b.evaluate(a)),d=0,e=c.next();e;e=c.next())d+=+P(e);return d},1,1,k);V("translate",3,m,m,function(a,b,c,d){b=b.a(a);c=c.a(a);var e=d.a(a);a=[];for(d=0;d<c.length;d++){var f=c.charAt(d);f in a||(a[f]=e.charAt(d))}c="";for(d=0;d<b.length;d++)f=b.charAt(d),c+=f in a?a[f]:f;return c},3);V("true",2,m,m,n(k),0);function eb(a,b,c,d){this.i=a;this.t=b;this.n=c;this.J=d}eb.prototype.toString=function(){return this.i};var fb={};function W(a,b,c,d){if(a in fb)throw Error("Axis already created: "+a);fb[a]=new eb(a,b,c,!!d)}W("ancestor",function(a,b){for(var c=new S,d=b;d=d.parentNode;)a.matches(d)&&c.unshift(d);return c},k);W("ancestor-or-self",function(a,b){var c=new S,d=b;do a.matches(d)&&c.unshift(d);while(d=d.parentNode);return c},k); W("attribute",function(a,b){var c=new S,d=a.getName();if("style"==d&&b.style&&O)return c.add(new Qa(b.style,b,"style",b.style.cssText,b.sourceIndex)),c;var e=b.attributes;if(e)if("*"==d)for(var d=b.sourceIndex,f=0,h;h=e[f];f++)O?h.nodeValue&&c.add(Ra(b,h,d)):c.add(h);else(h=e.getNamedItem(d))&&(O?h.nodeValue&&c.add(Ra(b,h,b.sourceIndex)):c.add(h));return c},m);W("child",function(a,b,c,d,e){return(O?Va:Wa).call(l,a,b,r(c)?c:l,r(d)?d:l,e||new S)},m,k);W("descendant",R,m,k); W("descendant-or-self",function(a,b,c,d){var e=new S;Q(b,c,d)&&a.matches(b)&&e.add(b);return R(a,b,c,d,e)},m,k);W("following",function(a,b,c,d){var e=new S;do for(var f=b;f=f.nextSibling;)Q(f,c,d)&&a.matches(f)&&e.add(f),e=R(a,f,c,d,e);while(b=b.parentNode);return e},m,k);W("following-sibling",function(a,b){for(var c=new S,d=b;d=d.nextSibling;)a.matches(d)&&c.add(d);return c},m);W("namespace",function(){return new S},m); W("parent",function(a,b){var c=new S;if(9==b.nodeType)return c;if(2==b.nodeType)return c.add(b.ownerElement),c;var d=b.parentNode;a.matches(d)&&c.add(d);return c},m);W("preceding",function(a,b,c,d){var e=new S,f=[];do f.unshift(b);while(b=b.parentNode);for(var h=1,q=f.length;h<q;h++){var D=[];for(b=f[h];b=b.previousSibling;)D.unshift(b);for(var K=0,ba=D.length;K<ba;K++)b=D[K],Q(b,c,d)&&a.matches(b)&&e.add(b),e=R(a,b,c,d,e)}return e},k,k); W("preceding-sibling",function(a,b){for(var c=new S,d=b;d=d.previousSibling;)a.matches(d)&&c.unshift(d);return c},k);W("self",function(a,b){var c=new S;a.matches(b)&&c.add(b);return c},m);function X(a){return(a=a.exec(z()))?a[1]:""}var gb=function(){if(Ja)return X(/Firefox\/([0-9.]+)/);if(B||ma)return E;if(Na)return X(/Chrome\/([0-9.]+)/);if(Oa)return X(/Version\/([0-9.]+)/);if(La||Ma){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(z());if(a)return a[1]+"."+a[2]}else{if(N)return(a=X(/Android\s+([0-9.]+)/))?a:X(/Version\/([0-9.]+)/);if(Ka)return X(/Camino\/([0-9.]+)/)}return""}();var hb,ib,jb=function(){if(!C)return m;var a=p.Components;if(!a)return m;try{if(!a.classes)return m}catch(b){return m}var c=a.classes,a=a.interfaces,d=c["@mozilla.org/xpcom/version-comparator;1"].getService(a.nsIVersionComparator),c=c["@mozilla.org/xre/app-info;1"].getService(a.nsIXULAppInfo),e=c.platformVersion,f=c.version;hb=function(a){d.o(e,""+a)};ib=function(a){d.o(f,""+a)};return k}(),kb;if(N){var lb=/Android\s+([0-9\.]+)/.exec(z());kb=lb?lb[1]:"0"}else kb="0";var mb=kb; N&&(jb?ib(2.3):N?s(mb,2.3):s(gb,2.3));!ma&&na&&(jb?hb("533"):B?s(H,"533"):ta("533"));function nb(a,b){var c=b||aa,d;d=(c||window).document;d="CSS1Compat"==d.compatMode?d.documentElement:d.body;d=new J(d.clientWidth,d.clientHeight);var e=a.x>=d.width?a.x-(d.width-1):0>a.x?a.x:0,f=a.y>=d.height?a.y-(d.height-1):0>a.y?a.y:0,h;h=c.document?new L(Ba(c.document)):I||(I=new L);h=wa(h.l);(0!=e||0!=f)&&c.scrollBy(e,f);c=c.document?new L(Ba(c.document)):I||(I=new L);c=wa(c.l);if(h.x+e!=c.x||h.y+f!=c.y)throw new u(34,"The target location ("+(a.x+h.x)+", "+(a.y+h.y)+") is not on the webpage."); c=new va(a.x-e,a.y-f);if(0>c.x||c.x>=d.width)throw new u(34,"The target location ("+c.x+", "+c.y+") should be within the viewport ("+d.width+":"+d.height+") after scrolling.");if(0>c.y||c.y>=d.height)throw new u(34,"The target location ("+c.x+", "+c.y+") should be within the viewport ("+d.width+":"+d.height+") after scrolling.");return c}var Y=["_"],Z=p;!(Y[0]in Z)&&Z.execScript&&Z.execScript("var "+Y[0]);for(var $;Y.length&&($=Y.shift());)!Y.length&&nb!==g?Z[$]=nb:Z=Z[$]?Z[$]:Z[$]={};; return this._.apply(null,arguments);}.apply({navigator:typeof window!=undefined?window.navigator:null,document:typeof window!=undefined?window.document:null}, arguments);}