UNPKG

slimerjs-firefox

Version:

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

8 lines (7 loc) 4.73 kB
function(){return function(){var e=!0,f=!1,l=this,m=Date.now||function(){return+new Date};function p(a,g){this.code=a;this.state=q[a]||r;this.message=g||"";var b=this.state.replace(/((?:^|\s+)[a-z])/g,function(a){return a.toUpperCase().replace(/^[\s\xa0]+/g,"")}),c=b.length-5;if(0>c||b.indexOf("Error",c)!=c)b+="Error";this.name=b;b=Error(this.message);b.name=this.name;this.stack=b.stack||""}(function(){var a=Error;function g(){}g.prototype=a.prototype;p.c=a.prototype;p.prototype=new g})(); var r="unknown error",q={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"};q[13]=r;q[9]="unknown command";p.prototype.toString=function(){return this.name+": "+this.message};function s(a,g){for(var b=0,c=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(g).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),n=Math.max(c.length,d.length),B=0;0==b&&B<n;B++){var ja=c[B]||"",ka=d[B]||"",la=RegExp("(\\d*)(\\D*)","g"),ma=RegExp("(\\d*)(\\D*)","g");do{var h=la.exec(ja)||["","",""],k=ma.exec(ka)||["","",""];if(0==h[0].length&&0==k[0].length)break;b=((0==h[1].length?0:parseInt(h[1],10))<(0==k[1].length?0:parseInt(k[1],10))?-1:(0==h[1].length?0:parseInt(h[1],10))> (0==k[1].length?0:parseInt(k[1],10))?1:0)||((0==h[2].length)<(0==k[2].length)?-1:(0==h[2].length)>(0==k[2].length)?1:0)||(h[2]<k[2]?-1:h[2]>k[2]?1:0)}while(0==b)}return b};var t,u,v,w;function x(){return l.navigator?l.navigator.userAgent:null}w=v=u=t=f;var y;if(y=x()){var aa=l.navigator;t=0==y.indexOf("Opera");u=!t&&-1!=y.indexOf("MSIE");v=!t&&-1!=y.indexOf("WebKit");w=!t&&!v&&"Gecko"==aa.product}var z=t,A=u,C=w,ba=v;function ca(){var a=l.document;return a?a.documentMode:void 0}var D; a:{var E="",F;if(z&&l.opera)var G=l.opera.version,E="function"==typeof G?G():G;else if(C?F=/rv\:([^\);]+)(\)|;)/:A?F=/MSIE\s+([^\);]+)(\)|;)/:ba&&(F=/WebKit\/(\S+)/),F)var da=F.exec(x()),E=da?da[1]:"";if(A){var ea=ca();if(ea>parseFloat(E)){D=String(ea);break a}}D=E}var fa={};function H(a){return fa[a]||(fa[a]=0<=s(D,a))}var ga=l.document,I=!ga||!A?void 0:ca()||("CSS1Compat"==ga.compatMode?parseInt(D,10):5);var J,K,L,M,N,O,P;P=O=N=M=L=K=J=f;var Q=x();Q&&(-1!=Q.indexOf("Firefox")?J=e:-1!=Q.indexOf("Camino")?K=e:-1!=Q.indexOf("iPhone")||-1!=Q.indexOf("iPod")?L=e:-1!=Q.indexOf("iPad")?M=e:-1!=Q.indexOf("Android")?N=e:-1!=Q.indexOf("Chrome")?O=e:-1!=Q.indexOf("Safari")&&(P=e));var ha=J,ia=K,na=L,oa=M,R=N,pa=O,qa=P;function S(a){return(a=a.exec(x()))?a[1]:""}var ra=function(){if(ha)return S(/Firefox\/([0-9.]+)/);if(A||z)return D;if(pa)return S(/Chrome\/([0-9.]+)/);if(qa)return S(/Version\/([0-9.]+)/);if(na||oa){var a=/Version\/(\S+).*Mobile\/(\S+)/.exec(x());if(a)return a[1]+"."+a[2]}else{if(R)return(a=S(/Android\s+([0-9.]+)/))?a:S(/Version\/([0-9.]+)/);if(ia)return S(/Camino\/([0-9.]+)/)}return""}();var T,sa,U=function(){if(!C)return f;var a=l.Components;if(!a)return f;try{if(!a.classes)return f}catch(g){return f}var b=a.classes,a=a.interfaces,c=b["@mozilla.org/xpcom/version-comparator;1"].getService(a.nsIVersionComparator),b=b["@mozilla.org/xre/app-info;1"].getService(a.nsIXULAppInfo),d=b.platformVersion,n=b.version;T=function(a){return 0<=c.b(d,""+a)};sa=function(a){c.b(n,""+a)};return e}(),V;if(R){var ta=/Android\s+([0-9\.]+)/.exec(x());V=ta?ta[1]:"0"}else V="0";var ua=V; R&&(U?sa(2.3):R?s(ua,2.3):s(ra,2.3));ba||z||C&&(U?T(3.5):A?0<=s(I,3.5):H(3.5))||A&&(U?T(8):A?s(I,8):H(8));if(C||A){var W;if(W=A)W=A&&9<=I;W||C&&H("1.9.1")}A&&H("9");function va(a,g){a=decodeURIComponent(a);var b=g||document,c;c=b||document;var d=c.$wdc_;d||(d=c.$wdc_={},d.a=m());d.a||(d.a=m());c=d;if(!(a in c))throw new p(10,"Element does not exist in cache");d=c[a];if("setInterval"in d){if(d.closed)throw delete c[a],new p(23,"Window has been closed.");return d}for(var n=d;n;){if(n==b.documentElement)return d;n=n.parentNode}delete c[a];throw new p(10,"Element is no longer attached to the DOM");}var X=["_"],Y=l;!(X[0]in Y)&&Y.execScript&&Y.execScript("var "+X[0]); for(var Z;X.length&&(Z=X.shift());){var $;if($=!X.length)$=void 0!==va;$?Y[Z]=va:Y=Y[Z]?Y[Z]:Y[Z]={}};; return this._.apply(null,arguments);}.apply({navigator:typeof window!=undefined?window.navigator:null,document:typeof window!=undefined?window.document:null}, arguments);}