From 827fd3124cd818a734e551ab3db997236589350d Mon Sep 17 00:00:00 2001 From: kkapsner Date: Mon, 15 Aug 2016 13:27:28 +0200 Subject: [PATCH] Minor bug fixing and commenting in lib/randomSupplies.js Fixes #76 --- ...0.3.1-Development.xpi => canvasblocker.xpi | Bin 17467 -> 17650 bytes lib/randomSupplies.js | 25 +++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) rename CanvasBlocker@kkapsner.de-0.3.1-Development.xpi => canvasblocker.xpi (61%) diff --git a/CanvasBlocker@kkapsner.de-0.3.1-Development.xpi b/canvasblocker.xpi similarity index 61% rename from CanvasBlocker@kkapsner.de-0.3.1-Development.xpi rename to canvasblocker.xpi index 561b71beaa9f0d94f7d6b87b0e541112ff014d13..126177afeb07b20f4486c1d5264c986bf6d6af86 100644 GIT binary patch delta 5272 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ͭbI<)8gaZTD6d+%8 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 delta 4985 zcmZWt2Q=JW(_g);-dVkbuvT3yIw5)uLLyj1w^&gkHc=A2>|&LO5?vm>C8F0Lt4E6j zo9LpKgv5uO_j%s;`R4r3nfafYJ9qA!d*}RS_M-8cqwpw=^#};b0hctEPMl21O>oJ? zxvrQg?|4zM1GUPC@*FjoNX}CVX+O&er=m)6WjYT0#TqI0Gu-HNJPg z#{O>5;?~k{62z3>xW(Gq^|jVt;WT7VVsjjZZsw7{^jKRh98GZLTAY03l2-?G5nd@W zsE}8RS~jNYKLVC@;*Uy+Xy=bW07U;$f#}Zu2>8++_>`9shQDFC`I`^`=s}Ojh#-x$ zMtQ46+tnOE59zte@^c?v7cIZ%t7e+UsBzxn-IOzXkIXPQxqC6>9cwGA>2T%!U*dGG zZZeI`<9>Nuk*9)bkQ(9Rfz?sg_@aS<$RGuuf=J6mRIZLijFq+ZjkSJ3)aQBIWLX9g zOtAyVocC4BM5wwY(1Ud#;xh^^B7}^d0CPkuVmeXP9U6n~9t*cYMj)6azarj3dg_Y; zO#mM62LYmK$(M1xzu4dHl{y}5TN#=pp~l#I8Hv51&?8+H;o{}ecd0UF*i`xZEVG$V z&xj*-u-tS1QoT0D-=XKQ{&5bJxcm7%Dh(pLPY=)VwKW25sc=?1Vqz6kImoiZ?%1&mNZ&o|i&a2C_z}F)k)9W{yBt zo-p2EF>5ev85p-kkQCeazVy>hOq26570Q&lL)&c-+&3u=CcpQ9W@5QC%7QC(e_pCZ zJi~a_=e_cm$A~(e_Gmy;eh;XkL~lqTUacg4T7ei!y~6dXpe1@7)7J8@$OXLUwft)iQijxd($l-Oha_Q$i|h< z9i07vhf*rK(xMIzrbd4j82xB=%+l3B{tltm!PjEIUmW$s$2y9o`UM?$@*YHSXQ-;+ znUzQNCX+XZ0|EGk`-IqRxSSM-B_lYJb2fz2I)4@^L!oh!*SBN(wHbi zm7iid{`Y5Bs10UN38Z4DYR~_ zXjC@c@&1U_LKAcxZH#geV_$pndw*0G3toR`DS;*QoA3e^jy#Z46J5(t2@q0!iye8= zb6io)?$$wl+@W;*vJ*&!d-t=eYi2Rgayzff`=&Yf&UM;~GYp}{Z0B|0VluLnEE@1$?AW@-W+Hcf@S>i})l}3-h4O9#WY}_I9(>6X)v2 zNeZ;}1gCozw%aAeYUk(Vca{H?b5g(<@}eLXlaSR9;{yN@Bme;8MUD4xbrAEl_j2_1 zH1mhUJzSmqAZ~tzDW2|g;xv8tn@6_c8?pAq*;@w^(gt=E_>m7qHe^`x2>R0K8Ewc> zp9-jde7~X75H8iFNL-lkIH2u3`v4QhsW=cPNhFVaLnuJ*ODI)lVNQ2S-eQMDimi4u z5~ae2fwc4|-SqhM5Z`w1nsghA_)AfEIi*oc z;j~c<;1p|HVl}VH$B<<_bpm7xFhnXbiwSIzA~p4B{)-^Z9{-r_vc&*m3?~#z5a{)>hZ&*S>-*nM_9U6Nr!}e2C`d$6(G)3 zT9rkgWWM*qf$VFh$c{p`%#h5m(~8l7i8PfI)naHAT+3pIBOqYMBnr7Yv&BWN7>h84 zv`@wx>jR&kG=*8jcx#WaKIdDtjM+k&mEHE{tKS)q^IOc!;q9dLo9em;oI>kNcJ?aD z9HMf!zDL^*Sk#G1o)elx+Rfbzjgj=Uu|9O}bs)RLH`u+PM1EiY*_^oBJq&Awo`Is` z?!r2`V1#VdEtbSS_#zTIh=|-mxJh&BTlDOM%kFqxu zuS&hQ?haN|xp70j(M=67H;s`_bx!SCG@M-F&B;5+X^_ZDH(O>~rnT}PK7B4a%2W{y zO3Vx^>~eeH`9R1Wt{rQ7U>Bl|!7*C&)sh>_Ns`(X7!Ord~*oTZJ;RqGXcwq z*OOkufVz%+)WAB1{@kfALxXyiNm6C`X*bi~NUq-nr$h)oP<0iPpgd|^?lX3AVBS6hw^ z`mD&vxL7X8#V!g}rUP4(4AWDI8?GH&^E=Xg3Xwu)83fWKcD28_wWTPWy4ExXb}ro^ zP^k6DnIC?A{oMrLykJO-NloxbbzCVmMG{ev4BC#AyiJ0*4dM6-?}c1?MXTFOgi*G& zR=Rpj^v%qCTo|R>1E?5<%v+22{UDAaNVEXgw`4lp+M}{H;^K^yPRPviapLwp+qx17 zi98!*H`KAQND;qxJ&V%m%vjSP^5Eg2s*hz{%8U=4!V$KhGJ>i6E_VfH_@XF`cfEEVL($a{9ep6U0`ekkSm|t^OBU zLS9d5m3dTW%-I6zC3@}=FZceO)ac!>^UB9-CtghD*6+cX)hMM5QnD-~(i082^QS9X zD}HOq-7Y8bB~(-hNl!9yNMM2Sx3|~dV&He^W=9Qc`gEBkNrQvZLjl8BDaI19lEXL1 zj){CHtx3i@vLOv6;$aPi58~w!%28sdW#&b*)W@_A{RtSZa@>bCVd{Y;y6^0VwEn9I zoU4W@Jy}EH{!qi3xxMWJdi5L|(>qDNlP;064IZle*}1Vhp91BRVYFuvUOeO3PWzHr ztIFFLW5%)U>prK?hRhhBzXW6uz&Z<%nzT2==i-*Y@pT z9Rg?h!-mkj z1g)}8MfI1enhy4k*+Y~+)PYq+z-;z!Phc-zx8CjnXuD6_Z{@o=VVIwdX~!A04!Id^ z^|XvTCV%=~a>H}f_Z!){y$4&Y5uOVs{iXy@v8iX9$COjqGUF@FrpPB-N3RK?Xe`54 z{s*4TqiTaD-y?|1x0Z%S5i|P8Sn$VePo9J^)#}?`UTr^$=KS;OWT(}%Sq_!PIaDj$ zTvB#;_iKH3=AhU}xqW)J&N*xG9l%{af70(Ip@Gz0tdEn&#-~fblgIVzG6{h<6iKO! z12)5Lj#PguE00OcJ103~zXfFLFK+EDojqxVnbLlT3P^+yw>kfORk@&nJi#R>bG&}b z(|Q8 zc+U6pyXC!nRthc=9J|d&>*vUv3RqdqG#w%mP!yRNzuH*! zeEzwubq!3(A6}8403c5w(t_;N{nWknI6JCYkl&MGHRcR@Y;2N!83+k%n1~_CO zyL~PFOQIi9CsJ+NgA`NPV$ED*krgQk-v-QwraG#KT*_OvdH#>?1T0Sv1!jDC8bW+( zE7YL5@AZbzQy{adJ7|KIn67a$y;yYGmIR)cQj2|p&A#KWoKS=pAONj$vVB^`;pfdV za-=kj69>`C8IjBSz0=nBSmO&evn!9f+EBl<}>nZv_=*m^ZJGg9RyGhI0k}5(*?(dAk zr8*{7z3Q1>bW~0K>KoIx{oHBfh?a{j*BcmPSv}cm${**|%5+TXU?|4SIG$~!KHoJZ z!+beDO*iOdK|#)69YQHRs8+S*fH*^+y7*-ivEA?Ae%)Db^Cnj9g`lMK1Q@P!^resK zbUv}=EnsG30_!ZD*R#$aPYXV3IDfG}>is|0toE*Q8s63L;ZQ~ViVLZVU2$tw$t$j; z0m63!psh97xG%B8<=8`r0058!0ss`3gOb0g5rEE8XG2~ZQC1bO*>> 7); + + // extract the bit var bit = (bitSet[index] >>> bitIndex) & 0x01; + + // XOR the bit the the value to alter the last bit of it... or not return value ^ bit; }; } @@ -28,20 +36,24 @@ exports.nonPersistent = { getRng: function(length, window){ + // Initialize the random number batch creation var randomI = 65536; - // var randomOffset = 0; var randomNumbers = new Uint8Array(Math.min(65536, length)); return function(value, i){ if (randomI >= randomNumbers.length){ + // refill the random number bucket if empty randomI = 0; - // randomOffset += randomNumbers.length; if (length - i < 65536){ randomNumbers = new Uint8Array(length - i); } window.crypto.getRandomValues(randomNumbers); } var rnd = randomNumbers[randomI]; + randomI += 1; + + // do not alter the most significant bit that is set and + // the bit after it, to not disturb the image too much. if (value >= 0x80){ value = value ^ (rnd & 0x1F); } @@ -60,7 +72,6 @@ // else if (value >= 0x04){ // value = value ^ (rnd * 0x00); // } - randomI += 1; return value; }; }