From cc8ac1c22dd02b490dc24c18e72dba180ecdaf6f Mon Sep 17 00:00:00 2001 From: kkapsner Date: Thu, 18 Jun 2015 14:54:09 +0200 Subject: [PATCH] Some code cleanup and commenting. --- canvasblocker.xpi | Bin 29718 -> 29779 bytes data/inject.js | 46 ++++++++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/canvasblocker.xpi b/canvasblocker.xpi index df5676ba04f04fce166e815a06dc9cb3753de8d9..4f41e83c600fb4b4a723cd76a777d92569ab6655 100644 GIT binary patch delta 3026 zcmV;@3oZ1P=mFE{0S!<~0|XQR000O8e0I{Y4ed=4d3Mr9Usw{n3kv`M3?l#lCX>)j zAd|dt34gsBYj4{|^0NZuKWvF2pc001e7)jMIwR-UPA`C68%~9(^|Z*7$B)QUa-JuwlEB_wOb+9Nn7o-23QRB8e$&-C zS$|PUDz3;3I1u@?R%`|uQ5hiQQq!5|DC2*4O%hrWK2^Xq0g(t*BvWcR9*s(Kddx*S z0-_^0ZWL>I!nxH$IQ;nd(IBWLBY04vf(bmszdI_x5K4h&B{?F9HINx!ozS8H*lRd_ zOy;xzN&FHomjzSIqP$f!Sy&uE*-R|eX@9|!#RY26k_Dw(Z87KkZt6OC)yD`ZVN?Y zY&kNR+7Y>+ zDvRd@=OR2jAkWOR*&hxe2wxl=3@2{abgdZ1N}ywCFz14V2+sj_FoCasSi<=G*%5hR z4jh<$0C=k~k;QYt%ae=>%raq%gMa?vhkyNkXinc44^g$K3>OI9gl5(J8;yt#NV23t z!YKf9f@=`dt7nxG>yY7Rqm2^yAN@0opAN_2FEjV~?I>pVEV0Psk3Yyw5I~y6$A|>a zp9kjicG6+s7SKV$UP+A937G8FZ3~kJ_p@r@WVb;v(0+oHyv~nJ;qY#0)G&MU{$ay#QKLY zkh#(o zF=-Z${aToqGT+1_FMnpQxPZ>C<6gRJMjpHPukFf5!r5!^7o0fvlF#2>5K^qfhJEZhzsciiuO6)Fq_n*k%yv zSlB8~A6v(bEe+oToIrX?xmde}mn77uy(EEcI57NtKN1Y#$#ojG^MH<#pmsv1HgpZG z?4yP#w$QO9@*vtq^1-F<^JC~FAi-VA+dz8zZDk-A=@6Ht+AKf|hn1wF{IS062_H0W9} zm;sMtEPsxAClt%cluGvfcM-y-iqo*w><`2f-fB%80V`;Aa z|1)(p2Y|b3LD1>G{D8f)qFrW@_YskBRgo+BpMSNDgSk$w;D#kL`1r163G_E>iJu_v z{q3Zn<&w>gg`n%OaC+Z)^Xpyu1_PvZlizl4nRack|xR-O<^wmpc9St#CpEUFG-CB7M0DcMtV;*$>RO#xWrjnuwU95<#&N zC4Yr)j00$9H8W1*kav-Uo~y06Sm1SWRx=#j{rg(qf0k<~QDzQ?abd4LX6Fu@8uIbZ zOTFG?5cV1wF!tLS7MFv}8+1`cVm#swQ7F^f81Km!8 zIz!*x*qz*Gn(VRu@>8NcO@?V+|3pA@C`xI5S$AL+Bzi&h91WAJ7O9rW#K>xPI8p65X`;i<%ST1cKeAuV8QT6ojYj$0Rv+lFt9B)bD? zu$f=*%59O>6UTi-J(C;vL*E&@N6Cem!8PKW3Dk#vw0e!<5Vw6K=Ed7aBReJ%&7{61 zXL}maGIc{|vn{!;C)!s<83KhNd4K7q%zhf*koa>WXy$=3M#9d0TN-vdy5060%t{>J(IjC~LKlwB;!d^eD7HsNeUwV8e?){J5q=1`oFYlClcgfyB%{Dx92{ zS8YgAQzX+hN%K3VXW2kfF`;R+%b=tFsp^MLuQ^x34_h$_n%9A0@DW`F(ebXa!3lR7 z488nDEZ1mnPd|X_q+7gCcz;>eRh}3j^b0s+BqOD z4c&-k%SCqG4PzhU-5}oT*!CjA`eM>L63fBE4n)kY<64;8`TfX={Qxda*zMy|@3b$a z9?EWq;1}x$L-{KmtaHaF?DCb4-DyXM_5dUHIjyVDaodNp`ALVEF@MPF+5hQG-ND2E z8}}aDC^72!Wz_YSsAI&aQB>sFzunGlO-^Xap9M!v8tTO9KRx z%W)dBAX(ZE1AKPUv;An91p|C`(zBUvBlOARklX7z^0`X{*(M=kYxN{N%e0I{4 U&2t+9EoqbLb0!AIZU6uP0A!}aMgRZ+ delta 2970 zcmV;L3uW}v=mD1K0S!<~0|XQR000O8`B|^A4ed=4djyz98t`X6&I$kkyCMJpCX>)j zAd@Rj3xEA@+cx%R7wG@M2}2>bs+?xK;m*0Bm!|2iK(Yi$*WDot3RwiIFR z6}wmauM_eMoBVj%-$+QtYspKNkfxS&#(uGQ*nj0V0S&Ikpf7b}10;*>0@ zB!4wmWC|3BV$vu!1&OE}01Bz`%nIc3-@G9itqGqfpqcRDdFs0?A5pNDyiubG|&LWeIC<;Px?@ z(GocETfAD7Ofd^`rD%3*VE|-(V6je0o`2n*p#&{j5V}>~*enccS^@T`-H7xh1F5KL zB{>CT*Ui(QnhO3qvUZ~^f#flO=2RO3y74WKZUi?UF0^lKd% zDn}z5n$wccV|%m}-wXnEg&MItsmzO+iiZaT$iHM2zhk741f`?Hq~l@W4}Y2;sbGte zW-K1XWmDCLJaSSNRZ&v~$p6z&nM2Su z9GNdt(G{i_9cuTVnMIip2+w4huhKMiycG3o4k4duK_X>n#+uVsVvbD+L7#%|^B;d~U^U0A5q;AEH#TN8g(d)| z3R(rdf=7IaBdL?(d7~DMiiWTjf!}N3Vn$+@MABU;!g6X6JE;gZZ9s=!Dq7Z%sx7o5 z)ad1zrbjt?aP6d4Vr6McjP+mn^*FPR0})8ugm)qadg{>gKzxSk>wmqQ&?5t{1Z>(T zy+0mf%|T3p--C4Bfl4CCKp_;l2^2cJ$~rL3 zooBWdd>VQeO{rN3NPk;n34pP{ZID4p1e4NXG}`>;idg=T7zJP5bpd~mL-;S};M1b^5I!52)ZmBt3HW@cvv^V2`q_bcMP`DRCAI+X3$~0M z9i~RWir(uFE_}tIhCr(;3((;uYe#}=f)Wi21O@%| zk4zm&(|-*A&&1VU0OqP0L8JTf3wBOWwy8zlCq%B`{}TS^p>i;`$tCn1GKY`v15Kd4 zSxx*5aqh3jC9M{0dL#s0#if(`)_$nh3JnH`>$^FDqJBL(mjdPiinw zCBBZH74rscY*O|HDsxQa-MMIg8e)CPOqRBAh^CyH-LM+Ux^o0KAJ`l)pktokR_q^q?7^-YIC?*~S^DDnUYonyY0@_(gW&|P71oPHeKqWE(iX@BAY zGdjxFa~lG8C%VSIL$)NILh2ZXA`VdL61r_4Jjd=EUx1|Ol_{%mf=089NeP88)^A(Y zql1AZE$NHaUnG}>%5vvitxhti4!txz!8WnE@OIFJ#+lCFaH^$;g2Y(RSlxl;O&S9&Wb*~0!(~p+%I+(YbIUCN2KogIH zsZM`%#PBm1v4V+>{t>57hvWFysr&qP1YEMr0%J{l9YOo1AEBXp{yZ|DCKPnW2#qMm zq`H1_V8Lc}q+74lG!f6gjcY*asXkg{c&KS${o%ZJC1N z0X+xJnj1BxszqcIDsqKC{9LMorjyj&&ZlxYh7WzK5`H3#*~Yxti=&U|ObCt*(i-Il z5z*6bNOIl5=7D_y%)j}GhsO6*hG)SqLv4=3}J1~Fw2T=W0aoogE% zuiYzYBgCX1Nm96vpQ*+1q1n6 zud~)}t8(M=kY^>Y#f`B|@%3UnI+ Q@Mx1KbS4IhZU6uP04M2^b^rhX diff --git a/data/inject.js b/data/inject.js index 831fb60..0d4eeda 100644 --- a/data/inject.js +++ b/data/inject.js @@ -50,6 +50,18 @@ return bytes; }()); + + // Stack parsing + function parseStackEntry(entry){ + var m = /@(.*):(\d*):(\d*)$/.exec(entry) || ["", entry, "--", "--"]; + return { + url: m[1], + line: m[2], + column: m[3], + raw: entry + }; + } + // parse calling stack function errorToCallingStackMsg(error){ var msg = ""; @@ -126,7 +138,7 @@ }; } - // changed functions + // changed functions and their fakes var changedFunctions = { getContext: { mode: blockMode.getContext, @@ -184,9 +196,17 @@ } }; + // do the replacements Object.keys(changedFunctions).forEach(function(name){ var changedFunction = changedFunctions[name]; var original = changedFunction.object.prototype[name]; + var fake = changedFunction.fake? + exportFunction( + changedFunction.fake, + unsafeWindow, + changedFunction.exportOptions + ): + undef; Object.defineProperty( changedFunction.object.prototype, name, @@ -200,11 +220,11 @@ var askStatus = changedFunction.mode.askStatus; var appearance = canvasAppearance(this); if (askStatus.askOnce && askStatus.alreadyAsked[appearance.askCategory]){ - // console.log("already asked"); + // already asked status = askStatus.answer[appearance.askCategory]; } else { - //console.log("asking"); + // asking var msg = _(changedFunction.mode.askText[appearance.text]); if (settings.showCallingFile){ msg += callingStackMsg; @@ -212,7 +232,6 @@ status = window.confirm(msg) ? "allow": "block"; askStatus.alreadyAsked[appearance.text] = true; askStatus.answer[appearance.text] = status; - //console.log("asking (done)"); appearance.reset(); } } @@ -221,11 +240,7 @@ case "allow": return original; case "fake": - return changedFunction.fake? exportFunction( - changedFunction.fake, - unsafeWindow, - changedFunction.exportOptions - ): undef; + return fake; //case "block": default: return undef; @@ -235,21 +250,11 @@ ); }); - // Stack parsing - function parseStackEntry(entry){ - var m = /@(.*):(\d*):(\d*)$/.exec(entry) || ["", entry, "--", "--"]; - return { - url: m[1], - line: m[2], - column: m[3], - raw: entry - }; - } - // Translation var _ = function(name, replace){ var str = self.options.translations[name] || name; if (replace){ + // replace generic content in the transation by given parameter Object.keys(replace).forEach(function(name){ str = str.replace(new RegExp("{" + name + "}", "g"), replace[name]); }); @@ -299,6 +304,7 @@ }); }); + // initial status setting setStatus( checkURL( location,