From bf88b6e3a2488489be751446186c55e41b3a33bd Mon Sep 17 00:00:00 2001 From: Issa1553 <33793273+Issa1553@users.noreply.github.com> Date: Wed, 26 Sep 2018 15:34:39 +0200 Subject: [PATCH] Cosmetic Changes I decided to make it look a bit more modern with my design proposals for the new versions. You are free to modify it how you please. I also have the raw PSD files: --- src/img/error64.png | Bin 3741 -> 31348 bytes src/img/icon256.png | Bin 30563 -> 280583 bytes src/img/icon48.png | Bin 5100 -> 27405 bytes src/img/icon96.png | Bin 11216 -> 55101 bytes src/img/noscript-options.png | Bin 40552 -> 27729 bytes src/img/ui-black64.png | Bin 5352 -> 35848 bytes src/img/ui-clock64.png | Bin 6465 -> 35980 bytes src/img/ui-close64.png | Bin 1963 -> 31348 bytes src/img/ui-custom64.png | Bin 8073 -> 31848 bytes src/img/ui-global-no64.png | Bin 4405 -> 35848 bytes src/img/ui-global64.png | Bin 6683 -> 36048 bytes src/img/ui-maybe64.png | Bin 20323 -> 36048 bytes src/img/ui-no64.png | Bin 6042 -> 35848 bytes src/img/ui-part64.png | Bin 7403 -> 35848 bytes src/img/ui-revoke-temp64.png | Bin 7392 -> 35753 bytes src/img/ui-sub64.png | Bin 7192 -> 36048 bytes src/img/ui-tab-no64.png | Bin 4734 -> 35980 bytes src/img/ui-tab64.png | Bin 3392 -> 36290 bytes src/img/ui-temp-all64.png | Bin 6223 -> 36732 bytes src/img/ui-temp64.png | Bin 7147 -> 36063 bytes src/img/ui-yes64.png | Bin 6207 -> 35848 bytes src/ui/Prompts.js | 202 ++--- src/ui/options.css | 371 +++++---- src/ui/options.html | 258 +++--- src/ui/options.js | 398 ++++----- src/ui/popup.css | 478 +++++------ src/ui/popup.html | 94 +-- src/ui/popup.js | 542 ++++++------ src/ui/prompt.css | 182 ++-- src/ui/prompt.html | 64 +- src/ui/prompt.js | 182 ++-- src/ui/resize_hack.js | 30 +- src/ui/siteInfo.html | 10 +- src/ui/siteInfo.js | 40 +- src/ui/toolbar.js | 234 +++--- src/ui/ui-hc.css | 134 +-- src/ui/ui.css | 830 +++++++++---------- src/ui/ui.js | 1518 +++++++++++++++++----------------- src/ui/whirlpool.css | 90 +- 39 files changed, 2827 insertions(+), 2830 deletions(-) diff --git a/src/img/error64.png b/src/img/error64.png index 0400d353bad2666e579a83de4ef4a90142a26509..4b22b1e3dafaa8298ef838493b23687ff1bc8c49 100644 GIT binary patch literal 31348 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 delta 3265 zcmZ9Lc{Ce{7RD2TsGXprmNeE*ElCBnr5XuBsoJ;Jme?f{L6k}?V`?j^I%6%0SXx`F zt18u2DW%pDd#CoTcA~t_nK$RW^X^~wyWe+y_uN13))ufpCPP8#7b@0?YD@B=MtD*P zfQxvN7XgY3_Vgv#5IpgbFbf$CW-prI&~7965yOd)tuNfbL0Daa6(waz1fgbvDUgZ^3c=HXXj zOrU!H6c=bAp5B23DwIIP8^S2C3n&8v2oeC`6To3E+R;XrU3sk`j#4q>hK4*{Au4fj zD6@u}U_Wy`WeIr2`>l7;M6(DslbXxcOK<4KeWzhHmp4%BtEI^b5$g3cOyg8pjll?gOq%95x;Yh#_d45&42 z{;h;j-e6vJ@EmDvdrhRMvNGF726KS{J=pcv!GI1W3L}p7Vi>Pe<)ocVj%zRp=neW^ z0KK8oxi2#;(2Lc$l$jhg@^!GR!97!k!V3y`Wc+5&OL2A0QR##n*^C-3Cjsb)`)bm(g%FrR%2Cl@RU@Nb&J-IX7 zU2K5=WsHk10Q>e9=R_L#y~QZt*9fV;k#(%`&Dc`& zdzNrxN8|b3QDAMYZ`$#1p_}~#4!;Sv5{Cq!c7#A3!;aX z$G%VP&_L5Hh!}s%S$%g&dYbf+{A7d?cIh2y4vO??+xqwxYEK{opk{W`S}Wz<7p+}g zhimbB^KQXELP;PoC;sNZ>Z{N7o}d1J5CsJXsxYAVulKLry{5E#hr zx9d#{{93@ojA>qRyEs%G(6Pb!e9LqL;dnsV|Atn~hosfDO)kpJw}Hy}&3rG5@6@;u!I#jjQ8|mK62k%O4*V zP*xQJPl+9$R>ac-^Lo8FAVPA#&3apnM!&7oM5*p?&$FK}bWGz6r`%sG&m_n{2WXiG z^%oCd->)Kax$^|e)tP)k4_v8boW&(jou<{V+pJ*AKotA+sK=i$HD21ROaDC4VI!fLJ8Gw)NFt1zb+|``t@A;CJv^Xs(8gTqfd&D6kLw4kt zJSF7lL)V2ITIjS~WN+tb@}IRG@VJrIyFlW&Kb_-lN-^S)@fOa^pde|6!04i1qeaUr zA1wBmGs>$*U9Y;J%!VtmDgH#&*3VPh*bCfdCAbG&Q3iLi0rog&cx8sZt77mroL4)R z{@e~0+c5PV9?qwtA(UX`{o_s9?`Cy8(Z06FbT^4EE2FT71L2W_^$H=t!e$Y_r9yLO zUT9wK!KiYBejG?l7T&|a%R35@O($Aj-9^?nTzBTMj zXYsf_hx3GGss!DGLk^_BJZhFR-H?hG5C^-wY~Dz=^du4=y2UxvtmEh{Qwqx^7K?>r^E@!kzKP49$Omnx8leGjE z!>J|Z<5Re%zwDx3o^}1+nwco+{xW9#+SSZ>&r-wA+ar*UeDwX|7hN~jny{zn^5UQQ z`d{E?u48ldZ@Nry_>B(#>xr(Zkg$RA`F6{F3p))REdOkU1E zjj`G}KW?&o_Na=>z;SIB_0fxd*{M-SOOdH8uPErn6lV4~4ag)7-u4YzHz!q}nU8*9KLu6V? zbIs}F!j?E=pkybIc2zAFu!=~z)q7C`ebrvVE1KWsKwMx;pA4hF5AJyLNP-;HeGxaa zQ&8WayLs-ztclPp(%~tvHzz(0WF(^ed;Y0%KfVE(SM7TyKG%$o2RQuAJNr;{r`&-0 zOy?-OyF0Jzk|))gifYt_FbH1S56iX9n?`1PvX_z~*dbS5gz431TOxhzu367+gXikS z9+_Rgf`3SR&F*%3x++oByw5jMnl1e8*nKgNAHTk>A991rYRV@&YKY# zbF|=l17&{R{|`>`_YeGbDv_2vg38F~AL(IL8(!l(dU0Sn(6?s?ZZA{TXCH15v37vs zt>-ZqdN}fKb0?rdKQ3gy7ozxw{?pPj4L>WxOe6f<+!F?6;{0%(uqQP@K5teAtZTQH#Z)%asD8@dCDybZcCI{=MhxJ?maW+xp{az jy`aO1JrkpTp>jeJuGSAeU6(tG~*o$Q3oW_Po@Q+76)ljmfo+_~l4d)|BQxp(foc-t)l!h-7r3xW_f zXkfo#g5ZTiFCow$KX=dkbUc27W(>SzmLNnoA$!gJxYt915Pa*T`1spyn>c;;^jQ<9 z&xjlpA0Ihm=JfHCrX&f%+ zje;uO^g^Te4^|(#zH$GYFEIzz|c1bwjbJYUg&3i8&p32^yZD5PMnVJ{Zw$%8A7GN zRpT1X%5UN&WIfTnd+WyQ0)7#^=Kd8DD6AW@XkFWS&lg5q?ECiJUh|&uS~q)smzx9U zRTFwY@=D)Ngx)uL&0G9dv*E&0Ut!F)#IdJ@+oFUq&7VB`moRT}*4vMI33t8TsJhqE z`9fsXq!;=L6T1m3cHREp{=(?CLbdTXZ;TTTLy!ZU9R)ox4~)%{xQm6gu5f~4O5ru&+vas8jVD=_MTfKj8O8?@Lt zsAlVGof5ng-sv5^;o-Myw|lBX#PQVag0OUcb(A(Wf9}rkl{HwGrN}0=q(5*W{*K0w~j6Hnz)d6|mhZN@3|EuxFL1Wj9ZdL8n&?*nS((j#@Q`>#q_{F}j zwfy~tJ%!^=9&3~9)ALwI;j8<5dObQn>eG7?eKKxtUTO5~btf|gA?2s(>;G;M=reEP z(BbFxEA*kS)25jk>T{gfUvz2lz0`^F#VciSSg`%m6;YX`)>{?s=^d;A^xUHqC)JJ)&U z#t%aN95*}momXotUG(S7Z|n4UxzqdS{#-sW;-6Q0#&2%B?tHC)_8X_Pjo$QI-> zy6)*lDR%`g9^3nYkFtiJY%y%>{WsMzAXWuX0 zUp?&0q0fI>wZnt&#O-*x#-N)&{^El-{;D&v=ETfNU!I@+W91`nG`MBqpQH9{yD;GV z!t*|9b3((OtN!%n7bdi*y{J||tqHZ~)cW$R!JpLr>!sS8N3`u6`|n%l-i~;C`pD6( zR=0Yr`uwfIZ`|}ovp4FtiW%|Q=bwCj^z)FBsUx?Ic=fY;hd;jZ#*yuZpZYB5?>Co^ z{Cx3k{|>J^e8OklK7Ic437<|M(d(lp?#O@9|Bl}V|8{HqM?;r>ec!3In<7IJYp0v4>jy^j3cTpI++m`DgFP#kaqy{is#LQePk6E8x^y4`jVN z`<9?{EtV}zed51It6gb%vSr;*It*SDn{@Z&&);15=IG@Emk(V&;NPD+t-QQ!@h3m` z|LKn0r^5SezNz`$%?C_)b*JCrbHfh~Ke8-%S&bn*x~8v;{(SPsb>IJ~-<)5kElYlD z$uIZLTQYe1vZD|Gd@iTn<1zUo@~7r3OCJzA+J9AOQ~yJuJ8O0Sz2gJZyVsA|eCXQH z_P4oQAz z*pM}!wEU#o;BJFA@7TWMgB|t&U;qf_{HKcZrJzJ7e6hlyll-a3vOAyWZ#6}zPh&hkJX=j zU;C>w2mBAMTs?L5;|UYS)|~MD?<;>xUhwmR$A5hM|MGhTggt*Se0lvl>pwB;+nLq6 z-rn`-J3HS^?)CWZX>VSLnJ{`+rCkTwpITjYTg#1;77t(a*MJE%C#;$Ebm|K)y?FC~ zwnZ=O8NI0PrXyQ^K7G^d^at)a@yMR^#fw%g+Hm>PLtiF$N}iPb{NeYucX+Smk~`YZ z`t!Ff@yCar+1)GTy*JuUKDOeCTjOtiYQlHtn#3f=%pdi|{;$6Oc+TgU30G?N%;-7u zy;D6;b?ru^U+LBLP*TP>2QT+|dFh%y)%(2qpD+G%X8jk9CT_X(zb_hPo_lNO{GF4+ zpS|sg^ZWh`NI0AD(r-_MHh=c{XGcBP>y;TVjIOggc45akyAQ|DI@T|z-<$o8E}9T~ zYuuMnH+5{)^YiHYyZ_Vq#|}UC+7vzhj_rF#FCIN;%FXrSqFb%(G;PW+$MPBU0%Q1r&6m=YrK3zO4T_xyb}EI zhWZ;OG>+NbY4-~U;_q(N;Fgqut%f}E+NJqxJ3id>_x2yRIkV=O=AZpxpr(c`@zX$q$-e|~z)e|mGI6MBKZ7Y(V{ifjeX)k>r)8LJOKPIpG z-wMAwqJmfV{p9?JJ6r5;74Xf3q*3F4-SOhqxHp$CX}#m}_ElRC{jc-8SKceUTxCO* z6R)lQ__>=$Mb#gD_U9G%$9>cNfrk$TpQ`TH`nlWvS9Jg3zpGnK-Fxfu%cB;qeB$S3 zj|`do)V=Gs{%8GnUX%X~85w-$*~kAqy#Mk&w~mgv(BCdy{ep<*v%?werQ!FJ!%$JN2F~ZkhVP<;^~O zeDVXDgssl3nrxOdU^31iywa?I{WaLLm#Yu^jzZ3WA{f)zw%?H*(dh& zFMR1-x3%4N-ktKp?38Z~ovAwNhf(i*+4a7u7iVAWUa;V=TQ~po?oaQmTyyv2HOY_s z{N1DDGcVL#(s}2Rw4WcoR-bB>? zp8I!6m!5HPCwtAzzmT^qe%H8N&6d;-`f5D!jy#zex3T* z$N3l6{agFXLz^~iYVgY+bKA$>n|6Ed<@Iw8aq!($P*o_;Ly$rgnZv%gLs{^zpX z1+^C}DD?GtD>W~%ebgaA=$1Tb#OT?hhYaqTIDKk#!no;UlcMKNodH8s5W4r8J0l@+ za?inVc9mu5quP z!QJO}MFdlmW+z0>ojPUOtgdr=G#2CSiep}mX&fmAnLW8j<33C(C~$UEA1BF>T{wVmm~&jqTbtu4~)aNE0>g8H}UuGslhZ zI;`J~rsQzeqw&PqvuAXTiJ3EJPV}7i(bH#6h>4Ahi;HR7E~Z_(D1?Zb_3*UW33H>S z&1zB#QtMbr&@h-*6jWdAt$DiSxs=(h=*q+#SBZDHT}VviAnt*N}4viiM343 zkVX>Lqbt5`vlQbJi=UkF;LItafX5}qBuz=0iZo~8xmc@Zm_2Fy^~xzx1m3ZkT+-Z0 zHXh@hqQ}IhP*g+R(f+!|&rC{~J$>eg>C>n5ENW%f$4?kOp;dK`Y%yxmv~knt%xc*^ z#`2Nt^?g0Iq<#srlX~LGE>UgcqS|#DfyNlyv1@E>>$dH>wry(`Nl{3PIEJ9@k4u=H zU?rAzUAnd_5le}%mhns*$xnO zk>Zb=o`~p+n^o7b9lDH9XqV6qy54bIRBUWgm#8jX+INadicN@XJGOm7$IflLNC}xm zRw|)eXHEhxB}_33!?KKHS;lu7pVYQp`>1ho0J`>_I*f}N+bJ2V322PrV*7UGhD??iok!N_)10}CYH>OMy5oAWf%vniP%pQ#;%`AqTVnpFH zqJno#NF?_3Ol0#-8rMCh#MSHBDt^-R*d!~}>5vGD;x~KTb{cagCQY-~{EMOzL)ngG z*7WhS=OoNb>N5c?#1YLbinZipmeF^QAy!YBq(Vi^N_a?KHMDQvzGG~MxQI|{ zYTv#?V$|67V>?F0b!y)^Zd_YvRT3I|xu}NgtvGRF!n6rV<9fzOC6g|AQq4Jrhw^H! z1oFF2ffTE`B26rbi4xA1#?bE9`-J%EQ>M=xGJRZ9PvEk(%hy|u*;DX@-d5xY?Kx}M zfWDD~`p0*QjqB7Ys$F!fc{FC>%;FiB*meB$nNt&H_nb5}VM0>OjA;|P$6UW?7Lw*k zSM(FWtOOCC5qqg?mf=Se@25N{hHu|iq?lO#n4UGiZ~5#UWjt$s-}2e(kB*!+X?D+c zrsOOxn>|GaF#AP86`=^Gu?90dEt|2Z9f!IGa#ARPT7IzJCSqQ}bsUa@=^0ByU zh|5AC_D>CQ*_V&ST|-g10D#d33<*?V2^auS zfh*rAx*-7r0E{+ZNT32szyN>>T=_=P4G9Li19k@ySn8UXd9kFk zxNro#2mB{^H~4QbtqOy5C;eAo%zWa2;Y zn+7&W2NEy=BIU;u!71RsxN zZv*!Ob1YwxhyZu9iCJ#?4%ULd0{;v)NJ9x20HB?)*~{M!9srI68&o6#0w8$`_&9hC z_;WC=1A|nSfB^vN3YZQ1F7OC&MeFHZk!&O$nqXpD1}nfHgL!O_3KCFjx=4krdQ6lA z)zRP|!JHy{3~VSrgy1AmW|SReNLf;*Mu!C z%xSDduwkA;2pSP(O_@{ntOM4CK`uzZ008HO#>Tc1%(-kj_Y88c1Xu^G3)YDN1Wwk4 z0RWB*tTlpu0%l_y>iAyCBEx@4UiWFY|q07?pkFRpwD{tnDBzd_|g0<25cDeJao`6!Yyr7!^C zx*R#JbO?O+^-IQ4IgIpKHyBROnVvF$+J~RQGHH6_zS00QjTEmx4Ja3{+l zt-e-aYSt*Is}f)vVOyyXR1pAxp5E=?dn-hZ8iiCs0&FX6Gv$7kpu7V>PgEk;g|`PA zWJtgn39!wu?R0nMAx{fip5I}oV`r(SRfydDdLaTIE6nTWY%QHaTr}r=oLe&QS0Ji{ zvi=5UTl%0pmb<(Hz$2)vXUk)SNoA50opV=YRwR{^ANb1xXF}aGy?uo&FS3u21I`BL zd3oc*eqKTWxX|=%M=yL^&Kpnrk_!ujfWmyi9~>xho)A=!Cj{bNFyi$CGwnQZj)@5p zCve5FiJEg9~znu!0;R99#)pIX_eU<#7a} zk@A#@V**1t1O#>{wZY|TmY}==z{jYdJHh3GSUK!<1He?OWc1$0eS(Dx;ETS&!X;7Z z1B5gvdp?xB2qvI<=*8KS`#=rJ?7>M??4n=sr_?`5X$b+O0)PcAh;%PMArEN^NMB0B z2cQrFP^esxEmQ*-)X2*aYUXDMHNaJnHo+{zORxz&5Qpz;I&t573@ zJ-Jq>fK;4NFx5E)d<=?r$}dbf?Hekb$8oYxAe5ce1~oOA>r`-W(I&uU86?>R5>R-< z8Ypfc5;~aTr$s@_;-qhwaKeu^fS2G?m?u=p&k||@1nT9b3H5VRh1xi-hPxalq=5-! zQaU*FL}CZS_X*0y^6}#O^~9Pm%kx?s$D5sd%pvuP%FY%=i%Oq^ z9-a#C2Sry(*%6^EqR&7YB1jPt6s~#)2><$q2!93C5d2{w5DXgTrU;Gmt_ckQ2z(cp zAV6>j(B|g8#C`+BZbfHP^HKBR#6(JJG zEPpDP9pobEHE4(mAEOS2opM~Gz3;=FZL2Up)iqI-2S!fBa1#qCh z;2Kzxk%ttyH}dJxmVhS%0C#xt2(zD!n(i}tj|c$A;Jo`Ypqi-oSLj^BSUv>a^pO1A zVx{-YJ|Bg%LPg~-#4JKC%AYGvLmu|4Bpe3t{e~d|fuL>nC7}_Vi41!MTmbeEi-2vA zZSiKX$C0NF0X~7Gx%;cGNm6`%51Vulj=b%GHH3YBRRoUfeW4J+=<(Um%ag*3g)QTs zROSpgG->(JU(hNyS?G{;QD_baBFV#m;8SGTEp4)*4FO(vm!R1w9U&?+8#sG>_WTE+ z_*(*N34f!<<9Ij-Q)dzA`K0N#il+P!NipDw00_&6GYWqO)D-^ouO_sCMbIVdywCzb zKudr?Ajy=^>Xb$!Uzfq0D)bogv?0J_knChVOP39n9{mvTKQQ$-2GtSv_*WGbKLk@` zz8LKmEw%9w16KoKQyzX?I{;ARgy!D?)kUz3&bcgf&pazM!_a_>o;Y(rK-Dp^ZJq%? zuj4$H$eJe&0q#c5KP-`Z9i33|1HtU|&!RWm5L8##8dy`Dvkyj(?*~Vh)Z^$!nP-GLkRhi@xzt(bK)|-jMQNIloFRax06=F*a*HO?bTSdi zG({gTF2(sBWBhf2b%iwa{((^ZKr~>^j~nE?1i02fe3t=05DF`xch(u98+-&@6+v5D zlD+dWYw`r!>{cyOD(?Wmz50)XxeQ)c#9p6s*__tf4{!bt!3~Au{*}>d6|I{$6knO@ zA`tNXhJ36kXqakTyolR zi7U;~wJ`VBfw@*b9OHcU_fi-qqc(!ukbor96fA}2v}tb)3HpIK?7C!nMu&FRK4h)6 zjUp*_Sq=c`6g-P%!*P_Zl%F|cL!*=L2zvd6;jM&qAq~Y>XDh)>B^k;uib2tTl1wRM zzNSo>zZu?IIEp%`jg+{IniiSPh;5fs*19D<1Hk=|8ehE79r4wdLwE^hVWn7cWm_dI zYvnuihRLsfRZ+&2bp&L77Vk{F8PP`g0aL7;dErn@hakYU0c^{dGMPBtUC`Gb*$O{4pH(KD4p0IJ7D1#an#YsOY|S`Eej6wq>?y z-H~2f?hm??lv##2?hl1`e{A{@p)KaA)3C;!Yu$A?1~tod`8%XF5QKUN!(IgYG5hjb zM3ivIG$h~x7irj_lahb0lYErOh8_XnQ{<4tI^7b5#<$pL3EY!$93XJU00B4E7L}a9 z%VF46-ymTjh6Ee1@Txkl(Lt!AAweBvXBk*mq&EN<0qKm=m4s|$hJxdYbxuRwlYU%? zH9)|Iq_nwAYk)%nU%Y|%MObrTC1z##sx^HBIs$>w$PU}MV&pZi;7Qq$=?Mks$e{_~ zF=UPecM}OR40FJpl}989!8^!71zE!SkVs)^NMmuw6~2+h9Y}OSY~yU}x*$CPz!#7R zw!-i%Dggo*6U1hoHpT>QtU`JS=^YG(bKtL_+QQo~3AhcBjzEBIoNZkfq!$3-0_wiH zkcbPJC;63|0FWLJa)0*vS`fB=2eJA>+p<|un4jT+uHB!3co1k9d~d;!ea z3*MviQu?+4vqTOC^Mwnpa^(1wOPwRZbYHgsHwEkNg$(4$A;NGVYMJf+ouj} zaF-z6{Z24@s`~CKyqf89tV#QhTJkX#uPbZ`Y(%tQgTDjs2Ww3Pgh60_C8NLAiMx^> zUn{(d_q40zXLwD!`d2+aq3}3NA|DuO?xs`7Km$3M@YFYgW}?vLQu$e#k|jWU`z}}l z?dcelziev?@jch~@p~h<9hk?uCTX!ivTxYCUxqY1jj>J-9asRA z8FhfV;1*&#bq8^*`I0*l)-p|V5V#XQ0U02`X`?pa1Tf8gJrRc>W56-sufVz`ah*V3 zM&jm4}9T0VaI-xna3jpS$r0z;vQz6R)fplbcB$$q(y_#m+`Na0% zk)dD?3z%1ly$kYYuEtwL@QAL&)Zl{}IcM$3gUy6Gp*guj2_sR;M9oX;#spmi zfqlqwEAR?8X5E#f`4T+yP0K)cL@OYyAbU!RPq6pu;QD-N;APa$QXOQJIuWULKHLES zZ)jaeJ)|dr0J}y`5q8KpWzQ$@7lLtYeNqp3cOehVH}k*7g=bZN1gizZgYvURZp9Ss z0c<*01w$(g1vrD^Zqi&gv<3i2phsAKX6?gRD!duHxmLwTNB{(S=$tgw5iJ3L+oJS! zb3@>6BW~|mB@iGG&=Tl~;Xpd32(Nkje}FA;|473&xaQ1lamm@(FrU4Z2`JnwN~e+>uPPCB{fs z7I7wHxvUtJf0!#KtEBh@6%J1QN9c{u5nV1ygKedi^2s?IBReXGbw$oXAgz`HH*uyw z4vWdTfJ02diSoCDKX>kN@iLX=?=l^VBX#8Sy^^2gd0 z5C}qLd2n{KD~_@v6d6{F;Aj+!u4*d@o*y#Hp@h z8s>{t`wy5Neo^7^%jwm#V38!yw6LU@$A`fGEehq9|MQUQJ!+?{#Sow}3c(?kyNDIu zniWms`2>*uDyDvXv1vrUm-pnToaEO52%^``T_AwuEomGslmY?sK+JPEm}-6=R=`1g zet5453<~kx?Eura$#e(=v~Wg(l_p@QsO*xWa~;Cp;9_OBl_0-3a#Pw7p>OuT(hxuj z>h7TcW+=rkBun|R`m6ULz;vs**6yO%*x2)5fC;@6UzDJN2-sj=@b*hRjIDj|Nk1wo zQVPQ81O(niR;b(jwMu-S_Y#GxEQo#!b|CH|>drhh6Ne_KPE%D+ z!FB>~;?_Q?_uqplpF(_OE<8V7REENWoI!iAZPfb+bRR%~wm0YBbOHj4kQM4Tf2|U4 zk}|;=U>|Vvyi}nzxLeja3=gUZ+X89`m*6iT;9&)vST;8U0Tp)}xFgt6l9Zi_PII0; z`$SS^okg03abHVrEdRF|2vDhXWC^@u$|`^D67$U-OmbsYL9ag$UoVNx zz6gt;8Z3e;@D*S*hM`X-Y?{fQ&yB?L*aCnO+2G%Z;?!ls0>D z_UKa2&g0`?&8QFnP#u6s>+g#7R4FL7r6tyHtA3R_q#6LIY3(*d#=EL69_tAl#pU;; zTSU1-SnX8+9{|l{6E(nZD9zy_5J)ew1hAE~Kduo3*rV!%-aO9rV?$-@}`RC)FtYa;$)!{ zip77QVlg=v5k1E1rAIj4=TyKsKP>Zv)61ggqj6A*N`L?@fzT%9(h?|D@CtT8H22Xd z)WQq^7l>K34O`M++hQAY2dSb{Y5@QjP`HC0F;A4vylXIdFM9`KGe<0{AhzL@%Jn0wU`^WR)3CEA$z4V8~o(J3_mpce#D z%Dh%tIE?-j_*?UIi0tR!{JVywo>r#4sM9v77zE%L+{fVnECHR)4otFH2;+uL31q<; z%GG~$z+6P-1hI{sbRxV`L8((cl!{D>M-2cNE=8{KZ>bkIsNt9Ko_zr-+Xvr{wxBXy z;pQMfOW-|yf&f=L8X#a%x%N&u?VIo8FEm2$Uj+e6xQ6XLc>P|fws!rNsz-`j0crri z5LHEBJ#sp67n$GU7>^e(;A0RR;gwSVGG~2?VlxMUeFT9JUHSwF0`8oqDiW55{Lg~( zFBm<4r>qOkn*UM>`Hlvgmj*Pi@JWkQZm~F*eX2AHv_g&|W#`KI2tL3gC2EB$fKtI+ z`sRZraaPC*FjxtNOV^Pg17iX@26Tx8T(~~PdI^lHk_2c1WT9th3k0|UbHmr98_xZ* zt$pa+BZ`EML@d-X#YkxY7_3;%oQr6IW$*x8xQ4fX`2MdycFeFsoF#CWia>yChv^sq z29y055?DGdPqRVuW-X!qjgUzPy~ z0Q3T;n>GNjypMCPmv@S;TLJ(9lVgCEhR)Uw8z5k#R=Ex;3mYtU#rNBrV;Lad5)6qZT7sPV&-Y@r zTlE6+k&FE23Y7qX00RVEk)hVlu+DPuMp!TO{U)KB<}#apTM&&%mZIfu>=U1`2->m#Ol1m^+&Zl zs_;Gmaqll!gWWUF2*Hp%-;Z{neK=Z2Hrt@15x5XeFY(?>KR>7zEI}91uaEskrfg4ncrBTU1Emp6X4oopLYi{q5qk zpFO#KZSST^_o!>sIoYHX07N4vm1O6}xd`?l_)%+*uu$yUv%Gzx+#T*ltmf7*(}+3Ql8TqmGcO8|MCkA*OEbG&^k6@8G9xi0_2 zmq9YHCj7Io=E4;W1qjRvm)vGsR8hL^m55s@08j*toGj4K_QG?F=fF5`yS+G^y;l+h zY6?q2^feqvM}Z>qGoSCCaq3jIPvE9pFP}FsH=c;gY)o7_Q7(xVPXy-uuVG!tkAZc? zjUpXr8_vkWZd-IFA}7MObt0_Ipq#>1f?|}2#ECd);cv7Ro~V|M7rt{a0N~P3JM_Dq zdoJBF2Z4h@00FeLv1y0JUWemPr4ZMZ%u#5*kjIG3Gu#j{?)Q+$I4+F$!%}IS|BKsy zgLi^=foUD>2iqM(;l4)@K_ECkL--@OzR(IABu3+y(?AN<2iqdWOZSsjq)4Z$MEN<~ zRdju_0}|YZFsZh}Q3-uv{_}&nWefq55p=7qcwD_+0tB!X?~+h`SOTnUdcX-p00E(U z`f(uxOp)TS zEwW8&Nz^&&o-9%V02(6)Rb}PE`G+^#dxQ!|I2?lq(cowaP~h&K9bg^^0;MehAE-!~l52uT zhl8I16FiTDX)SyRo(b*^rZu5U!q>nAf9wSMTSx=psJE|B8M!R8#EzAu%r@y*G){$T z;Z$fVft3J&8?3~u_9c!{Z4%5`@v|V@0N;TI{TG6>S5t-9xR@V)lZ+tnp3XpkmcZ~5 z!vTjtz+6@|LtBII2LB)USMYH#72<91Brun*hJ)QstdC%R3JC87{1n_k9JI@}ql-#q zw@s>4aM?pLB>;duf|m3z60@tYT>8WDT^L^cC;$jJKua75<8lxQ1i}acCZ7Ovr6)_E z7zDiG6Tkq<0pPSJk6_&7)bM!ln_!y9$H5!G^TA`l^kQr2G(&Pl#Gybah5~y5$UCq; zfaZz4&B`jM@B4rxajrD<5keWh>jMTB_3|i{isAdIXa z1OW=0>jeJMsbf$CfebhXed!pK4FZ<(qP5)vJPrIFm_6ok@G9_Ja8Ga`SQGN$awyDx ztPO4`4uyzVGKp<+pUgO%eO$KgDFFa=oz1n(@SK_|lc@IL;@3cEfR{;^5Mp_mp=1WI z1cAk-;XozCYZuXErd!tIYy_MgkcI<2=onPS5-2NaexivRTs#k64?Yg2gK;9b5m+_i z>`)j!40ypmLfC>&M-!bCr~^e-mO4@BdQOD38dNR-_#)O?R%2H0;vq+(CID1}ndbyO z=|otUgGwMk$6%2qaD(m~gTvqx=#g=($P$o09B@WfH4&H&#)aUc;I&}B!_WY%I7tq{ z_3#Cpg2h81X8p*ZgEF3V<IVcek+*B$;hARz(GtLLfFBi<=@W2OYVmmRH8AU(mceac z#fbF~1cxBkLTteP@AMlvWG~vz!4ccHRJl_PvC5ipkqZD-kpa1JI4hZxjy#ZqKoR*_ zLJ)=lPJ9lR9&1g=76|BNIB*qGpiiJ@`Y|C>TrA`^5MX`Kprd8*C78YJY%r~M*~Fm$ zS3~}RCBg@=eH=B)!4AV(+NZ5uRPh?+LLGFO5Abnu^b_aHSrc$ZFt_Z z@j9r3bPVC%b}+2$VCEojC=ixF*bQP2q=(r7%8wv043+>vplHRQTR}jQcQYKk1ZHph zESNegi~P7k5VJ+UVwo@-n8U55bgFEdj6zG2rGs(-K(_FmloY2~I1N}P5yk1*tpY2c zP+SjC<|9%7jycn%6SaR!fIvXeaDZm0o-6?!f&i<9768B1MId+#><@N{M28@(fP;|# z4tz?QU8;*#0NbY4Q-QK{P%Z#yy|{zkdWY+V%GCfLfEUEqf^p&)aTf6|$AT&osuT#o z5+E5M;E;UT2A>AgIqY)16)8f2uqCjL_<;!*(S&W2ZB$E=rGs(-fNfMuN_Hl(ECjBb zn*u*T4&DyraLHl%8X-S%IJ5!*2?8Xp7(DD>G#uc$UO~W(jzNmW8a2ShkHD+IjjaW+ zca8E7gSB`9?+I)MSHZbdC-$DRa?hzYYUO!nFUitDxd0I6Y;I+Szv9gET<=~7=%x%iiRqGwCT2R-7Fm2$+Tgj8ktQ(2I^ie0Eud#X?Gma4;g_f}BKWBcn2K z)`-)B)M6JG2RYS7oz0__@UnDJE&y=mL`&ifmBU1Pj1HZsY!1x|9UnVfPodBCLv4#JX?{T2@W~F1!o=0PJuZ7p(w(FvK@R*p9_PbjC{c zfkQ{hsW$3pq;|r|(m{uXV4xtJELBYK-%Xy8t@ zQ3o?+FPIBiydIrg03gz8Nt~T>intzty=QdRMWF!Gfi5g)`2mkRZB9CsNh^Wb^OOLA z&}QPfo-6^*4)nr`!Ay1D9k3!5mo7!)sXgG%jyz4dhXMeS{lZ`cRCnctEvMV4Bl)ru zMwSlB1pqDu){=6aO^ix}c>tj!h5=P`Q?bU~X)Az9E&cS$d7$oTl z1jOM$`cZM6fDRplQgzXq-vW-8E|m4_1IO{Uz}l|(0-SE6W#y%e`?7Rc*2Bn{+~>fB-#S zLo?3_y#WGTF{on@pxpRwL75;x;0=Kla2cD3?)0xJ(90%)F%HWju0nT$<`q8aL}*(< zW%a~bYq70DsCu1+OaXVsSRfoufpl>^;8K$F@zlL8Jt^ZMw!mT}fNiQLB;b7ORq$;@ zg0!Nw!ybSHWsV6bZ!at-{R1xwu)ES3$~F{Zfr~H&4q%C(6Vn2+ zdSrWfvT@Hzv!i4zasfbA;w7`<(3#6?wOLS3@OH?)Bvf{7TEIMmzv3hcyxshw+Q)2^ zBsvC;_*cgiK{L@l)e8uSV}h)6LLdEu0DFK9qA>0J6O{vN$q)Kh5iKxU1rCtQZPbCd ztp$4E@tUlOPdWr@LS;I_T+MTSb&zGTPT)dE@avX0v^eLoL4p8>1A4Lq z2(q^V1U$eJXoRe;uvb@7ZNy@VJRjnyQ=@ zs3ckeoEwx)QxU^Z@HyErIT-;#;Hb$bpcfD*_6bOq06ecc_6ZD!$nUc!c79wi%{N&1 z$G?*JSs}`~43afDUq;;4Zp+d^xd5Q`#AmoQ2{?0&RzMB(nVm!{K$b7SJlU^s(h|JL z{Gt}e91a}yuU2dcR7Rq*Y(kltW`km*;BbJJKp$~a0bPT@Qe?F%*eZ!%mnkR^4*OLW z-xGDf2_?IYTFr>$%*NS0`=U@A-;GW|52b(=z&u?8j|cYw zZv|^c;rP~-WC>9D^#B621WJH_zAXVdc5RYBtbmI?!T7qUx4$UKD&1Gq`7qO=aNbp{g*j)7Gt0+?tCU^uV{J^|f<0IaP( zTsA0zfG+^o0Yh4Ksg+28YrcDzxMFs~4=AR>XLK3)cK`qsX`^Pzmvtyh2jv0)r%1IV z?tmaS&te38b2|p_3)j!Rg36^8pm?L?aDeOgW`R$GRU;|q1c75B2sAGS0hg9fDU?%I zRIw!h5a=te7~*h1mmu)2tzxr_$iv!^bC?n=V?6+iENhnzTY0c^U6u~YRVM0@mQ(|Y zRaYWGx=y(heZPzo;wqaw`M6>&ThzZ-z)isSgZ~DrN<|=04VFL=2vk98dI5o3vd#;A z#VNu7Jvs(iM?-B_PN8T8(7KWU*GgEnO}0@jNtO=E1ptTk=u%J`^ug3tB0d(JQ&w&A zGK46s5KPBfRu!xODXV-jX(5aE3ETq5pa=r`^a;FV zt6Zeo@X1?l4R+iTmZO?l4{+-G*n8u%s5})=$CO)@WUR_S)ysG zRO~k6`4V@AfLno|1s?`0PL?1*&y>~`WnL)yDT;>!ums{c9N_!J`Wg<<3g~a1Z|Ru3 zhhD=9(sVci?X2{vCxzGOmsLs~beZG=z(u4i3xQn7d1DuzvHA!bB|Rt&;pOd`aT;3( zDK;%=H9d=q`*Hpln0^8_I{FMwffXUiF?bA9gzvyH$d&_(xSpBN}NaO4bwCN3u{sV z0xAv#Y~_0`ZgAEh5==0d4?X~PnWS+l7YiN7ib47W2m*Ss1PB5{2m-}E0o{NAij*$jME_!024mra_X)<$OSiw5qnB54&t<6?~GH} zIm8#eB(J)K*g+EvW`J4FcHjrV-+(WGU7{ioC~^!+mH>aTFf?AawH0N{j*1+*4*Yg|+!-^FpWLg}FDmXjw6t zNHAr<;m`>1(_lIm4})zIR}7xOj+f@c0eAWY2)xqlfH)iwK|mLlKrFIW-&~Mv6a31| z6?6{Fw-sW2XgvieTlbUzfJ0VTkRjNZVTsZ$Q(KgKa$80~r#?J_^VVw7Vcq_am=r07L z_bJDeE)?YL$o2Ml6BX!eV^>8i1OZwi(iCBTSSMMS9mobCyJ2d!903Cw_fx%f91UG|##kjuER;R$W$Tq1ZDWY>q0RSCMT2s7I39|RE4Bm@H9>3w^ zaDjL~z)j;$rHbTAJOqKRV0VrL#C)3%2L@*Y1h8T-3w7fLOCU-TB-?`*76WmkP%8pb ztSw6EIq<89&M5@|+a1WT(m||xXOgpeiVBM!9tZ0@856jg~-j z^LBuVK*2`aP^>MQr&q?YB08rO01%D1tX@mv%QTJTCMfm(TYSTX{g@*UMekq!O@F&m z+k(4vXt~`3TEY^*aNtH-0^0fnBF!bm{8+IJ*#_AbwIu4At}FmLBerQN0aIFBAt#II z_2)$2`jGmlU3?wV{q0^>c@%p155%Jz5TGS+8GJK+0@{KA9f2a{!Z{oc^S^ptrnrn* zx{hDjZO|+(M-QoMvK@d-OeqV1ac$&3jcKHu^rYT@D>i&Q2MZvqAj=xU%SpnMpWTYg z>kb4s9MI4bs16yFnBMk53$gG4$ZCTwHjv+4e6G}EN&-Of9CN8u)Vsj(YHe4dXC;P$ zFTuI3YfX2!k{|&f9J~#C=%r)F*HBFRSsCBC5_NfdM&}?9D9#S32;LE_P<9VN z1$jachKObW;8NR@*+8gcbk-_DN&-M8a^#L-z*uJ`LFKOm{s#`Fbs?Dc!}@Xm957P|8zEJ`Y(6HqNi+vk z8588w3&>@F)eADES0~xl?p3*X)}lX-i;BK{qci|8)8Fu)#>5I4=SZ4#|DT2lu+P7$ z5MX%!91)qdFr19$n83^_W-XZd*UUlSW_W4ZI(28iBK| zIn?1OEP+)D$EWCG04Z-@NCz7KK2%nE90Sk+usfiJxD9Y1=KlIP6a;4){!va{3OkP$xqYlK^0AU8(3rFQ= z@4pQmK!59RcG!E|xK~;NJ8(%?Ai#z<2*ZJaoFXt;0y5tx7OkB6d8txw$u`EerZur> ziY)?=GOq>zFzyvn0vi85XDdCrt~jf^4@>{jF!>*ZuYnk(hy->b79D~BEP?bQ5RmgK zAvOU>^?{$LD!hQ4egN5QV@0=B`>%>lsRaPZG0*u$2qAF(8AJ(qi3=e(wlz&~%Mpt{K>$91K{8eh6?*$zYnYcJt{#KU z$bH(~LDVJcl;Wfo05GFV70<0>5k@1}0P~S0)Y%LkU&6JvjYPO0-PPd&LZ60-%(2da>x@33NF)E>cmxg1P#XyHN?H+cJ8Zr>nI{`A|=2cE(LSB?}fLjtvkaumx|2?0<#UIhTb7aE@}S>zXNl zc5B#n8QS3%-z)aD9YmWuY~5VGpm<9ph7gYWwzi=TU zFHMQ@KMjhe;MQPT98~z0;AUXnvqgNS6L_nw0NP&n!f+@@xQd=}O-LhQLr@)|9e|({ z_UCSh>vVc?`w3c5P67cf0hW^>;0JaaG2bi){Xd){d*;AVzLs6ngGD${txU90ASh+z#l*xF@p^zsPDp?KkU8P zi<>KZE1cH{yF#zvq3*6csPr>MwjV(t7mAT1E}r=vd!y~ZYmyzHEN$?uw8mHfLqsDG z(5`nv33efPXYdv@->V>hL$mB;mV2=it z@E>(ZHBuV@RwCzDz}$FKYvQ#3d}!~KWSIZS_^y*b-svoZ_@*Fxa`x(y2~WirUkt~u z5=1`$0brvNktr1ifiVC+fk1pxn5*bE0tkK&tc_tovd{$!?i*tsoR$=a1{q*`W{z2& zBoLq_;C2vz6HojE6nz3DdzL^ZhDNpXQrAT0r{9&T@ILfn;*R~J?ofwRBeem58GjA@ zq-rIwAMs>3wia&kue$e|ZwSnPZuwhGwQ}ZksDrm-2m(+HM}`M~BA7HB2yi7&N5Ow{uk<+5e+H~;qN9)>#iO%OfF)HO@5RRCToPKqGH8gw z6?+g`1srCTp(M1bwu0RX0!Ux%1n8LH^voIn+;;#0z8Avb00A%yt3~s@yi+G!-R)Jc zASX1154ne`AX!=gc1f>JKq=EKz(?S_r3+g9vbP5a#MH`5J#fOmGAfr>%4nuqW$yZC zefMgYr1L3JA-EY{I244EONPU6ZE&RU8-@oha<7R%&?xt+PzzQ8dskWo9B*5Z@*Z54 zECJxM`-pjyEP(;AYS=0yOCSKl#BAR{p;y|`uqJSXalR_WljG$n~sd|XYp)3Fth40M5}<`Q0F+A>QMt$ zL5tigLL>m8VQz}(@L_?{z+7@=Q8-!x^a;2X1dzU%FIob0@cbxR0!>jIZ=r6^6=71! zKJmpLPKmk+0FW8s2)Im=V*xnm%PBJtWd&eCekd!D()U?$9ILXW-HJV>`FR)2?YgT% ztrf2hF8*lkhMup{D&Tj;!Z8F02cRYc2sQ-O7d{AUAuJAWBYX)5;&xbEX#k0E6od*! z<}m#zwd$aKZG?C!q8*6sbXzq|3lok*Vau>xK4S}vP#FNl?yP7 zAV86-VFL~BrBwq{iSWM&Rls2wXVd(~7`sNb{H#3y=bH2(&`NU`v3<}IK(2-J0JEAf z{T=XWsF__lra5GCh~!uREVEX`0{sf^qg8_D=_KQ%A5i`{h5-lgI&dW{2-49|;2va; z)^d`0o;~T9O2nZ-DAp8kgw6950Kp|}ydrqf-G*;#;U4#3$j4cxx1U$t+%)eosryCi zfW5H0K!D)ITrd8>%RCYQKIZWVif%4A8uprmVr>S3I{$V&~tG@%^49D3VA`lqd zMa(bLPXiZ$nY(f#XsRPx1HfMp>uPt1mIdW%wo0hpJ5vveCMu`4bOr)Lkwp%Znt{t5 z`ND62#YUa|3-fovhY%WpMMvlSDhUfk5b$z42+OdxOZe!`A3$FTrv^QCIDov{qWf`U3s_uiMQ0*G;JgR|E#a`O@F1YM zZny&gj-vrA2D^<20zEO+(lDIc}Z-2nhB6URAjnE~QhFAsbLd|TEzAu98XkmegKj{9&)Z!{1Y+5uh! zZlSl#Igp>m2=f}47R_K=;Y)%*D@@fESpsfpAht58?sXPb)3Lu)9CrZ#9jy;anb7)| zAV9|x9fNma?zd6)B_RbMKrgmVi4Ma3;E%xZI?bbbwg%vYQ=3P?Q_XMKI=&795yD$x z00Gl*pn`w^b%8peIcd2Lz*^x>;$nSkH?+9M##I^2rK?;ic;3GfrU%pYG(Bib41B?c zCiQn6?RHB7*QW>{3)K@0u{-+CJ=3R4Bf@(+y%t92o_J z`T7KVbSiWxxDL23xCXeX>6qeDl|&H0E8H~!0ux~gguoKGgcQq}CGZ7`G(xT*Jskkp z$mo;vl`9B2&zpn5+W>(}00B->acpXkdn6!P0wM^MKTCihOpxW;BUvN|0NmvSG%qj( zkZ69v9mf;|yUt2jy>>q~fvkm|hnt9y3Q zY~`0L2R#4)%kTmCSGk3e`@94Kq3{6QpRyOT1D7#75TeI*0&SjZbk3w}e~bHyU4?UiBLc%i z2q9=pB|re5drCzuR6`!zK7cG+4s6r9uyD<@sz(4|{Ot#>Q3}r^?&8AF7x8ny zb#kr>x8aSh`q*|zH(s^UB3*_{Y|FYNcfSzeh*0(-5ML_S4M{VC9DCA7uohe4uEWJv<|lOjGckHvv6=@65A8zs%F(7QURjB^6r+MW=fBzYm#ct#(G_ zECTNsO<`SN9ry-9uobQ`ERa)Y#pb?ufDj5ZzjxM2p&Pzd%6+`ggK1^yRQXwKwpq4a zU6UsO00p=Od=L0Tp6H3ptpS=S{n0>MW0#TjL3M>~0D~;=V0?o+Tkyq;28OH9v6`b( zH4m?6ralKNH+a&FX zu;2HBumxWv;kUL0^lU+}2(Ul40R*NBq~aHSa1iq=kV_i?XBW(}w8R%&xWI?guR1sP zO(hY%{m)4!p785w06>{e21Ap?6@xt29Z9As%~b+Ib2Q}USUYeKTMlgxtRd_J5M0B% z1-@_;2E)W<_=+}bAeA`-Q+j!D@c9?!2yL@32pzD{GPESxsw9&D{MFF^S(35{SevHW}y%YzgjxfQ>7qnq_A%#fqx3F`ptm1Qk% z#@h>^r+aMNRDcLD7ZaVwa9}?`fIx7f&zf-gR|D?P*KJb}cX9&bR{XD zCfIJNdF~Y<62~k*{Ut0viO+Z#twVnMxI52s0Kij+0Om4h1$dMtAT@NZAzS2 z_@x?i&b|uXiKvAhz8)069?DP$V|+SmSVp?`=+T!HUi!r)Por;<;US)uX>0i{F95)@ zu|hru-^mkCBq~HMm`*SfE2jw*s3kZXs&fU3b`gMZ0elg!BVWRN`BkhhNQ3VnABtF{ zT7VG%0zrX(1hO}V5F}2w75$1orT!J&6`@7ER{#^9V|Ox@olZL`4IcncD0=vs$Xhiy z?`q^_h{rW>UYWpzknHI>e=n`o$6>MZ^Vmb_6Xg3Y56ye2Y?mhhVBuIX)E`b2dOUF- z0y@S>1czWK7U#yJ!MX67QMs;BPdS-H^<|%54GLHX>-kfGDG=Tv;!MH+;qsVgLu!0Mf0!0P@!1oY{*tyi1iq5nN zPVC{ylJ_2m<(VEu;hrmR1uTyMz&c_@odGWemrJ6uQwhnE7o7!_fFTG9OA{R~IT0v$ z-JBWLk{G8sbKGvu?Adw00@4_i`Tg=(?(zx%tSeU7G4MBFPQ6zMqJm1mP$3GeZXxNL zrEh7Yy2-dNc3OVrnKqzsZNNLqb0LkgsUiWknJ93%RenmXyaNEscpBUR{2@;aG9=)D z1lU&CX4rPhHB|%vkSg$A988l=j9)_nHY6|u*V$Go1XUyeV1+IK$AJ&?#2`ZgW)e7p zS@&!M6_zSG0I=fe>E&GS zIB+>#!HSX@BuRjEoCIc_v+gT2831s-`WNG{8Ms3C2-n3?E{{Go)$zNImu_C+la2@W z%#a2Ol&m+tvdV$s&EUNyZy9GEECJRf>-26g>)0TZ1PlPM-V|2jGM5oP4Cb4626?6g z_^t%&kafvAHON8&1^`$H#NzY?oHqsYT~LEOO9Bg#-5bEHLxXHczyJUnf-$>%9>;vo zn2WQe%&Bi7aZV7?n}kR1sa0ANQr7PtP!`5j;`8T-oOo^k4a39wFBH>@Mp zl|c?jzyJUTgk%wfOU8zR+1OTC+%rzKmjLU4b-_BRaLf7RirWAH*CoitHWC~Q<~$w@?5;%p^dEh2sjzfO}8>EZ`C`-zevYiK}tPN5?0=^2wVMI|<0yIzQi6-+k zGcG>i__PJsAjc(e071V5e+1s=_+v&$XCzP_z7OV1dEFVdFA~2UJOCUCHmI}&j^olA z@aN!Pzy>)Wfr|cpFb71Wiy&;!QlpN?@onIK;EHY;u%}-O<}}{VV1qQ2fH4HnP}pWk zv7t+iowEqE4*GyOomClJo{3*?*#uq(rVI>69)#d7G629`lE0oV6@dJI;81X9FoA$f zaHt9PWa7&=EFYDg{0BG*BlU;uy)D#0uZR19(&jbD1g>wxu0XOXER z;5}eYkCM46k6$b@NQV+I06>S8VwNQ;&UO<^m;G@N32q5)2&NB#fWW!&D&X2+wWfCq z5cfH7GWaN%3ePe83GjaKac~aUAPyrS$&vMrQbNCPj zjsWvoFgOV82lfF=_0Orxd@#Q+miX8c7kuMq$k-k@?I0a??4<)HjV z5ex}bXbGrgDpqKr8ih9`;3*O?0Kijf%E+f70Tm=*0DuZYHKH^m;3*O?0Kijf%E+f7 z0Tm=*0DuZYHKH^m;3*O?0Kijf%E+f70Tm=*0DuZYHKH^m;3*O?0Kijf%E+f70Tm=* z0DuZYHKH^m;3*O?0Kijf%E+f70Tm=*0DuZYHKH^m;3*O?0Kijf%E+f70Tm=*0DuZY zHKH^m;3*O?0Kijf%E+fm67VYICI=Or3Jbjip|J3ohbQiDKXus_iepg!Tl%f+JLW(C E4~CvOu>b%7 literal 30563 zcmb@tWmr^E+bFyzfT4#FRBEKVI|q=i0coV9m2RYFC>80D?pBdh38fXKkrI*a?yhfq z-}gD^{5aS7_06BzGuK-8y4T&cU!k;Bhzaf!002O&rutA106^GB5CFr)em(Xqx5s|n z^HwtUe&lBF?Pu+22guvHJ+VWmxmY{c>DgJ^26+6mlLi1tl9Rr%x3QL{q>Y;kul2t* zy#6lk*xdjiE$8oUZS%~|8}Y=>!O2yIaksgZ5#eMj!)PR;#joYAXy@pp`rOm*(Q|Em zo9EALBy1VwWD(N-l2`yPcHY(qe-~$0FG+tH#{YsViGBX}HyQyt z2t_wfJA??Y2#*cFpa4Qlf>%I9L`+PO8zIOqAk4=vz$YNYBOoCuEG)^-kNBStBla{; zTYE{phsytR7WS76qocRCyCff3?6r#a&D5e*t#&`X54JNyg`I?an8_ z%g^WH^6y^%wc5*D&+dPt@qbupQgXM=k(|Obfs z6cztV1`zB(;!wY6#m051o%hw}RVf40o=(kTrNs&XfP>~z$2vEco@M+xVD zjZqwkDfC;3cNF*mh4~F5?cRjsRUgqlBt5^ryrN^EdrcBe!pNPMa)WWUQ-w zt(y?t+puI%up^nT)EvV@KG-ni9(%TBtuN+hhuqyUfeQ=d#P7nhLVx1goPhdKptJ zb;k?e%bUb9PRK4i#RWd<2*1tJ@xFSP62hKVMD$_hDpa?t8U`6-un?iiO>(h zSx;-*C&_Nv);lO$IYq!>J~5Xs+HYSuUlH2TCmW0CU93hdIjqlWS1?dBgH?gau-jYtpp+3zIE?RG8OEOah?#N zFf4D)}nyud-byZPSlNyR8%(zE*&U7_`!jx@GLFYJ0WB!yPWBN26hXOQMHnXvek z#F>fLPeJ)qK=$9I@9ch)U(KoQn0rD|ClPCXY+ZBS%K7grt^aMfWbmyLvN?4WtL5nU zcLXq%rQspE2#!4=E$s98jme9huSg`F7ftCDA%c?BZJus-DK}cS5D4Zq?TaX2-Bgz<~3QjZ_?0D!xkx zfvq94-_kd#qGh||EQTMEg<#*7^&Q{vBKEvG@vu)=VS@m`Xvt@dKDV6c1FD{ValfNu z_Nv0ilx*Gk<_NO;4W3G2oFO<;a$;=)KX1;+$Jw3+17mbRb*uox&dUQ^7QK}*_CcXX z1s1e?c?;X2n*7VR!;_Nea(lI#j-B17Coy@pgMU{JZLqh@1OuPyOom?grW+Pbht(q5 zQ^E#TIZ_T69=^B~vMcX<_PF;0AHDrxz}5{9%p=~d#xhYgcxekuLuH^1EJO5SP~p6o z;P1Jj&Yjj^0C_%0AR!P;MhLU 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 diff --git a/src/img/icon48.png b/src/img/icon48.png index 310fbdd2771d8e3d3b8a8c251cf8e83ca9bd92bf..06ef9fae2139a2a13d3ac51cdba49bfd60588eda 100644 GIT binary patch literal 27405 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
43+8&!W#YfEpYX!Ec!uAr=5U+?fLK8i9nF7egZp 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 diff --git a/src/img/icon96.png b/src/img/icon96.png index de0b65cbd280413908677b744c1f267404463759..b7d2db36a1f026f999f71645ae34e83c084e9052 100644 GIT binary patch literal 55101 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 Ze|>jG&3O%OhLg~)9eet0_8Kzb{{XkeyXpV{ delta 10922 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 KxiT5EkpBlesT=43 literal 40552 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 R6oL?P89B~ruY>=B{{dJhoqhlS delta 4948 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 delta 6112 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 Z&Nk0+Q|nnch!g|@sVHd5|By8g{vVPMcZ&c3 diff --git a/src/img/ui-close64.png b/src/img/ui-close64.png index 2e15a2f15ae6625b23324a3067b43d9e38bc3af9..a5130de5ad1cf7e7ee579332f857c851d16f1bf1 100644 GIT binary patch literal 31348 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 delta 1473 zcmZ9Hdo$rUL-RB$MWe0yER>&8{O z+dxYT64~5>WKOa&B~fW)GR?vQ{4XH;%nu9$kS^qe)0l8HTgVk4Ts{w6)vPdn3}OdC z*%7GC*_Tje*+VEh0w{_U(42)Z3*ifW`TPhwD0^B_%bW}n{kc32KQ4MRv})P2hvvqM zMp!&H?8dZ%Ryt-}E{8^S*>2-PwWefGV|6sX8ku}{OeD-hR*l&sSRxU!2kBoJOjyW` zg*h%lek2%;c*Ef|?l;tI0gkvr`7+>qOX?46-!V1{09ZXYrjxJe#Z+OS=Xxg%`N1K^1p2}vc*$`In}{d0 zNQPy*nf(-_(sClUWvF3eR0s z$8L}P=)YHI>y{VGrwJ0<13s;Tz25Ia<0L0!#!qutV?F4d$yGA9&`n93!~|9Z?_ABH z{w1yfzTjqKN9|3^w&4~Kp#NGomg153x^aN~{c}s@oQGAX818`qu5W+74fy%FjP1-) z=%478%$l0i-9x3-|GC$%%+xFkF9n=UFq3mf#}g}0np#PAZE{rOC2&Ymj~2!5;c9Lt z8Smx3(Xne(Lc@f$wF{QTxkiD$G5T2i@3?>vl_Q#(EgROzbaOyPA=}nB27?_e>6XtW zdx6y|XN>B~jAUvoX^dX^PC5m*V5!EPztkC`(S=y2QD zgDFTehB~SYG8)!R2EGP+r6j5B(rj>hO_>Cmw2=`X0KL`XC`AY{lILR|%p@7(rG4pS z0h(AVXjXjwzAyOLZVgFlyDEG9R!V)2tKq~{);39D#RvK_HO8T`&0Tw+Ds}{c)`_|K zH&w4pSr{nExN$R4IvHAQ5fKs4Rd3TbTAk$5X5sR94~ zR*BzWl9UpN8~JD1S~d1Znz|n6JfJPkbn3wh&yT^=JVK{ZvkHY^%&ev+Clqum zl1oo((fK8V+D-T@oJ~4ebhHvFYV?dae7*Ass=B-9a#To_ZRn2ixm^;4%gI%y7q6B( z#Fam6mIdbm^R6etH_$vcGS2J=DBXE?h-dGvPj;2~xME&4AmUd< z^bK;=wO@ER{Bgh`vpbJqkbb|&)9abFT4+gOBhb?%7U~2g0V=4@l$lRuHnCQd(+%cb zBB6%vn!Gf>m**z`N*zwTR$vj=nbW~{F537-0(G#c)zPV3zvV{^AJ1Xj(nx#!o zs%Kr)yHt1|2ZhBEde^U$Re~TbvCSKaVRDnM%~pN)C_#ce-ouyyI+8EY1r;_Y=lvfp z6bM!>{G`=@PE;sW8fazhM&;DD=)FvN6qi(7Ge7U^uL>yd^L8jlC!szO`s}J7`}te_ ua400iYst`KG=3I0{W;s;E*y}cfGfYr|IT02dkk0!w;dkL8w_;l@qYnn_HAeY diff --git a/src/img/ui-custom64.png b/src/img/ui-custom64.png index 71335ee79e253428955131e25c4e9fa9e929ce80..6c664ee7f573f68c817fd87cc99b4996531b0d52 100644 GIT binary patch literal 31848 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 V`}sq+{fON9=PvBK?&#Cj{0A45tc(Bv delta 7619 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 diff --git a/src/img/ui-global-no64.png b/src/img/ui-global-no64.png index 40d7e6991733a45386a9fa6bc54453f50a811506..9d7cffae889261d29a798e26a79709650db8296d 100644 GIT binary patch literal 35848 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 delta 3993 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 diff --git a/src/img/ui-global64.png b/src/img/ui-global64.png index cbf6c5b2fc769f3a609c5e3dd2d7a46d9bfea254..85c67ba0e0f9fde489a2c71241858fecd5e6d185 100644 GIT binary patch literal 36048 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 NQd81atdO?|`5zH;#bE#d diff --git a/src/img/ui-maybe64.png b/src/img/ui-maybe64.png index d3f06256cf0632c6fa7350ac62f64e2f432241e5..b8f24d0202a70999358e6463dfeca39468414ff0 100644 GIT binary patch literal 36048 zcmeHQ2Ut_r+rOw41PAVk4Y<*egq_F;Lj@Jt1y>~`Hz5inKorob;9h?b7b-%xT# zi>SoC8CoYQxL2KMu~p!EPe|Yr5-t+7?bn>=c{%62=bgWM*1h=Pe6JBhTIhGt$1tpg zyPK;I)NDk0P2p#nFyby$&BSgaqcF^@2O^!AO^%Z=Oy5)J;^O5MB9e%rLPTPUyNe4& z94X=pLvaj?xs~E8@bi7v!M^0~d*@;E;+78+`Lx%g_&6_&YnRyD)VP`9(0Rt|Z?^Y7 z)_TyOCSA{_&TG7QaonQz-UFI1(7&Pk(0Ie*nH%RVIREM1l#LUv9WHr%sqDaYhbKFV zQ}*TRO7)trbhGfbifg{jxqIuPnP*O(zW30K9k1V0j2Y_f;~7Vl_RzsTPP4P?Zz9z_ zis{5$G0?-L9?4RAx4Gr5o;$A|qZ2nvM=D9Q9i|u84r5PV?7SIc57voGS=HMYOKpM$ zUEl^kz`UqfP@n0KuV8U0A6HM&!A37PZm*M?h*8?&^IWlzf!L1R9~KP40_j*g{;-ow z>;@I1y9e;yu=InNG{?|jFQ(TVqkGSr-4AOr1q(Xcqel!jYcHEFZ3C*|C{cHSn#60O`A zJ`4OP{%%I^>?0d7=Z+bCC~@Ff%zVb@IfsWZmdEe)w*Rg90hi3JHeF^7-e8c&lQ7mK zbVyCki`?JEev$S1CwbdLTHQ);a5+PlKJBDyaWa%{cKU?#9@_!UmT@oaG1<|4`{^#} zKkR6nHU9%QcTaSaHt~a`&8(Y5J5xB_o!kP42adSmww2PYr)BF~&1{-Ap5=YKkIAyF z!}j++)cVhpor297a|7K5^tje0p)JjD$~>2oHa*+ScQNmixulW%o?rYfx4As{a=1^A zX9Kn+Te@}WvFzL}-h{on%;f_p{m;&RnDX$%LyL!99~!?Kt)CLij`-!H@BO|$=f@B2 z{K)W;<)fzfDsw0Qjca`FY+diy+A3j`^Un1dKD)i=Zf$EhaSij*%nt6uHtpQ7;!2m0 zjv*z&-A^TlTHjgGeMC}Tz~u|ihCEGr+W38R^A>a3&pb0v(6@7PC*4kh&e5HAuNuC& z^Oc32&-l@87%x^mS>0;2$Uo3D!}O>2iRblK3|-NCMORar-?p^PX?N2M{EPiB_$6%n z(Rb>u!TuJ$54JV?ZRK|Vv=pxwzFmC<+Xil(ne!|n`7w^

ri~g1l9`>vcyUfxiZ0fo`%QZSXe9Nm< zYmfdIw|2N_%iY)`PyXsQl~(Fk8ur(g4?~&


~}XVZe_Ii2iISw)EKjA&;H-g>)? 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 EKfG{xKL7v# delta 6040 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 jxp(MLhu diff --git a/src/img/ui-no64.png b/src/img/ui-no64.png index 9f12a64585216f6ea6fbfa9704a6728fe3930775..9628c727e567fb4563a746a73880022f5bab2164 100644 GIT binary patch literal 35848 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 diff --git a/src/img/ui-part64.png b/src/img/ui-part64.png index 806ef15656eb2f8a9a91fc5d473dde23c4d8965b..a77cc3c75c9e79a0f98ae1dcc2fe1228dd2de67f 100644 GIT binary patch literal 35848 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 delta 7015 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 HmZARxLCz@c diff --git a/src/img/ui-revoke-temp64.png b/src/img/ui-revoke-temp64.png index 215d0a75ec54e848470331c6974abb1d6b077f08..8589cae344b9b4fed57ef73e7404067294d2a134 100644 GIT binary patch literal 35753 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 OFVvK@6)WT|L;nx<$Xp2k diff --git a/src/img/ui-sub64.png b/src/img/ui-sub64.png index 9c2aaabfe69a1a5dcb1307c5f38d3508ae59576b..2bd936d2155c84f3975614c5711efba4580fbdbc 100644 GIT binary patch literal 36048 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 MHrjQsbI|Pn1IlxxL;wH) delta 6802 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 Z))t~UikDSqIT>-t(RPkaruE|0{|liRb5Q^Q delta 4367 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 diff --git a/src/img/ui-tab64.png b/src/img/ui-tab64.png index acbdace5703d85a55c17ed47d324f6c2abec89d6..c1bed869a032b14dd979a834636de9b1a71d59ab 100644 GIT binary patch literal 36290 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 v^$_z_rE8FBO delta 2980 zcmaKoc{mjM8pnS##+Vq#h=eR-5>mtL#@J?TM};iu5ISbF#>hIBni)%r$`UC{Or6Ma z%35SSV=1~RimWLeq=XdODA#%JIrsi^@BRMuzVGvV-tY7MwiiGp>Y2KFYEgEcQSLnd zs90tM7ce+H78kuIlo`Nv<1#sMNAGjZ0gyVMeL;3V1f4xCYiUfzvT+1F+QifdPbQm~ z5O$*pI6TQ1hd0I(v3OG&iA2NU(0>VIne8EGoqbtOD?1u#l>HTHk=-S?bK}!dMOA?X zhWV!*jl*LHacJRzyeM8|ATOMTC*asjB9($=jjVe-@WbWpgmbmS}V12#!C^mK({A z2nvr1;)VTva_wH%h!q!(+!NPut#Ql=^-; zc4B%gHn7I3D?+g2i&~pvVl)eROslpD&F}oBc<|ICGB6aB`ogY(`Y}*8!G~!6J zR|*|b)%OL5AekO{GG8lFAkW9Tz$qZkyC&-QoSsrYa!@am2_E3Ur)C>Hm&ze`V&8#2 zDLc*7bbtzmi%s__(Jc$u)kO3%t4Rlr0(N>X_jKEFDW}JqnEkm}rhD2LXRbdpk+X(vX&dc<==je4k94b{NVPE1U)KpAR9?Ue}>4m=mUE@K}v6vAb7JNyg~ zjp3#3bsv!3cb4fjBP{4npnPZ##R2K(YUw3Ps-uZ|9#z@c*u(%h+)sM^T1K=(6}1wR z^f3Dh(R=<$Xx>dtkabFYT~!R}-jJ2Rgz{2{f#2|NS3 z?IIJqF!6kwAp6u_wGw)F-OIV5>K33z|7JJ?ANMbF66Zmj4x{57dVuDpU?7pFd-xTq z3tj!B0*dJRN(h_5!FZc?uw~%a=F&bngw<)-8Bhk@Tll4cPw zq@6pNsaxwI$~*^Y)X9cW-^e0xB;m{tHM_wFb0}KrYP>~@its4-DJ02gtLNRxYwht} zqxQA%GEvuI3DK@wgm#1ZGhnz@|B!lrONT`V zB5S9-*j(H_t|DUj*NF*Z4!xx3Dt!Cu82N#)N-?JOc zOIG6H{SyqBen{@e0NJ-=Oz&XciItIo=d$#6XO$2k1u}H@qV$h$$GFle>hhkp`_WF& zfP%>ei1Izfs8mi91@#YEHc{$))$`tK9~t%B)VijE&Wu#^1IWco?>`P(ye1^;kA19u zxKcoAdzC7^7!Xh*Fc`!s@NeHikk_ye+Z6d8o7x?fBswV}GV#;(P-gd}!mgxUR^wyb z)=N6VQ@Kk^58j@XNw^Gd!C)%dPX)rOElV?yio??UuLp|Wj{UA3Z{#B!nIB`Swb)Ql z<+CD3kVty@CH2C}i}kg@i^_3Dmr%(W&L;wcPS<oVGJICFFZLh#a3}v?+FnZDXumAB3h3URMx_mmu8yz# z3==xE6uJAPUTM?%yexS{JsBfk)l>AmOIr2KifF^bss>CI|p5BKgt=_>q zK0okZ ztpUcHH5lpT7a_X3qzqgUK2?t!CpO2YK-lkZmCG3kLTDu*T*Ul=(!^&%l>_{9APZwM zi;Gv9MDLGYVr*?l0gcDV!j)&dP8Ky z2-UIb`B5_&x|YG^XEKW_p`(sR7@ogbuhyqQJcg@hfkB9omoGm6Vj$OD4v|bVp`NJ) oYLU(Bm9_66d_ZUf~ diff --git a/src/img/ui-temp-all64.png b/src/img/ui-temp-all64.png index a6aef8683e65bb3132df691b4ba9f69ffc4cd12e..6098ba7392f23e1cd479749f0200d345cf51014f 100644 GIT binary patch literal 36732 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 sj7Z|&3pAMd_x}91Y=Iw!und6dHU$ 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 JR?+6o{{xT)pQiu- diff --git a/src/img/ui-yes64.png b/src/img/ui-yes64.png index 69ad53d9e9a21bcae67d4b7b43f12243711c438e..7435ddf554a4735c6454d99e3caa4c7e262d7130 100644 GIT binary patch literal 35848 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 delta 5809 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 { - - - var promptData; - var backlog = []; - class WindowManager { - async open(data) { - promptData = data; - this.close(); - this.currentWindow = await browser.windows.create({ - url: browser.extension.getURL("ui/prompt.html"), - type: "panel", - allowScriptsToClose: true, - // titlePreface: "NoScript ", - width: data.features.width, - height: data.features.height, - }); - } - async close() { - if (this.currentWindow) { - try { - await browser.windows.remove(this.currentWindow.id); - } catch (e) { - debug(e); - } - this.currentWindow = null; - } - } - - async focus() { - if (this.currentWindow) { - try { - await browser.windows.update(this.currentWindow.id, - { - focused: true, - } - ); - } catch (e) { - error(e, "Focusing popup window"); - } - } - } - } - - var winMan = new WindowManager(); - var Prompts = { - DEFAULTS: { - title: "", - message: "Proceed?", - options: [], - checks: [], - buttons: [_("Ok"), _("Cancel")], - multiple: "close", // or "queue", or "focus" - width: 400, - height: 300, - }, - async prompt(features) { - features = Object.assign({}, this.DEFAULTS, features || {}); - return new Promise((resolve, reject) => { - let data = { - features, - result: { - button: -1, - checks: [], - option: null, - }, - done() { - this.done = () => {}; - winMan.close(); - resolve(this.result); - if (backlog.length) { - winMan.open(backlog.shift()); - } else { - promptData = null; - } - } - }; - if (promptData) { - backlog.push(data); - switch(promptData.features.multiple) { - case "focus": - winMan.focus(); - case "queue": - break; - default: - promptData.done(); - } - } else { - winMan.open(data); - } - }); - }, - - get promptData() { - return promptData; - } - } - - return Prompts; - -})(); +var Prompts = (() => { + + + var promptData; + var backlog = []; + class WindowManager { + async open(data) { + promptData = data; + this.close(); + this.currentWindow = await browser.windows.create({ + url: browser.extension.getURL("ui/prompt.html"), + type: "panel", + allowScriptsToClose: true, + // titlePreface: "NoScript ", + width: data.features.width, + height: data.features.height, + }); + } + async close() { + if (this.currentWindow) { + try { + await browser.windows.remove(this.currentWindow.id); + } catch (e) { + debug(e); + } + this.currentWindow = null; + } + } + + async focus() { + if (this.currentWindow) { + try { + await browser.windows.update(this.currentWindow.id, + { + focused: true, + } + ); + } catch (e) { + error(e, "Focusing popup window"); + } + } + } + } + + var winMan = new WindowManager(); + var Prompts = { + DEFAULTS: { + title: "", + message: "Proceed?", + options: [], + checks: [], + buttons: [_("Ok"), _("Cancel")], + multiple: "close", // or "queue", or "focus" + width: 400, + height: 300, + }, + async prompt(features) { + features = Object.assign({}, this.DEFAULTS, features || {}); + return new Promise((resolve, reject) => { + let data = { + features, + result: { + button: -1, + checks: [], + option: null, + }, + done() { + this.done = () => {}; + winMan.close(); + resolve(this.result); + if (backlog.length) { + winMan.open(backlog.shift()); + } else { + promptData = null; + } + } + }; + if (promptData) { + backlog.push(data); + switch(promptData.features.multiple) { + case "focus": + winMan.focus(); + case "queue": + break; + default: + promptData.done(); + } + } else { + winMan.open(data); + } + }); + }, + + get promptData() { + return promptData; + } + } + + return Prompts; + +})(); diff --git a/src/ui/options.css b/src/ui/options.css index f7db24b1..7d62cd04 100644 --- a/src/ui/options.css +++ b/src/ui/options.css @@ -1,187 +1,184 @@ - -/* @import url("chrome://browser/content/extension.css"); */ -body { - background: #eee url("/img/noscript-options.png") no-repeat fixed top right; - background-size: 8em; - padding: 0 2em 0 0; - margin: 0.5em 0.5em 0.5em 0.5em; -} -.mobile body { - background-size: 4em; - padding-right: 0; -} - - -#header { - display: flex; - flex-flow: column; - padding: 0; - margin: 0 6em 0 0; - text-align: right; -} -#header h1 { - color: #048; - text-shadow: 0.06em 0.06em 0.06em rgba(0,0,0,.5); - font-size: 2em; - padding: 0; - margin: 0; - text-align: right; -} -#version { - color: #048; - font-size: 0.75em; - padding: 0; - margin: 0 0 0.5em; - display: block; - text-align: right; -} - -.buttons { - display: flex; - flex-flow: row wrap; - justify-content: flex-end; - width: 100%; - text-align: right; -} - -#sect-general { - display: flex; - flex-direction: column; - justify-content: space-around; - font-size: 1em; -} - -#sect-general label, #sect-general button, #sect-general span { - white-space: nowrap; -} - -.opt-group { - display: flex; - flex-flow: row wrap; - justify-content: flex-start; - border-bottom: 1px solid rgba(255, 255, 255, .5); - padding: .5em 0; -} - -.opt-group:last-child { - border-bottom: none; - margin-bottom: .5em; -} - -section form, section fieldset { - margin: .5em 0; -} - -fieldset:disabled { - opacity: .5; -} - -.opt-group > span { - margin: 0 .5em; -} - -.sect-sites form { - display: flex; - align-items: baseline; - flex-wrap: wrap; - justify-content: space-between; -} - -.sect-sites form > label { - white-space: nowrap; -} -#newsite { - flex: 2 2; -} - -#policy { - display: block; - margin-top: .5em; - min-height: 20em; - width: 90%; -} -.hide, div.debug { - display: none; -} - -body.debug div.debug { - display: initial; -} - -.error { - background: #ff8; - color: red; -} - -#policy-error { - background: red; - color: #ff8; - padding: 0; - margin: 0; - font-weight: bold; -} - -input, button { - font-size: 1em; -} - -button.add { - font-weight: bold; -} - -input[type="file"] { - display: none; -} - -.opt-group { - padding: 0.5em 0; -} -#xssFaq { - padding: 0.5em 1em; -} -#clearclick-options { - display: none; -} - - -.flextabs__tab { - /* shift all tabs to appear before content */ - order: -1; - /* let tabs scale to fit multiple on each row */ - width: auto; - margin: 0; -} -.flextabs__content--active { - /* ignore states activated for multi (accordion) toggle view */ - display: none; -} -.flextabs__content--active--last { - /* show the last activated item */ - display: block; -} - -.flextabs__content, .flextabs__toggle[aria-expanded="true"] { - background-color: rgba(200, 200, 200, .5) !important; - border: 0 solid #888; -} - -.flextabs__toggle { - -moz-appearance: none; - border-width: 0 1px 0 0 !important; - margin: 0 4px 0 0; - background: #ccc; - outline-width: 1px 0 0 0 !important; -} - - - -.flextabs__content { - border-width: 0 1px 1px 0; - border-radius: 0 .5em 0 0; - padding: .5em; -} - -.flextabs__toggle { - border-radius: .2em .2em 0 0; - padding: .2em .4em; -} + +/* @import url("chrome://browser/content/extension.css"); */ +body { + background: #fff url("/img/noscript-options.png") no-repeat fixed top right; + background-size: 8em; + padding: 0 2em 0 0; + margin: 0.5em 0.5em 0.5em 0.5em; +} +.mobile body { + background-size: 4em; + padding-right: 0; +} + + +#header { + display: flex; + flex-flow: column; + padding: 0; + margin: 0 6em 0 0; + text-align: right; +} +#header h1 { + color: #848484; + font-size: 2em; + padding: 0; + margin: 0; + text-align: right; +} +#version { + color: #848484; + font-size: 0.75em; + padding: 0; + margin: 0 0 0.5em; + display: block; + text-align: right; +} + +.buttons { + display: flex; + flex-flow: row wrap; + justify-content: flex-end; + width: 100%; + text-align: right; +} + +#sect-general { + display: flex; + flex-direction: column; + justify-content: space-around; + font-size: 1em; +} + +#sect-general label, #sect-general button, #sect-general span { + white-space: nowrap; +} + +.opt-group { + display: flex; + flex-flow: row wrap; + justify-content: flex-start; + padding: .5em 0; +} + +.opt-group:last-child { + border-bottom: none; + margin-bottom: .5em; +} + +section form, section fieldset { + margin: .5em 0; +} + +fieldset:disabled { + opacity: .5; +} + +.opt-group > span { + margin: 0 .5em; +} + +.sect-sites form { + display: flex; + align-items: baseline; + flex-wrap: wrap; + justify-content: space-between; +} + +.sect-sites form > label { + white-space: nowrap; +} +#newsite { + flex: 2 2; +} + +#policy { + display: block; + margin-top: .5em; + min-height: 20em; + width: 90%; +} +.hide, div.debug { + display: none; +} + +body.debug div.debug { + display: initial; +} + +.error { + background: #ff8; + color: red; +} + +#policy-error { + background: red; + color: #ff8; + padding: 0; + margin: 0; + font-weight: bold; +} + +input, button { +} + +button.add { + font-weight: bold; +} + +input[type="file"] { + display: none; +} + +.opt-group { + padding: 0.5em 0; +} +#xssFaq { + padding: 0.5em 1em; +} +#clearclick-options { + display: none; +} + + +.flextabs__tab { + /* shift all tabs to appear before content */ + order: -1; + /* let tabs scale to fit multiple on each row */ + width: auto; + margin: 0; +} +.flextabs__content--active { + /* ignore states activated for multi (accordion) toggle view */ + display: none; +} +.flextabs__content--active--last { + /* show the last activated item */ + display: block; +} + +.flextabs__content, .flextabs__toggle[aria-expanded="true"] { + background-color: rgba(230, 230, 230, .5) !important; + border: 0 solid #888; +} + +.flextabs__toggle { + -moz-appearance: none; + border-width: 0 0 0 0 !important; + margin: 0 4px 0 0; + background: #e6e6e6; + outline-width: 1px 0 0 0 !important; +} + + + +.flextabs__content { + border-width: 0 0 0 0; + border-radius: 0 .5em .5em .5em; + padding: .5em; +} + +.flextabs__toggle { + border-radius: .2em .2em 0 0; + padding: .2em .4em; +} diff --git a/src/ui/options.html b/src/ui/options.html index 6e2ad0e8..4c810c0e 100644 --- a/src/ui/options.html +++ b/src/ui/options.html @@ -1,129 +1,129 @@ - - - - -NoScript Settings - - - - - - - - - - - - - -
- -
- -
- - - - + + + + +NoScript Settings + + + + + + + + + + + + + +
+ +
+ +
+ +

+
+
+
+ + + + + + + +
+ +
+ __MSG_CustomizePresets__ +
+
+
+
+ +

+
+
+
+ +
+
+
+
+
+
+
+
+ +

+
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ +

+
+
+ + + (__MSG_XssFaq__) + + +
+
+ +
+ +
+
+ +
+
+ +
+ +
+
+
+
+ + + + diff --git a/src/ui/options.js b/src/ui/options.js index 31cf5c3c..3d4ba3fa 100644 --- a/src/ui/options.js +++ b/src/ui/options.js @@ -1,199 +1,199 @@ -'use strict'; -(async () => { - - await UI.init(); - - let policy = UI.policy; - - let version = browser.runtime.getManifest().version; - document.querySelector("#version").textContent = _("Version", version); - // simple general options - - let opt = UI.wireOption; - - opt("global", o => { - if (o) { - policy.enforced = !o.checked; - UI.updateSettings({policy}); - } - let {enforced} = policy; - let disabled = !enforced; - for (let e of document.querySelectorAll(".enforcement_required")) { - e.disabled = disabled; - } - return disabled; - }); - - opt("auto", o => { - if (o) { - policy.autoAllowTop = o.checked; - UI.updateSettings({policy}); - } - return policy.autoAllowTop; - }); - - opt("xss"); - { - let button = document.querySelector("#btn-reset"); - button.onclick = async () => { - if (confirm(_("reset_warning"))) { - policy = new Policy(); - await UI.updateSettings({policy, local: null, sync: null, xssUserChoices: {}}); - window.location.reload(); - } - } - - let fileInput = document.querySelector("#file-import"); - fileInput.onchange = () => { - let fr = new FileReader(); - fr.onload = async () => { - try { - await UI.importSettings(fr.result); - } catch (e) { - error(e, "Importing settings %s", fr.result); - } - location.reload(); - } - fr.readAsText(fileInput.files[0]); - } - - button = document.querySelector("#btn-import"); - button.onclick = () => fileInput.click(); - - document.querySelector("#btn-export").addEventListener("click", async e => { - let button = e.target; - button.disabled = true; - let settings = await UI.exportSettings(); - let f = document.createElement("iframe"); - f.srcdoc = `NoScript Export`; - f.style.position = "fixed"; - f.style.top = "-999px"; - f.style.height = "1px"; - f.onload = () => { - let w = f.contentWindow; - let a = w.document.querySelector("a"); - a.href = w.URL.createObjectURL(new w.Blob([settings], { - type: "text/plain" - })); - a.click(); - setTimeout(() => { - f.remove(); - button.disabled = false; - }, 1000); - - }; - document.body.appendChild(f); - }); - } - - { - let a = document.querySelector("#xssFaq a"); - a.onclick = e => { - e.preventDefault(); - browser.tabs.create({ - url: a.href - }); - } - let button = document.querySelector("#btn-delete-xss-choices"); - let choices = UI.xssUserChoices; - button.disabled = Object.keys(choices).length === 0; - button.onclick = () => { - UI.updateSettings({ - xssUserChoices: {} - }); - button.disabled = true - }; - - } - - opt("clearclick"); - opt("debug", "local", b => { - document.body.classList.toggle("debug", b); - if (b) updateRawPolicyEditor(); - }); - - // Appearance - - opt("showCountBadge", "local"); - opt("showCtxMenuItem", "local"); - opt("showFullAddresses", "local"); - - // PRESET CUSTOMIZER - { - let parent = document.getElementById("presets"); - let presetsUI = new UI.Sites(parent, - {"DEFAULT": true, "TRUSTED": true, "UNTRUSTED": true}); - - presetsUI.render([""]); - window.setTimeout(() => { - let def = parent.querySelector('input.preset[value="DEFAULT"]'); - def.checked = true; - def.click(); - }, 10); - } - - // SITES UI - let sitesUI = new UI.Sites(document.getElementById("sites")); - { - sitesUI.onChange = () => { - if (UI.local.debug) { - updateRawPolicyEditor(); - } - }; - let sites = policy.sites; - sitesUI.render(sites); - - let newSiteForm = document.querySelector("#form-newsite"); - let newSiteInput = newSiteForm.newsite; - let button = newSiteForm.querySelector("button"); - let canAdd = s => policy.get(s).siteMatch === null; - - let validate = () => { - let site = newSiteInput.value.trim(); - button.disabled = !(Sites.isValid(site) && canAdd(site)); - sitesUI.filterSites(site); - } - validate(); - newSiteInput.addEventListener("input", validate); - - newSiteForm.addEventListener("submit", e => { - e.preventDefault(); - e.stopPropagation(); - let site = newSiteInput.value.trim(); - let valid = Sites.isValid(site); - if (valid && canAdd(site)) { - policy.set(site, policy.TRUSTED); - UI.updateSettings({policy}); - newSiteInput.value = ""; - sitesUI.render(policy.sites); - sitesUI.highlight(site); - sitesUI.onChange(); - } - }, true); - } - - - // UTILITY FUNCTIONS - - function updateRawPolicyEditor() { - if (!UI.local.debug) return; - - // RAW POLICY EDITING (debug only) - let policyEditor = document.getElementById("policy"); - policyEditor.value = JSON.stringify(policy.dry(true), null, 2); - if (!policyEditor.onchange) policyEditor.onchange = (e) => { - let ed = e.currentTarget - try { - policy = new Policy(JSON.parse(ed.value)); - UI.updateSettings({policy}); - sitesUI.render(policy.sites); - ed.className = ""; - document.getElementById("policy-error").textContent = ""; - } catch (e) { - error(e); - ed.className = "error"; - document.getElementById("policy-error").textContent = e.message; - } - } - } -})(); +'use strict'; +(async () => { + + await UI.init(); + + let policy = UI.policy; + + let version = browser.runtime.getManifest().version; + document.querySelector("#version").textContent = _("Version", version); + // simple general options + + let opt = UI.wireOption; + + opt("global", o => { + if (o) { + policy.enforced = !o.checked; + UI.updateSettings({policy}); + } + let {enforced} = policy; + let disabled = !enforced; + for (let e of document.querySelectorAll(".enforcement_required")) { + e.disabled = disabled; + } + return disabled; + }); + + opt("auto", o => { + if (o) { + policy.autoAllowTop = o.checked; + UI.updateSettings({policy}); + } + return policy.autoAllowTop; + }); + + opt("xss"); + { + let button = document.querySelector("#btn-reset"); + button.onclick = async () => { + if (confirm(_("reset_warning"))) { + policy = new Policy(); + await UI.updateSettings({policy, local: null, sync: null, xssUserChoices: {}}); + window.location.reload(); + } + } + + let fileInput = document.querySelector("#file-import"); + fileInput.onchange = () => { + let fr = new FileReader(); + fr.onload = async () => { + try { + await UI.importSettings(fr.result); + } catch (e) { + error(e, "Importing settings %s", fr.result); + } + location.reload(); + } + fr.readAsText(fileInput.files[0]); + } + + button = document.querySelector("#btn-import"); + button.onclick = () => fileInput.click(); + + document.querySelector("#btn-export").addEventListener("click", async e => { + let button = e.target; + button.disabled = true; + let settings = await UI.exportSettings(); + let f = document.createElement("iframe"); + f.srcdoc = `NoScript Export`; + f.style.position = "fixed"; + f.style.top = "-999px"; + f.style.height = "1px"; + f.onload = () => { + let w = f.contentWindow; + let a = w.document.querySelector("a"); + a.href = w.URL.createObjectURL(new w.Blob([settings], { + type: "text/plain" + })); + a.click(); + setTimeout(() => { + f.remove(); + button.disabled = false; + }, 1000); + + }; + document.body.appendChild(f); + }); + } + + { + let a = document.querySelector("#xssFaq a"); + a.onclick = e => { + e.preventDefault(); + browser.tabs.create({ + url: a.href + }); + } + let button = document.querySelector("#btn-delete-xss-choices"); + let choices = UI.xssUserChoices; + button.disabled = Object.keys(choices).length === 0; + button.onclick = () => { + UI.updateSettings({ + xssUserChoices: {} + }); + button.disabled = true + }; + + } + + opt("clearclick"); + opt("debug", "local", b => { + document.body.classList.toggle("debug", b); + if (b) updateRawPolicyEditor(); + }); + + // Appearance + + opt("showCountBadge", "local"); + opt("showCtxMenuItem", "local"); + opt("showFullAddresses", "local"); + + // PRESET CUSTOMIZER + { + let parent = document.getElementById("presets"); + let presetsUI = new UI.Sites(parent, + {"DEFAULT": true, "TRUSTED": true, "UNTRUSTED": true}); + + presetsUI.render([""]); + window.setTimeout(() => { + let def = parent.querySelector('input.preset[value="DEFAULT"]'); + def.checked = true; + def.click(); + }, 10); + } + + // SITES UI + let sitesUI = new UI.Sites(document.getElementById("sites")); + { + sitesUI.onChange = () => { + if (UI.local.debug) { + updateRawPolicyEditor(); + } + }; + let sites = policy.sites; + sitesUI.render(sites); + + let newSiteForm = document.querySelector("#form-newsite"); + let newSiteInput = newSiteForm.newsite; + let button = newSiteForm.querySelector("button"); + let canAdd = s => policy.get(s).siteMatch === null; + + let validate = () => { + let site = newSiteInput.value.trim(); + button.disabled = !(Sites.isValid(site) && canAdd(site)); + sitesUI.filterSites(site); + } + validate(); + newSiteInput.addEventListener("input", validate); + + newSiteForm.addEventListener("submit", e => { + e.preventDefault(); + e.stopPropagation(); + let site = newSiteInput.value.trim(); + let valid = Sites.isValid(site); + if (valid && canAdd(site)) { + policy.set(site, policy.TRUSTED); + UI.updateSettings({policy}); + newSiteInput.value = ""; + sitesUI.render(policy.sites); + sitesUI.highlight(site); + sitesUI.onChange(); + } + }, true); + } + + + // UTILITY FUNCTIONS + + function updateRawPolicyEditor() { + if (!UI.local.debug) return; + + // RAW POLICY EDITING (debug only) + let policyEditor = document.getElementById("policy"); + policyEditor.value = JSON.stringify(policy.dry(true), null, 2); + if (!policyEditor.onchange) policyEditor.onchange = (e) => { + let ed = e.currentTarget + try { + policy = new Policy(JSON.parse(ed.value)); + UI.updateSettings({policy}); + sitesUI.render(policy.sites); + ed.className = ""; + document.getElementById("policy-error").textContent = ""; + } catch (e) { + error(e); + ed.className = "error"; + document.getElementById("policy-error").textContent = e.message; + } + } + } +})(); diff --git a/src/ui/popup.css b/src/ui/popup.css index ad5e3d0c..93e4eac6 100644 --- a/src/ui/popup.css +++ b/src/ui/popup.css @@ -1,239 +1,239 @@ -body { - background: white; -} - -#top { - font-size: 1em; - position: relative; - margin: 0; - height: 2.4em; - min-width: 18.75em; - border-bottom: 0.06em solid #eee; - display: flex; - -moz-user-select: none; -} - - -#top a { - appearance: none !important; - -moz-appearance: none !important; - width: 2em; - height: 2em; - margin: 0.25em; - cursor: pointer; - font-size: 1em; - font-family: sans-serif; - font-weight: bold; - color: black; - background: transparent no-repeat center; - background-size: 100%; - transform: unset; - transition: all 0.3s; - border: none; - display: block; - - top: 0; - padding: 0; - text-align: left; - vertical-align: middle; - line-height: 1em; - -} - -#top > .spacer { - flex-grow: 1; - display: block; - cursor: pointer; -} - - - -#top > .hider.open ~ .spacer { - display: none; -} - -.hider { - background: #ccc; - box-shadow: inset 0 1px 3px #444; - border-radius: 1em 1em 0 0; - display: none; - position: relative; - margin: .25em 1.5em; - padding: 0; - - height: 2em; - overflow: hidden; - opacity: .5; -} - - - -.hider.open { - display: flex; - flex-grow: 1; - opacity: 1; - padding-left: 2em; -} -.hider:hover { - opacity: 1; -} -.hider:not(.open):not(.empty) { - display: block; - text-align: right; - line-height: 1em; - overflow: hidden; - width: 2em; -} - - -#top .hider .reveal { - display: block; - font-size: 1.2em; - font-weight: bold; - padding: 0; - text-align: center; - margin: 0; -} - -.hider.open > .reveal { - display: none !important; -} - -.hider:not(.open) > :not(.reveal) { - display: none !important; -} - -.hider-label { - position: absolute; - z-index: 100; - top: .5em; - right: .5em; - color: #222; - text-align: right; - vertical-align: middle; - line-height: 100%; - font-size: 1em; - font-weight: bold; - pointer-events: none; - text-shadow: -2px 0 2px white, 2px 0 2px white; -} - -.hider-close { - -moz-appearance: none; - appearance: none; - color: black; - background: transparent; - padding: 0; - border-radius: .2em; - border: none; - position: absolute; - left: .2em; - top: 0; - font-size: 1.5em; - font-weight: bold; - z-index: 100; - vertical-align: middle; - padding: .2em; -} - -.hider-close:hover, .reveal:hover { - color: white !important; - text-shadow: -2px 0 2px red, 2px 0 2px red; -} - -.hider > .icon { - opacity: .7; - margin: 0 .25em; - padding: 0; -} - -#top > a:hover { - transform: scale(1.2); -} - -#top a.icon { - text-indent: -500em; - color: transparent; -} - - -#top #revoke-temp { - background-image: url(/img/ui-revoke-temp64.png); -} -#top #temp-trust-page { - background-image: url(/img/ui-temp-all64.png); -} - -#top #enforce-tab { - background-image: url(/img/ui-tab-no64.png); -} -#top #enforce-tab[aria-pressed="true"] { - background-image: url(/img/ui-tab64.png); -} - -#top #enforce { - background-image: url(/img/ui-global-no64.png); -} -#top #enforce[aria-pressed="true"] { - background-image: url(/img/ui-global64.png); -} - -#top #options { - background-image: url(/img/noscript-options.png); -} -#top #close { - background-image: url(/img/ui-close64.png); -} - -#top #reload { - background-image: url(/img/ui-reload64.png); -} - -#sites { - margin: 0.5em 0.25em; -} - -#content { - text-align: center; -} -#buttons { - text-align: center; - margin: 0.5em; - display: flex; - justify-content: space-around; - -} -#buttons button { - flex-grow: 1; - margin: .5em 2em; -} - -.disabled .toggle.icon, .toggle.icon:disabled { - opacity: .2; - pointer-events: none; -} - -#message { - height: auto; - margin: .5em; - padding: .8em 0 0 2.5em; - background-size: 2em; - background-position: left top; - background-repeat: no-repeat; - min-height: 3em; - transition: height .5s; - font-size: 1.2em; - vertical-align: middle; -} -#message.hidden { - display: none; - height: 0; - min-height: 0; - overflow: hidden; -} -.warning { - background-image: url("/img/warning64.png"); -} -.error { - background-image: url("/img/error64.png"); -} +body { + background: white; +} + +#top { + font-size: 1em; + position: relative; + margin: 0; + height: 2.4em; + min-width: 18.75em; + border-bottom: 0.06em solid #eee; + display: flex; + -moz-user-select: none; +} + + +#top a { + appearance: none !important; + -moz-appearance: none !important; + width: 2em; + height: 2em; + margin: 0.25em; + cursor: pointer; + font-size: 1em; + font-family: sans-serif; + font-weight: bold; + color: black; + background: transparent no-repeat center; + background-size: 100%; + transform: unset; + transition: all 0.3s; + border: none; + display: block; + + top: 0; + padding: 0; + text-align: left; + vertical-align: middle; + line-height: 1em; + +} + +#top > .spacer { + flex-grow: 1; + display: block; + cursor: pointer; +} + + + +#top > .hider.open ~ .spacer { + display: none; +} + +.hider { + background: #ccc; + box-shadow: inset 0 1px 3px #444; + border-radius: 1em 1em 0 0; + display: none; + position: relative; + margin: .25em 1.5em; + padding: 0; + + height: 2em; + overflow: hidden; + opacity: .5; +} + + + +.hider.open { + display: flex; + flex-grow: 1; + opacity: 1; + padding-left: 2em; +} +.hider:hover { + opacity: 1; +} +.hider:not(.open):not(.empty) { + display: block; + text-align: right; + line-height: 1em; + overflow: hidden; + width: 2em; +} + + +#top .hider .reveal { + display: block; + font-size: 1.2em; + font-weight: bold; + padding: 0; + text-align: center; + margin: 0; +} + +.hider.open > .reveal { + display: none !important; +} + +.hider:not(.open) > :not(.reveal) { + display: none !important; +} + +.hider-label { + position: absolute; + z-index: 100; + top: .5em; + right: .5em; + color: #222; + text-align: right; + vertical-align: middle; + line-height: 100%; + font-size: 1em; + font-weight: bold; + pointer-events: none; + text-shadow: -2px 0 2px white, 2px 0 2px white; +} + +.hider-close { + -moz-appearance: none; + appearance: none; + color: black; + background: transparent; + padding: 0; + border-radius: .2em; + border: none; + position: absolute; + left: .2em; + top: 0; + font-size: 1.5em; + font-weight: bold; + z-index: 100; + vertical-align: middle; + padding: .2em; +} + +.hider-close:hover, .reveal:hover { + color: white !important; + text-shadow: -2px 0 2px red, 2px 0 2px red; +} + +.hider > .icon { + opacity: .7; + margin: 0 .25em; + padding: 0; +} + +#top > a:hover { + transform: scale(1.2); +} + +#top a.icon { + text-indent: -500em; + color: transparent; +} + + +#top #revoke-temp { + background-image: url(/img/ui-revoke-temp64.png); +} +#top #temp-trust-page { + background-image: url(/img/ui-temp-all64.png); +} + +#top #enforce-tab { + background-image: url(/img/ui-tab-no64.png); +} +#top #enforce-tab[aria-pressed="true"] { + background-image: url(/img/ui-tab64.png); +} + +#top #enforce { + background-image: url(/img/ui-global-no64.png); +} +#top #enforce[aria-pressed="true"] { + background-image: url(/img/ui-global64.png); +} + +#top #options { + background-image: url(/img/noscript-options.png); +} +#top #close { + background-image: url(/img/ui-close64.png); +} + +#top #reload { + background-image: url(/img/ui-reload64.png); +} + +#sites { + margin: 0.5em 0.25em; +} + +#content { + text-align: center; +} +#buttons { + text-align: center; + margin: 0.5em; + display: flex; + justify-content: space-around; + +} +#buttons button { + flex-grow: 1; + margin: .5em 2em; +} + +.disabled .toggle.icon, .toggle.icon:disabled { + opacity: .2; + pointer-events: none; +} + +#message { + height: auto; + margin: .5em; + padding: .8em 0 0 2.5em; + background-size: 2em; + background-position: left top; + background-repeat: no-repeat; + min-height: 3em; + transition: height .5s; + font-size: 1.2em; + vertical-align: middle; +} +#message.hidden { + display: none; + height: 0; + min-height: 0; + overflow: hidden; +} +.warning { + background-image: url("/img/warning64.png"); +} +.error { + background-image: url("/img/error64.png"); +} diff --git a/src/ui/popup.html b/src/ui/popup.html index 517b233e..8b8c8931 100644 --- a/src/ui/popup.html +++ b/src/ui/popup.html @@ -1,47 +1,47 @@ - - - - - -NoScript Settings - - - - - - - - - -
- - -
- - - - -
-
-
-
- -
-
- - - + + + + + +NoScript Settings + + + + + + + + + +
+ + +
+ + + + +
+
+
+
+ +
+
+ + + diff --git a/src/ui/popup.js b/src/ui/popup.js index aed981b2..c5081e70 100644 --- a/src/ui/popup.js +++ b/src/ui/popup.js @@ -1,271 +1,271 @@ -'use strict'; - -var sitesUI; - -addEventListener("unload", e => { - if (!UI.initialized) { - Messages.send("openStandalonePopup"); - } -}); - -(async () => { - - function showMessage(className, message) { - let el = document.getElementById("message"); - el.textContent = message; - el.className = className; - } - - try { - let tabId; - let pendingReload = false; - let isBrowserAction = true; - let optionsClosed = false; - let tab = (await browser.tabs.query({ - windowId: browser.windows ? - (await browser.windows.getLastFocused()).id - : null, - active: true - }))[0]; - - if (!tab || tab.id === -1) { - log("No tab found to open the UI for"); - close(); - } - if (tab.url === document.URL) { - isBrowserAction = false; - try { - tabId = parseInt(document.URL.match(/#.*\btab(\d+)/)[1]); - } catch (e) { - close(); - } - addEventListener("blur", close); - } else { - tabId = tab.id; - } - - await UI.init(tabId); - - if (isBrowserAction) { - browser.tabs.onActivated.addListener(e => { - if (e.tabId !== tabId) close(); - }); - } - - await include("/ui/toolbar.js"); - { - let clickHandlers = { - "options": e => { - browser.runtime.openOptionsPage(); - close(); - }, - "close": close, - "reload": reload, - "temp-trust-page": e => sitesUI.tempTrustAll(), - "revoke-temp": e => { - UI.revokeTemp(); - close(); - } - }; - for (let [id, handler] of Object.entries(clickHandlers)) { - document.getElementById(id).onclick = handler; - } - } - { - let policy = UI.policy; - let pressed = policy.enforced; - let button = document.getElementById("enforce"); - button.setAttribute("aria-pressed", pressed); - button.textContent = button.title = _(pressed ? "NoEnforcement" : "Enforce"); - button.onclick = async () => { - this.disabled = true; - policy.enforced = !pressed; - await UI.updateSettings({policy, reloadAffected: true}); - close(); - } - } - { - let pressed = !UI.unrestrictedTab; - let button = document.getElementById("enforce-tab"); - button.setAttribute("aria-pressed", pressed); - button.textContent = button.title = _(pressed ? "NoEnforcementForTab" : "EnforceForTab"); - if (UI.policy.enforced) { - button.onclick = async () => { - this.disabled = true; - await UI.updateSettings({ - unrestrictedTab: pressed, - reloadAffected: true, - }); - close(); - } - } else { - button.disabled = true; - } - } - - - let mainFrame = UI.seen && UI.seen.find(thing => thing.request.type === "main_frame"); - debug("Seen: %o", UI.seen); - if (!mainFrame) { - let isHttp = /^https?:/.test(tab.url); - try { - await browser.tabs.executeScript(tabId, { code: "" }); - if (isHttp) { - document.body.classList.add("disabled"); - showMessage("warning", _("freshInstallReload")); - let buttons = document.querySelector("#buttons"); - let b = document.createElement("button"); - b.textContent = _("OK"); - b.onclick = document.getElementById("reload").onclick = () => { - reload(); - close(); - } - buttons.appendChild(b); - b = document.createElement("button"); - b.textContent = _("Cancel"); - b.onclick = () => close(); - buttons.appendChild(b); - return; - } - } catch (e) { - error(e, "Could not run scripts on %s: privileged page?", tab.url); - } - - await include("/lib/restricted.js"); - let isRestricted = isRestrictedURL(tab.url); - if (!isHttp || isRestricted) { - showMessage("warning", _("privilegedPage")); - let tempTrust = document.getElementById("temp-trust-page"); - tempTrust.disabled = true; - return; - } - if (!UI.seen) { - if (!isHttp) return; - UI.seen = [ - mainFrame = { - request: { url: tab.url, documentUrl: tab.url, type: "main_frame" } - } - ]; - } - } - - let justDomains = !UI.local.showFullAddresses; - - sitesUI = new UI.Sites(document.getElementById("sites")); - - sitesUI.onChange = (row) => { - pendingReload = !row.temp2perm; - if (optionsClosed) return; - browser.tabs.query({url: browser.runtime.getManifest().options_ui.page }) - .then(tabs => { - browser.tabs.remove(tabs.map(t => t.id)); - }); - optionsClosed = true; - }; - initSitesUI(); - UI.onSettings = initSitesUI; - - - - function initSitesUI() { - pendingReload = false; - let { - typesMap - } = sitesUI; - typesMap.clear(); - let policySites = UI.policy.sites; - let domains = new Map(); - - function urlToLabel(url) { - let origin = Sites.origin(url); - let match = policySites.match(url); - if (match) return match; - if (domains.has(origin)) { - if (justDomains) return domains.get(origin); - } else { - let domain = tld.getDomain(url.hostname); - if (domain) { - domain = url.protocol === "https:" ? Sites.secureDomainKey(domain) : domain; - } else { - domain = url.protocol; - } - domains.set(origin, domain); - if (justDomains) return domain; - } - return origin; - } - let seen = UI.seen; - let parsedSeen = seen.map(thing => Object.assign({ - type: thing.policyType - }, Sites.parse(thing.request.url))) - .filter(parsed => parsed.url && ( - parsed.url.origin !== "null" || parsed.url.protocol === "file:")); - - let sitesSet = new Set( - parsedSeen.map(parsed => parsed.label = urlToLabel(parsed.url)) - ); - if (!justDomains) { - for (let domain of domains.values()) sitesSet.add(domain); - } - let sites = [...sitesSet]; - for (let parsed of parsedSeen) { - sites.filter(s => parsed.label === s || domains.get(Sites.origin(parsed.url)) === s).forEach(m => { - let siteTypes = typesMap.get(m); - if (!siteTypes) typesMap.set(m, siteTypes = new Set()); - siteTypes.add(parsed.type); - }); - } - - sitesUI.mainUrl = new URL(mainFrame.request.url) - sitesUI.mainSite = urlToLabel(sitesUI.mainUrl); - sitesUI.mainDomain = tld.getDomain(sitesUI.mainUrl.hostname); - - sitesUI.render(sites); - } - - function reload() { - if (sitesUI) sitesUI.clear(); - browser.tabs.reload(tabId); - pendingReload = false; - } - - function close() { - if (isBrowserAction) { - window.close(); - } else { - //browser.windows.remove(tab.windowId); - browser.tabs.remove(tab.id); - } - } - - let { - onCompleted - } = browser.webNavigation; - - let loadSnapshot = sitesUI.snapshot; - let onCompletedListener = navigated => { - if (navigated.tabId === tabId) { - UI.pullSettings(); - } - }; - onCompleted.addListener(onCompletedListener, { - url: [{ - hostContains: sitesUI.mainDomain - }] - }); - addEventListener("unload", e => { - onCompleted.removeListener(onCompletedListener); - debug("pendingReload", pendingReload); - if (pendingReload) { - UI.updateSettings({ - policy: UI.policy, - reloadAffected: true, - }); - } - }, true); - } catch (e) { - error(e, "Can't open popup"); - close(); - } - -})(); +'use strict'; + +var sitesUI; + +addEventListener("unload", e => { + if (!UI.initialized) { + Messages.send("openStandalonePopup"); + } +}); + +(async () => { + + function showMessage(className, message) { + let el = document.getElementById("message"); + el.textContent = message; + el.className = className; + } + + try { + let tabId; + let pendingReload = false; + let isBrowserAction = true; + let optionsClosed = false; + let tab = (await browser.tabs.query({ + windowId: browser.windows ? + (await browser.windows.getLastFocused()).id + : null, + active: true + }))[0]; + + if (!tab || tab.id === -1) { + log("No tab found to open the UI for"); + close(); + } + if (tab.url === document.URL) { + isBrowserAction = false; + try { + tabId = parseInt(document.URL.match(/#.*\btab(\d+)/)[1]); + } catch (e) { + close(); + } + addEventListener("blur", close); + } else { + tabId = tab.id; + } + + await UI.init(tabId); + + if (isBrowserAction) { + browser.tabs.onActivated.addListener(e => { + if (e.tabId !== tabId) close(); + }); + } + + await include("/ui/toolbar.js"); + { + let clickHandlers = { + "options": e => { + browser.runtime.openOptionsPage(); + close(); + }, + "close": close, + "reload": reload, + "temp-trust-page": e => sitesUI.tempTrustAll(), + "revoke-temp": e => { + UI.revokeTemp(); + close(); + } + }; + for (let [id, handler] of Object.entries(clickHandlers)) { + document.getElementById(id).onclick = handler; + } + } + { + let policy = UI.policy; + let pressed = policy.enforced; + let button = document.getElementById("enforce"); + button.setAttribute("aria-pressed", pressed); + button.textContent = button.title = _(pressed ? "NoEnforcement" : "Enforce"); + button.onclick = async () => { + this.disabled = true; + policy.enforced = !pressed; + await UI.updateSettings({policy, reloadAffected: true}); + close(); + } + } + { + let pressed = !UI.unrestrictedTab; + let button = document.getElementById("enforce-tab"); + button.setAttribute("aria-pressed", pressed); + button.textContent = button.title = _(pressed ? "NoEnforcementForTab" : "EnforceForTab"); + if (UI.policy.enforced) { + button.onclick = async () => { + this.disabled = true; + await UI.updateSettings({ + unrestrictedTab: pressed, + reloadAffected: true, + }); + close(); + } + } else { + button.disabled = true; + } + } + + + let mainFrame = UI.seen && UI.seen.find(thing => thing.request.type === "main_frame"); + debug("Seen: %o", UI.seen); + if (!mainFrame) { + let isHttp = /^https?:/.test(tab.url); + try { + await browser.tabs.executeScript(tabId, { code: "" }); + if (isHttp) { + document.body.classList.add("disabled"); + showMessage("warning", _("freshInstallReload")); + let buttons = document.querySelector("#buttons"); + let b = document.createElement("button"); + b.textContent = _("OK"); + b.onclick = document.getElementById("reload").onclick = () => { + reload(); + close(); + } + buttons.appendChild(b); + b = document.createElement("button"); + b.textContent = _("Cancel"); + b.onclick = () => close(); + buttons.appendChild(b); + return; + } + } catch (e) { + error(e, "Could not run scripts on %s: privileged page?", tab.url); + } + + await include("/lib/restricted.js"); + let isRestricted = isRestrictedURL(tab.url); + if (!isHttp || isRestricted) { + showMessage("warning", _("privilegedPage")); + let tempTrust = document.getElementById("temp-trust-page"); + tempTrust.disabled = true; + return; + } + if (!UI.seen) { + if (!isHttp) return; + UI.seen = [ + mainFrame = { + request: { url: tab.url, documentUrl: tab.url, type: "main_frame" } + } + ]; + } + } + + let justDomains = !UI.local.showFullAddresses; + + sitesUI = new UI.Sites(document.getElementById("sites")); + + sitesUI.onChange = (row) => { + pendingReload = !row.temp2perm; + if (optionsClosed) return; + browser.tabs.query({url: browser.runtime.getManifest().options_ui.page }) + .then(tabs => { + browser.tabs.remove(tabs.map(t => t.id)); + }); + optionsClosed = true; + }; + initSitesUI(); + UI.onSettings = initSitesUI; + + + + function initSitesUI() { + pendingReload = false; + let { + typesMap + } = sitesUI; + typesMap.clear(); + let policySites = UI.policy.sites; + let domains = new Map(); + + function urlToLabel(url) { + let origin = Sites.origin(url); + let match = policySites.match(url); + if (match) return match; + if (domains.has(origin)) { + if (justDomains) return domains.get(origin); + } else { + let domain = tld.getDomain(url.hostname); + if (domain) { + domain = url.protocol === "https:" ? Sites.secureDomainKey(domain) : domain; + } else { + domain = url.protocol; + } + domains.set(origin, domain); + if (justDomains) return domain; + } + return origin; + } + let seen = UI.seen; + let parsedSeen = seen.map(thing => Object.assign({ + type: thing.policyType + }, Sites.parse(thing.request.url))) + .filter(parsed => parsed.url && ( + parsed.url.origin !== "null" || parsed.url.protocol === "file:")); + + let sitesSet = new Set( + parsedSeen.map(parsed => parsed.label = urlToLabel(parsed.url)) + ); + if (!justDomains) { + for (let domain of domains.values()) sitesSet.add(domain); + } + let sites = [...sitesSet]; + for (let parsed of parsedSeen) { + sites.filter(s => parsed.label === s || domains.get(Sites.origin(parsed.url)) === s).forEach(m => { + let siteTypes = typesMap.get(m); + if (!siteTypes) typesMap.set(m, siteTypes = new Set()); + siteTypes.add(parsed.type); + }); + } + + sitesUI.mainUrl = new URL(mainFrame.request.url) + sitesUI.mainSite = urlToLabel(sitesUI.mainUrl); + sitesUI.mainDomain = tld.getDomain(sitesUI.mainUrl.hostname); + + sitesUI.render(sites); + } + + function reload() { + if (sitesUI) sitesUI.clear(); + browser.tabs.reload(tabId); + pendingReload = false; + } + + function close() { + if (isBrowserAction) { + window.close(); + } else { + //browser.windows.remove(tab.windowId); + browser.tabs.remove(tab.id); + } + } + + let { + onCompleted + } = browser.webNavigation; + + let loadSnapshot = sitesUI.snapshot; + let onCompletedListener = navigated => { + if (navigated.tabId === tabId) { + UI.pullSettings(); + } + }; + onCompleted.addListener(onCompletedListener, { + url: [{ + hostContains: sitesUI.mainDomain + }] + }); + addEventListener("unload", e => { + onCompleted.removeListener(onCompletedListener); + debug("pendingReload", pendingReload); + if (pendingReload) { + UI.updateSettings({ + policy: UI.policy, + reloadAffected: true, + }); + } + }, true); + } catch (e) { + error(e, "Can't open popup"); + close(); + } + +})(); diff --git a/src/ui/prompt.css b/src/ui/prompt.css index 9406f014..dd84e82a 100644 --- a/src/ui/prompt.css +++ b/src/ui/prompt.css @@ -1,91 +1,91 @@ - -body { - bottom: 8px; - font-family: sans-serif; - font-size: 12px; - color: #222; -} - -#header { - text-align: left; - margin: 0; - line-height: 24px; - color: #048; - position: relative; - font-size: 24px; - z-index: 500; - padding: 8px; - display: block; - background: url(/img/icon96.png) no-repeat top right; - height: 96px; -} - -#title { - margin-right: 96px; - font-size: 24px; - position: absolute; - bottom: 0; - top: 0; -} - -#main { - background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 41%,#9fd8ef 90%,#2ab0ed 100%) no-repeat; - display: flex; - flex-direction: column; - align-items: center; - padding: 120px 16px 16px 16px; - top: 0; - left: 0; - right:0; - bottom: 0; - position: fixed; - justify-content: center; -} -#message { - flex-grow: 1; - width: 100%; - max-height: 300px; - padding: 8px; - text-align: center; - word-break: break-all; -} -#message.multiline { - overflow: auto; - font-size: 12px; - text-align: justify; - margin-bottom: 16px; - background: rgba(255,255,255,.5); -} -#message.multiline p { - margin: 1px; - padding: 0; -} -#options { - display: flex; - flex-grow: 2; - flex-direction: column; - text-align: left; - align-items:baseline; - justify-content: center; -} - - -#checks { - display: flex; - flex-direction: column; - flex-grow: 1; - text-align: left; -} - -#buttons { - width: 100%; - display: flex; - flex-grow: 0; - flex-direction: row; - align-items: center; - margin: 8px; - justify-content: space-around; -} -#buttons button { - min-width: 100px; -} + +body { + bottom: 8px; + font-family: sans-serif; + font-size: 12px; + color: #222; +} + +#header { + text-align: left; + margin: 0; + line-height: 24px; + color: #048; + position: relative; + font-size: 24px; + z-index: 500; + padding: 8px; + display: block; + background: url(/img/icon96.png) no-repeat top right; + height: 96px; +} + +#title { + margin-right: 96px; + font-size: 24px; + position: absolute; + bottom: 0; + top: 0; +} + +#main { + background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 41%,#9fd8ef 90%,#2ab0ed 100%) no-repeat; + display: flex; + flex-direction: column; + align-items: center; + padding: 120px 16px 16px 16px; + top: 0; + left: 0; + right:0; + bottom: 0; + position: fixed; + justify-content: center; +} +#message { + flex-grow: 1; + width: 100%; + max-height: 300px; + padding: 8px; + text-align: center; + word-break: break-all; +} +#message.multiline { + overflow: auto; + font-size: 12px; + text-align: justify; + margin-bottom: 16px; + background: rgba(255,255,255,.5); +} +#message.multiline p { + margin: 1px; + padding: 0; +} +#options { + display: flex; + flex-grow: 2; + flex-direction: column; + text-align: left; + align-items:baseline; + justify-content: center; +} + + +#checks { + display: flex; + flex-direction: column; + flex-grow: 1; + text-align: left; +} + +#buttons { + width: 100%; + display: flex; + flex-grow: 0; + flex-direction: row; + align-items: center; + margin: 8px; + justify-content: space-around; +} +#buttons button { + min-width: 100px; +} diff --git a/src/ui/prompt.html b/src/ui/prompt.html index 902b3758..b9048631 100644 --- a/src/ui/prompt.html +++ b/src/ui/prompt.html @@ -1,32 +1,32 @@ - - - - - - - - - - - - - - -
-
-
-
- -
-
- -
-
- -
-
- - - + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ +
+
+ +
+
+ + + diff --git a/src/ui/prompt.js b/src/ui/prompt.js index f19aac95..8bc80b09 100644 --- a/src/ui/prompt.js +++ b/src/ui/prompt.js @@ -1,91 +1,91 @@ -(async () => { - window.bg = await browser.runtime.getBackgroundPage(); - ["Prompts"] - .forEach(p => window[p] = bg[p]); - let data = Prompts.promptData; - debug(data); - let {title, message, options, checks, buttons} = data.features; - - function labelFor(el, text) { - let label = document.createElement("label"); - label.setAttribute("for", el.id); - label.textContent = text; - return label; - } - - function createInput(container, {label, type, name, checked}, count) { - let input = document.createElement("input"); - input.type = type; - input.value = count; - input.name = name; - input.checked = checked; - input.id = `${name}-${count}`; - let sub = document.createElement("div"); - sub.appendChild(input); - sub.appendChild(labelFor(input, label)); - container.appendChild(sub); - } - - function createButton(container, label, count) { - let button = document.createElement("button"); - if (count === 0) button.type = "submit"; - button.id = `${button}-${count}`; - button.value = count; - button.textContent = label; - container.appendChild(button); - } - - function renderInputs(container, dataset, type, name) { - if (typeof container === "string") { - container = document.querySelector(container); - } - if (typeof dataset === "string") { - container.innerHTML = dataset; - return; - } - container.innerHTML = ""; - let count = 0; - if (dataset && dataset[Symbol.iterator]) { - let create = type === "button" ? createButton : createInput; - for (let data of dataset) { - data.type = type; - data.name = name; - create(container, data, count++); - } - } - } - if (title) { - document.title = title; - document.querySelector("#title").textContent = title; - } - if (message) { - let lines = message.split(/\n/); - let container = document.querySelector("#message"); - container.classList.toggle("multiline", lines.length > 1); - message.innerHTML = ""; - for (let l of lines) { - let p = document.createElement("p"); - p.textContent = l; - container.appendChild(p); - } - } - renderInputs("#options", options, "radio", "opt"); - renderInputs("#checks", checks, "checkbox", "flag"); - renderInputs("#buttons", buttons, "button", "button"); - addEventListener("unload", e => { - data.done(); - }); - - let buttonClicked = e => { - let {result} = data; - result.button = parseInt(e.currentTarget.value); - let option = document.querySelector('#options [type="radio"]:checked'); - result.option = option && parseInt(option.value); - result.checks = [...document.querySelectorAll('#checks [type="checkbox"]:checked')] - .map(c => parseInt(c.value)); - data.done(); - }; - for (let b of document.querySelectorAll("#buttons button")) { - b.addEventListener("click", buttonClicked); - } -})(); +(async () => { + window.bg = await browser.runtime.getBackgroundPage(); + ["Prompts"] + .forEach(p => window[p] = bg[p]); + let data = Prompts.promptData; + debug(data); + let {title, message, options, checks, buttons} = data.features; + + function labelFor(el, text) { + let label = document.createElement("label"); + label.setAttribute("for", el.id); + label.textContent = text; + return label; + } + + function createInput(container, {label, type, name, checked}, count) { + let input = document.createElement("input"); + input.type = type; + input.value = count; + input.name = name; + input.checked = checked; + input.id = `${name}-${count}`; + let sub = document.createElement("div"); + sub.appendChild(input); + sub.appendChild(labelFor(input, label)); + container.appendChild(sub); + } + + function createButton(container, label, count) { + let button = document.createElement("button"); + if (count === 0) button.type = "submit"; + button.id = `${button}-${count}`; + button.value = count; + button.textContent = label; + container.appendChild(button); + } + + function renderInputs(container, dataset, type, name) { + if (typeof container === "string") { + container = document.querySelector(container); + } + if (typeof dataset === "string") { + container.innerHTML = dataset; + return; + } + container.innerHTML = ""; + let count = 0; + if (dataset && dataset[Symbol.iterator]) { + let create = type === "button" ? createButton : createInput; + for (let data of dataset) { + data.type = type; + data.name = name; + create(container, data, count++); + } + } + } + if (title) { + document.title = title; + document.querySelector("#title").textContent = title; + } + if (message) { + let lines = message.split(/\n/); + let container = document.querySelector("#message"); + container.classList.toggle("multiline", lines.length > 1); + message.innerHTML = ""; + for (let l of lines) { + let p = document.createElement("p"); + p.textContent = l; + container.appendChild(p); + } + } + renderInputs("#options", options, "radio", "opt"); + renderInputs("#checks", checks, "checkbox", "flag"); + renderInputs("#buttons", buttons, "button", "button"); + addEventListener("unload", e => { + data.done(); + }); + + let buttonClicked = e => { + let {result} = data; + result.button = parseInt(e.currentTarget.value); + let option = document.querySelector('#options [type="radio"]:checked'); + result.option = option && parseInt(option.value); + result.checks = [...document.querySelectorAll('#checks [type="checkbox"]:checked')] + .map(c => parseInt(c.value)); + data.done(); + }; + for (let b of document.querySelectorAll("#buttons button")) { + b.addEventListener("click", buttonClicked); + } +})(); diff --git a/src/ui/resize_hack.js b/src/ui/resize_hack.js index c981e282..a7a3be09 100644 --- a/src/ui/resize_hack.js +++ b/src/ui/resize_hack.js @@ -1,15 +1,15 @@ -document.addEventListener("DOMContentLoaded", async e => { - // Fix for Fx57 bug where bundled page loaded using - // browser.windows.create won't show contents unless resized. - // See https://bugzilla.mozilla.org/show_bug.cgi?id=1402110 - let win = await browser.windows.getCurrent({populate: true}); - if (win.tabs[0].url === document.URL) { - debug("Resize hack"); - await browser.windows.update(win.id, { - width: win.width + 1 - }); - await browser.windows.update(win.id, { - width: win.width - }); - } -}); +document.addEventListener("DOMContentLoaded", async e => { + // Fix for Fx57 bug where bundled page loaded using + // browser.windows.create won't show contents unless resized. + // See https://bugzilla.mozilla.org/show_bug.cgi?id=1402110 + let win = await browser.windows.getCurrent({populate: true}); + if (win.tabs[0].url === document.URL) { + debug("Resize hack"); + await browser.windows.update(win.id, { + width: win.width + 1 + }); + await browser.windows.update(win.id, { + width: win.width + }); + } +}); diff --git a/src/ui/siteInfo.html b/src/ui/siteInfo.html index 0cb24ec0..dcd2443e 100644 --- a/src/ui/siteInfo.html +++ b/src/ui/siteInfo.html @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/src/ui/siteInfo.js b/src/ui/siteInfo.js index 708c9830..43113700 100644 --- a/src/ui/siteInfo.js +++ b/src/ui/siteInfo.js @@ -1,20 +1,20 @@ -(async () => { - let [domain, tabId] = decodeURIComponent(location.hash.replace("#", "")).split(";"); - const BASE = "https://noscript.net"; - await include(['/lib/punycode.js', '/common/Storage.js']); - let {siteInfoConsent} = await Storage.get("sync", "siteInfoConsent"); - if (!siteInfoConsent) { - await include('/common/locale.js'); - siteInfoConsent = confirm(_("siteInfo_confirm", [domain, BASE])); - if (siteInfoConsent) { - await Storage.set("sync", {siteInfoConsent}); - } else { - let current = await browser.tabs.getCurrent(); - await browser.tabs.update(parseInt(tabId), {active: true}); - await browser.tabs.remove(current.id); - return; - } - } - let ace = punycode.toASCII(domain); - location.href = `${BASE}/about/${domain};${ace}`; -})(); +(async () => { + let [domain, tabId] = decodeURIComponent(location.hash.replace("#", "")).split(";"); + const BASE = "https://noscript.net"; + await include(['/lib/punycode.js', '/common/Storage.js']); + let {siteInfoConsent} = await Storage.get("sync", "siteInfoConsent"); + if (!siteInfoConsent) { + await include('/common/locale.js'); + siteInfoConsent = confirm(_("siteInfo_confirm", [domain, BASE])); + if (siteInfoConsent) { + await Storage.set("sync", {siteInfoConsent}); + } else { + let current = await browser.tabs.getCurrent(); + await browser.tabs.update(parseInt(tabId), {active: true}); + await browser.tabs.remove(current.id); + return; + } + } + let ace = punycode.toASCII(domain); + location.href = `${BASE}/about/${domain};${ace}`; +})(); diff --git a/src/ui/toolbar.js b/src/ui/toolbar.js index d2a2f6e9..2ee1c1ff 100644 --- a/src/ui/toolbar.js +++ b/src/ui/toolbar.js @@ -1,117 +1,117 @@ -{ - let toolbar = document.getElementById("top"); - let spacer = toolbar.querySelector(".spacer"); - let hider = toolbar.querySelector(".hider"); - - if (UI.local.toolbarLayout) { - debug(uneval(UI.local.toolbarLayout)); - let {left, right, hidden} = UI.local.toolbarLayout; - for (let id of left) { - toolbar.insertBefore(document.getElementById(id), hider); - } - for (let id of right) { - toolbar.appendChild(document.getElementById(id)); - } - for (let id of hidden) { - hider.appendChild(document.getElementById(id)); - } - } - - for (let i of toolbar.querySelectorAll(".icon")) { - if (!i.title) i.title = i.textContent; - } - - function toggleHider(b) { - let cl = hider.classList; - cl.toggle("open", b); - cl.toggle("empty", !hider.querySelector(".icon")); - } - hider.querySelector(".hider-close").onclick = e => { - toggleHider(false); - }; - - toggleHider(false); - - let dnd = { - dragstart(ev) { - let d = ev.target; - if (hider.querySelectorAll(".icon").length) { - toggleHider(true); - } - - if (!d.classList.contains("icon")) { - ev.preventDefault(); - return; - } - d.style.opacity = ".5"; - let dt = ev.dataTransfer; - dt.setData("text/plain", d.id); - dt.dropEffect = "move"; - dt.setDragImage(d, 0, 0); - toggleHider(true); - }, - dragend(ev) { - ev.target.style.opacity = ""; - }, - dragover(ev) { - ev.preventDefault(); - }, - dragenter(ev) { - let t = ev.target; - }, - dragleave(ev) { - let t = ev.target; - }, - drop(ev) { - let t = ev.target; - let d = document.getElementById(ev.dataTransfer.getData("text/plain")); - switch(t) { - case hider: - t.appendChild(d); - break; - case toolbar: - t.insertBefore(d, ev.clientX < hider.offsetLeft ? hider : spacer.nextElementSibling); - break; - default: - t.parentNode.insertBefore(d, ev.clientX < (t.offsetLeft + t.offsetWidth) ? t : t.nextElementSibling); - } - - let left = [], right = []; - let side = left; - for (let el of document.querySelectorAll("#top > .icon, #top > .spacer")) { - if (el === spacer) { - side = right; - } else { - side.push(el.id); - } - } - UI.local.toolbarLayout = { - left, right, - hidden: Array.map(document.querySelectorAll("#top > .hider > .icon"), el => el.id), - }; - - debug("%o", UI.local); - UI.updateSettings({local: UI.local}); - }, - - click(ev) { - let el = ev.target; - if (el.parentNode === hider && el.classList.contains("icon")) { - ev.preventDefault(); - ev.stopPropagation(); - } else if (el === spacer || el.classList.contains("reveal")) { - toggleHider(true); - } - } - - }; - - - for (let [action, handler] of Object.entries(dnd)) { - toolbar.addEventListener(action, handler, true); - } - - for (let draggable of document.querySelectorAll("#top .icon")) { - draggable.setAttribute("draggable", "true"); - } -} +{ + let toolbar = document.getElementById("top"); + let spacer = toolbar.querySelector(".spacer"); + let hider = toolbar.querySelector(".hider"); + + if (UI.local.toolbarLayout) { + debug(uneval(UI.local.toolbarLayout)); + let {left, right, hidden} = UI.local.toolbarLayout; + for (let id of left) { + toolbar.insertBefore(document.getElementById(id), hider); + } + for (let id of right) { + toolbar.appendChild(document.getElementById(id)); + } + for (let id of hidden) { + hider.appendChild(document.getElementById(id)); + } + } + + for (let i of toolbar.querySelectorAll(".icon")) { + if (!i.title) i.title = i.textContent; + } + + function toggleHider(b) { + let cl = hider.classList; + cl.toggle("open", b); + cl.toggle("empty", !hider.querySelector(".icon")); + } + hider.querySelector(".hider-close").onclick = e => { + toggleHider(false); + }; + + toggleHider(false); + + let dnd = { + dragstart(ev) { + let d = ev.target; + if (hider.querySelectorAll(".icon").length) { + toggleHider(true); + } + + if (!d.classList.contains("icon")) { + ev.preventDefault(); + return; + } + d.style.opacity = ".5"; + let dt = ev.dataTransfer; + dt.setData("text/plain", d.id); + dt.dropEffect = "move"; + dt.setDragImage(d, 0, 0); + toggleHider(true); + }, + dragend(ev) { + ev.target.style.opacity = ""; + }, + dragover(ev) { + ev.preventDefault(); + }, + dragenter(ev) { + let t = ev.target; + }, + dragleave(ev) { + let t = ev.target; + }, + drop(ev) { + let t = ev.target; + let d = document.getElementById(ev.dataTransfer.getData("text/plain")); + switch(t) { + case hider: + t.appendChild(d); + break; + case toolbar: + t.insertBefore(d, ev.clientX < hider.offsetLeft ? hider : spacer.nextElementSibling); + break; + default: + t.parentNode.insertBefore(d, ev.clientX < (t.offsetLeft + t.offsetWidth) ? t : t.nextElementSibling); + } + + let left = [], right = []; + let side = left; + for (let el of document.querySelectorAll("#top > .icon, #top > .spacer")) { + if (el === spacer) { + side = right; + } else { + side.push(el.id); + } + } + UI.local.toolbarLayout = { + left, right, + hidden: Array.map(document.querySelectorAll("#top > .hider > .icon"), el => el.id), + }; + + debug("%o", UI.local); + UI.updateSettings({local: UI.local}); + }, + + click(ev) { + let el = ev.target; + if (el.parentNode === hider && el.classList.contains("icon")) { + ev.preventDefault(); + ev.stopPropagation(); + } else if (el === spacer || el.classList.contains("reveal")) { + toggleHider(true); + } + } + + }; + + + for (let [action, handler] of Object.entries(dnd)) { + toolbar.addEventListener(action, handler, true); + } + + for (let draggable of document.querySelectorAll("#top .icon")) { + draggable.setAttribute("draggable", "true"); + } +} diff --git a/src/ui/ui-hc.css b/src/ui/ui-hc.css index e1c19443..d82143eb 100644 --- a/src/ui/ui-hc.css +++ b/src/ui/ui-hc.css @@ -1,67 +1,67 @@ -input { - transform: none !important; - width: auto !important; - position: static !important; -} - -input[type="radio"] { - -moz-appearance: radio !important; - padding-right: .2em !important; -} -input[type="checkbox"] { - -moz-appearance: checkbox !important; -} - - -button { - text-indent: 0 !important; -} - -label { - display: initial !important; - position: static !important; - transform: none !important; - opacity: 1 !important; - text-indent: 0 !Important; - position: static; - width: auto !important; - padding: 4px !important; -} - -span.preset { - display: block; - width: auto !important; - white-space: nowrap !important; -} - -input.temp { - position: static !important; - opacity: 1 !important; -} - -.full-address { - font-size: 130%; -} - -tr.site { - border-top: 1px solid #888; -} - -#top { - display:flex; - flex-flow: row; - justify-content: space-around; - -} -#top button { - position: static; - width: auto; -} -#top button.icon { - font-size: 12px !important; - font-family: arial sans-serif !important; -} - -#noscript-popup #high-contrast-chooser { - display: block; -} +input { + transform: none !important; + width: auto !important; + position: static !important; +} + +input[type="radio"] { + -moz-appearance: radio !important; + padding-right: .2em !important; +} +input[type="checkbox"] { + -moz-appearance: checkbox !important; +} + + +button { + text-indent: 0 !important; +} + +label { + display: initial !important; + position: static !important; + transform: none !important; + opacity: 1 !important; + text-indent: 0 !Important; + position: static; + width: auto !important; + padding: 4px !important; +} + +span.preset { + display: block; + width: auto !important; + white-space: nowrap !important; +} + +input.temp { + position: static !important; + opacity: 1 !important; +} + +.full-address { + font-size: 130%; +} + +tr.site { + border-top: 1px solid #888; +} + +#top { + display:flex; + flex-flow: row; + justify-content: space-around; + +} +#top button { + position: static; + width: auto; +} +#top button.icon { + font-size: 12px !important; + font-family: arial sans-serif !important; +} + +#noscript-popup #high-contrast-chooser { + display: block; +} diff --git a/src/ui/ui.css b/src/ui/ui.css index 0d86ddc7..87c1d1fa 100644 --- a/src/ui/ui.css +++ b/src/ui/ui.css @@ -1,415 +1,415 @@ - -body { - font-family: sans-serif; - font: -moz-use-system-font; - font-size: 12px; -} - -.mobile > body { - font-size: 4mm; - min-width: auto; -} - -.mobile .desktop { - display: none !important; -} - - @media (max-width: 100mm) { - body { - background-size: 4em !important; - padding-right: 0 !important; - } - - .presets { - width: 0; - } - - .presets input.preset { - min-width: 0 !important; - background-color: none !important; - margin-bottom: 0; - margin-top: 1mm; - font-weight: bold; - } - .presets input.temp { - position: static; - } - .presets label.preset { - font-size: 50%; - top: -1mm; - left: 0; - margin: 0; - padding: 0; - text-align: center; - text-shadow: 0 0 4px #ff8; - position: absolute; - overflow: visible; - } - - td.presets { - white-space: nowrap !important; - vertical-align: bottom; - } - .url { - white-space: wrap; - word-break: break-all; - font-size: 75%; - letter-spacing: -0.2mm; - - } - - } - -input[type="text"] { - border: 1px solid; -} -input[type="checkbox"] { - width: 1em; - height: 1em; -} - -.presets { - -moz-user-select: none; -} -.sites { - border: 0; - background: white; - border-collapse: collapse; - border-spacing: 0; - width: 100%; - overflow-y: auto; - -} -.sites tr, .sites td { - margin: 0; - padding: 0; - border: none; - font-size: 1em; -} -.sites > tr.site:hover, .sites > tr.sites:active { - background: #abf; -} -.sites > tr:nth-child(even) {background: #fff} -.sites > tr:nth-child(odd) {background: #eee} - -.site .url { - padding: 0 0 0 0.5em; - color: #ccc; - vertical-align: middle; -} -.site .url .protocol { display: none } - -.site .url .domain { cursor: help } - -[data-key="domain"] .full-address .host, -[data-key="domain"] .full-address .sub, -[data-key="domain"] .full-address .protocol, -[data-key="host"] .full-address span .protocol, -[data-key="host"] .full-address span .protocol, { - background-color: #afe; -} -[data-key="host"] .full-address span .protocol, -[data-key="domain"] .full-address span .host, -[data-key="domain"] .full-address span .protocol { - border: none; -} - - -.site .url[data-key="domain"] .domain, -.site .url[data-key="host"] .domain, -.site .url[data-key="host"] .sub, -.site .url[data-key="unsafe"] span { - color: #a00; -} - -.site .url[data-key="secure"] .domain, -.site .url[data-key="secure"] .sub, -.site .url[data-key="full"] span { - color: black; -} - -.site .url[data-key="full"] span, -.site .url[data-key="unsafe"] span { - display: initial; -} - -.site .url .domain { - font-weight: bold; -} - -input.https-only { - font-size: 1em; - -moz-appearance: none; - background: url(/img/ui-http64.png) no-repeat center; - background-size: 1.5em; - width: 1.5em; - height: 1.5em; - margin: 0 0 -0.13em 0.13em; - padding:0; - cursor: pointer; -} -input.https-only:checked { - background-image: url(/img/ui-https64.png); -} -label.https-only { - display: none; -} - -[data-preset="UNTRUSTED"] .https-only, [data-preset="DEFAULT"] .https-only { - visibility: hidden; -} - - -td.presets { - font-size: 1em; - white-space: nowrap; -} - -.mobile td.presets { - white-space: normal; -} - -span.preset { - position: relative; - display: inline-block; - top: 0.13em; - font-size: 1em; -} - -.preset label, .preset input, .preset button { - cursor: pointer; -} - -.presets input.preset { - font-size: 1em; - -moz-appearance: none; - background: url(/img/ui-no64.png) no-repeat center left; - background-size: 1.5em; - width: 1.5em; - height: 1.5em; - outline: 0; - opacity: .5; - margin: 0 .5em 0.13em .5em; -} - -input.preset:active, input.preset:focus, input.preset:hover { - background-color: #ff8; - border-radius: .5em; -} - -#presets-sizer { - visibility: hidden; - position: absolute; - display: block; - width: 5000px; - height: 500px; - top: -5000px; -} - -#presets-sizer span.preset { - display: block; - -} - -.presets input.preset:checked, #presets input.preset, #presets-sizer input.preset { - opacity: 1; - transform: none; - min-width: 9.38em; - background-color: #ddd; - border-radius: 0.5em; -} - -.presets input.preset:focus { - transform: none; -} -.sites input + label { - font-size: 1em; - line-height: 1.5em; - vertical-align: top; -} -.presets label.preset { - padding: 0; - letter-spacing: -0.06em; - width: 0em; - overflow: hidden; - display: none; - text-transform: uppercase; - color: #000; - opacity: .6; - position: absolute; - left: 0em; - padding-left: 2.5em; - -} - -.presets input.preset[value^="T"] + label { - text-transform: none; -} - -.presets input.preset:checked + label, #presets .presets label { - opacity: 1; - width: 80%; - display: inline-flex; -} - -#presets-sizer .presets label { - position: static; - display: block; - width: auto; - overflow: visible; -} - -button.options { - -moz-appearance: none; - border: none; - background: none transparent; - font-family: sans-serif; - font-weight: bold; - color: #048; - text-shadow: -0.06em -0.06em 0.06em #fff, 0.13em 0.13em 0.13em #000; - padding: 0; - margin: 0; -} - -.preset .options { - -moz-appearance: none; - - border: 0; - background: none; - font-size: 1em; - width: 1em; - height: 1em; - - opacity: 0; - position: absolute; - bottom: 0.88em; - left: 1.13em; - - pointer-events: none; - -} - -.preset:hover input.preset:checked ~ .options { - display: block; - opacity: 1; - bottom: 0.38em; - -} -input.preset[value="T_TRUSTED"] { - background-image: url(/img/ui-temp64.png); -} - -input.preset[value="TRUSTED"] { - background-image: url(/img/ui-yes64.png) -} -input.preset[value="UNTRUSTED"] { - background-image: url(/img/ui-black64.png) -} -input.preset[value="CUSTOM"] { - background-image: url(/img/ui-custom64.png) -} - -input.temp { - font-size: 1em; - -moz-appearance: none; - margin: 0; - padding: 0; - border: 0; - opacity: 0; - background: url(/img/ui-clock64.png) no-repeat center; - background-size: 60%; - width: 1.5em; - height: 1.5em; - transition: 0.2s all; - right: 0; - top: 0; - pointer-events: none; - position: absolute; -} - -input.temp + label { - display: none; -} - -input.preset:checked ~ input.temp { - opacity: .5; - right: .5em; - pointer-events: all; -} -.presets input.preset:checked ~ input.temp:checked { - opacity: 1 !important; - background-size: 100%; - -} - -.customizing input.preset:checked, #presets input.preset:checked, .customizer fieldset { - background-color: #ffb !important; - border-radius: 0.5em 0.5em 0 0; - margin: 0 0.06em 0.06em 0.06em; -} -.customizing input.preset:checked, #presets input.preset, #presets input.preset:checked { - margin: 0 1em -0.2em 1em; - border-radius: 0.5em 0.5em 0 0; -} - -.customizing input.preset:checked + label.preset { - padding-left: 3em; -} - -.customizing, .customizer { - background-color: #cca !important; -} - -.customizer div { - transition: 0.2s height; - padding: 0; - margin: 0; -} - -span.cap { - white-space: nowrap; - display: inline-flex; -} - -.customizer.closed .customizer-controls { - height: 0; - overflow: hidden; -} - -span.cap { - padding: 0.5em; - font-weight: normal; -} - -span.cap.needed { - font-weight: bold; - background-color: #c88; -} - -fieldset { - border: 0; - padding: 1.5em 0.5em 0.5em 0.5em; - margin: 0; - position: relative; -} - -legend { - font-weight: bold; - display: inline; - position: absolute; - top: 0.25em; - left: 1em; - white-space: nowrap; -} -.customizer legend { - font-weight: bold; - font-size: 0.75em; -} - -#presets .https-only { - display: none; -} - -#high-contrast-chooser { - display: none; -} + +body { + font-family: sans-serif; + font: -moz-use-system-font; + font-size: 12px; +} + +.mobile > body { + font-size: 4mm; + min-width: auto; +} + +.mobile .desktop { + display: none !important; +} + + @media (max-width: 100mm) { + body { + background-size: 4em !important; + padding-right: 0 !important; + } + + .presets { + width: 0; + } + + .presets input.preset { + min-width: 0 !important; + background-color: none !important; + margin-bottom: 0; + margin-top: 1mm; + font-weight: bold; + } + .presets input.temp { + position: static; + } + .presets label.preset { + font-size: 50%; + top: -1mm; + left: 0; + margin: 0; + padding: 0; + text-align: center; + text-shadow: 0 0 4px #ff8; + position: absolute; + overflow: visible; + } + + td.presets { + white-space: nowrap !important; + vertical-align: bottom; + } + .url { + white-space: wrap; + word-break: break-all; + font-size: 75%; + letter-spacing: -0.2mm; + + } + + } + +input[type="text"] { + border: 1px solid; +} +input[type="checkbox"] { + width: 1em; + height: 1em; +} + +.presets { + -moz-user-select: none; +} +.sites { + border: 0; + background: white; + border-collapse: collapse; + border-spacing: 0; + width: 100%; + overflow-y: auto; + +} +.sites tr, .sites td { + margin: 0; + padding: 0; + border: none; + font-size: 1em; +} +.sites > tr.site:hover, .sites > tr.sites:active { + background: #abf; +} +.sites > tr:nth-child(even) {background: #fff} +.sites > tr:nth-child(odd) {background: #eee} + +.site .url { + padding: 0 0 0 0.5em; + color: #ccc; + vertical-align: middle; +} +.site .url .protocol { display: none } + +.site .url .domain { cursor: help } + +[data-key="domain"] .full-address .host, +[data-key="domain"] .full-address .sub, +[data-key="domain"] .full-address .protocol, +[data-key="host"] .full-address span .protocol, +[data-key="host"] .full-address span .protocol, { + background-color: #afe; +} +[data-key="host"] .full-address span .protocol, +[data-key="domain"] .full-address span .host, +[data-key="domain"] .full-address span .protocol { + border: none; +} + + +.site .url[data-key="domain"] .domain, +.site .url[data-key="host"] .domain, +.site .url[data-key="host"] .sub, +.site .url[data-key="unsafe"] span { + color: #a00; +} + +.site .url[data-key="secure"] .domain, +.site .url[data-key="secure"] .sub, +.site .url[data-key="full"] span { + color: black; +} + +.site .url[data-key="full"] span, +.site .url[data-key="unsafe"] span { + display: initial; +} + +.site .url .domain { + font-weight: bold; +} + +input.https-only { + font-size: 1em; + -moz-appearance: none; + background: url(/img/ui-http64.png) no-repeat center; + background-size: 1.5em; + width: 1.5em; + height: 1.5em; + margin: 0 0 -0.13em 0.13em; + padding:0; + cursor: pointer; +} +input.https-only:checked { + background-image: url(/img/ui-https64.png); +} +label.https-only { + display: none; +} + +[data-preset="UNTRUSTED"] .https-only, [data-preset="DEFAULT"] .https-only { + visibility: hidden; +} + + +td.presets { + font-size: 1em; + white-space: nowrap; +} + +.mobile td.presets { + white-space: normal; +} + +span.preset { + position: relative; + display: inline-block; + top: 0.13em; + font-size: 1em; +} + +.preset label, .preset input, .preset button { + cursor: pointer; +} + +.presets input.preset { + font-size: 1em; + -moz-appearance: none; + background: url(/img/ui-no64.png) no-repeat center left; + background-size: 1.5em; + width: 1.5em; + height: 1.5em; + outline: 0; + opacity: .5; + margin: 0 .5em 0.13em .5em; +} + +input.preset:active, input.preset:focus, input.preset:hover { + background-color: #ff8; + border-radius: .5em; +} + +#presets-sizer { + visibility: hidden; + position: absolute; + display: block; + width: 5000px; + height: 500px; + top: -5000px; +} + +#presets-sizer span.preset { + display: block; + +} + +.presets input.preset:checked, #presets input.preset, #presets-sizer input.preset { + opacity: 1; + transform: none; + min-width: 9.38em; + background-color: #ddd; + border-radius: 0.5em; +} + +.presets input.preset:focus { + transform: none; +} +.sites input + label { + font-size: 1em; + line-height: 1.5em; + vertical-align: top; +} +.presets label.preset { + padding: 0; + letter-spacing: -0.06em; + width: 0em; + overflow: hidden; + display: none; + text-transform: uppercase; + color: #000; + opacity: .6; + position: absolute; + left: 0em; + padding-left: 2.5em; + +} + +.presets input.preset[value^="T"] + label { + text-transform: none; +} + +.presets input.preset:checked + label, #presets .presets label { + opacity: 1; + width: 80%; + display: inline-flex; +} + +#presets-sizer .presets label { + position: static; + display: block; + width: auto; + overflow: visible; +} + +button.options { + -moz-appearance: none; + border: none; + background: none transparent; + font-family: sans-serif; + font-weight: bold; + color: #048; + text-shadow: -0.06em -0.06em 0.06em #fff, 0.13em 0.13em 0.13em #000; + padding: 0; + margin: 0; +} + +.preset .options { + -moz-appearance: none; + + border: 0; + background: none; + font-size: 1em; + width: 1em; + height: 1em; + + opacity: 0; + position: absolute; + bottom: 0.88em; + left: 1.13em; + + pointer-events: none; + +} + +.preset:hover input.preset:checked ~ .options { + display: block; + opacity: 1; + bottom: 0.38em; + +} +input.preset[value="T_TRUSTED"] { + background-image: url(/img/ui-temp64.png); +} + +input.preset[value="TRUSTED"] { + background-image: url(/img/ui-yes64.png) +} +input.preset[value="UNTRUSTED"] { + background-image: url(/img/ui-black64.png) +} +input.preset[value="CUSTOM"] { + background-image: url(/img/ui-custom64.png) +} + +input.temp { + font-size: 1em; + -moz-appearance: none; + margin: 0; + padding: 0; + border: 0; + opacity: 0; + background: url(/img/ui-clock64.png) no-repeat center; + background-size: 60%; + width: 1.5em; + height: 1.5em; + transition: 0.2s all; + right: 0; + top: 0; + pointer-events: none; + position: absolute; +} + +input.temp + label { + display: none; +} + +input.preset:checked ~ input.temp { + opacity: .5; + right: .5em; + pointer-events: all; +} +.presets input.preset:checked ~ input.temp:checked { + opacity: 1 !important; + background-size: 100%; + +} + +.customizing input.preset:checked, #presets input.preset:checked, .customizer fieldset { + background-color: #ffb !important; + border-radius: 0.5em 0.5em 0 0; + margin: 0 0.06em 0.06em 0.06em; +} +.customizing input.preset:checked, #presets input.preset, #presets input.preset:checked { + margin: 0 1em -0.2em 1em; + border-radius: 0.5em 0.5em 0.5em 0.5em; +} + +.customizing input.preset:checked + label.preset { + padding-left: 3em; +} + +.customizing, .customizer { + background-color: rgb(243, 243, 243) !important; +} + +.customizer div { + transition: 0.2s height; + padding: 0; + margin: 0; +} + +span.cap { + white-space: nowrap; + display: inline-flex; +} + +.customizer.closed .customizer-controls { + height: 0; + overflow: hidden; +} + +span.cap { + padding: 0.5em; + font-weight: normal; +} + +span.cap.needed { + font-weight: bold; + background-color: #c88; +} + +fieldset { + border: 0; + padding: 1.5em 0.5em 0.5em 0.5em; + margin: 0; + position: relative; +} + +legend { + font-weight: bold; + display: inline; + position: absolute; + top: 0.25em; + left: 1em; + white-space: nowrap; +} +.customizer legend { + font-weight: bold; + font-size: 0.75em; +} + +#presets .https-only { + display: none; +} + +#high-contrast-chooser { + display: none; +} diff --git a/src/ui/ui.js b/src/ui/ui.js index 4a9c7c82..f416fba5 100644 --- a/src/ui/ui.js +++ b/src/ui/ui.js @@ -1,759 +1,759 @@ -'use strict'; -var UI = (() => { - - var UI = { - initialized: false, - - presets: { - "DEFAULT": "Default", - "T_TRUSTED": "Trusted_temporary", - "TRUSTED": "Trusted_permanent", - "UNTRUSTED": "Untrusted", - "CUSTOM": "Custom", - }, - - async init(tabId = -1) { - UI.tabId = tabId; - let scripts = [ - "/ui/ui.css", - "/lib/Messages.js", - "/lib/punycode.js", - "/lib/tld.js", - "/common/Policy.js", - ]; - this.mobile = !("windows" in browser); - if (this.mobile) { - document.documentElement.classList.toggle("mobile", true); - scripts.push("/lib/fastclick.js"); - } - await include(scripts); - - let inited = new Promise(resolve => { - Messages.addHandler({ - async settings(m) { - UI.policy = new Policy(m.policy); - UI.snapshot = UI.policy.snapshot; - UI.seen = m.seen; - UI.unrestrictedTab = m.unrestrictedTab; - UI.xssUserChoices = m.xssUserChoices; - UI.local = m.local; - UI.sync = m.sync; - if (UI.local && !UI.local.debug) { - debug = () => {}; // be quiet! - } - resolve(); - if (UI.onSettings) UI.onSettings(); - await HighContrast.init(); - } - }); - - if (this.mobile) FastClick.attach(document.body); - UI.pullSettings(); - }); - - await inited; - - this.initialized = true; - debug("Imported", Policy); - }, - async pullSettings() { - Messages.send("broadcastSettings", {tabId: UI.tabId}); - }, - async updateSettings({policy, xssUserChoices, unrestrictedTab, local, sync, reloadAffected}) { - if (policy) policy = policy.dry(true); - return await Messages.send("updateSettings", { - policy, - xssUserChoices, - unrestrictedTab, - local, - sync, - reloadAffected, - tabId: UI.tabId, - }); - }, - - async exportSettings() { - return await Messages.send("exportSettings"); - }, - async importSettings(data) { - return await Messages.send("importSettings", {data}); - }, - - async revokeTemp() { - let policy = this.policy; - Policy.hydrate(policy.dry(), policy); - if (this.isDirty(true)) { - await this.updateSettings({policy, reloadAffected: true}); - } - }, - - isDirty(reset = false) { - let currentSnapshot = this.policy.snapshot; - let dirty = currentSnapshot != this.snapshot; - if (reset) this.snapshot = currentSnapshot; - return dirty; - }, - - async openSiteInfo(domain) { - let url = `/ui/siteInfo.html#${encodeURIComponent(domain)};${UI.tabId}`; - browser.tabs.create({url}); - }, - - wireOption(name, storage = "sync", onchange) { - let input = document.querySelector(`#opt-${name}`); - if (!input) { - debug("Checkbox not found %s", name); - return; - } - if (typeof storage === "function") { - input.onchange = e => storage(input); - input.checked = storage(null); - } else { - let obj = UI[storage]; - if (!obj) log(storage); - input.checked = obj[name]; - if (onchange) onchange(input.checked); - input.onchange = async () => { - obj[name] = input.checked; - await UI.updateSettings({[storage]: obj}); - if (onchange) onchange(obj[name]); - } - } - return input; - } - }; - - var HighContrast = { - css: null, - async init() { - this.widget = UI.wireOption("highContrast", "local", value => { - UI.highContrast = value; - this.toggle(); - }); - await this.toggle(); - }, - async toggle() { - let hc = "highContrast" in UI ? UI.highContrast : await this.detect(); - if (hc) { - if (this.css) { - document.documentElement.appendChild(this.css); - } else { - this.css = await include("/ui/ui-hc.css") - } - } else if (this.css) { - this.css.remove(); - } - document.documentElement.classList.toggle("hc", hc); - if (this.widget) { - this.widget.checked = hc; - } - }, - - detect() { - if ("highContrast" in UI.local) { - UI.highContrast = UI.local.highContrast; - } else { - // auto-detect - let canary = document.createElement("input"); - canary.className="https-only"; - canary.style.display = "none"; - document.body.appendChild(canary); - UI.highContrast = window.getComputedStyle(canary).backgroundImage === "none"; - canary.parentNode.removeChild(canary); - } - return UI.highContrast; - } - }; - - function fireOnChange(sitesUI, data) { - if (UI.isDirty(true)) { - UI.updateSettings({policy: UI.policy}); - if (sitesUI.onChange) sitesUI.onChange(data, this); - } - } - - function compareBy(prop, a, b) { - let x = a[prop], y = b[prop]; - return x > y ? 1 : x < y ? -1 : 0; - } - - const TEMPLATE = ` - - - - - - - - - - - - - -
- - - - - - - - https://www.noscript.net - -
-
-
- - - - -
-
-
- `; - - const TEMP_PRESETS = ["CUSTOM"]; - const DEF_PRESETS = { - // name: customizable, - "DEFAULT": false, - "T_TRUSTED": false, - "TRUSTED": false, - "UNTRUSTED": false, - "CUSTOM": true, - }; - - UI.Sites = class { - constructor(parentNode, presets = DEF_PRESETS) { - this.parentNode = parentNode; - let policy = UI.policy; - this.uiCount = UI.Sites.count = (UI.Sites.count || 0) + 1; - this.sites = policy.sites; - this.presets = presets; - this.customizing = null; - this.typesMap = new Map(); - this.clear(); - } - - initRow(table = this.table) { - let row = table.querySelector("tr.site"); - // PRESETS - { - let presets = row.querySelector(".presets"); - let [span, input, label, options] = presets.querySelectorAll("span.preset, input.preset, label.preset, .options"); - span.remove(); - options.title = _("Options"); - for (let [preset, customizable] of Object.entries(this.presets)) { - let messageKey = UI.presets[preset]; - input.value = preset; - label.textContent = label.title = input.title = _(messageKey); - let clone = span.cloneNode(true); - clone.classList.add(preset); - let temp = clone.querySelector(".temp"); - if (TEMP_PRESETS.includes(preset)) { - temp.title = _("allowTemp", `(${label.title.toUpperCase()})`); - temp.nextElementSibling.textContent = _("allowTemp", ""); // label; - } else { - temp.nextElementSibling.remove(); - temp.remove(); - } - if (customizable) { - clone.querySelector(".options").remove(); - } - presets.appendChild(clone); - - } - - if (!UI.mobile) { - UI.Sites.correctSize(presets); - } - - } - - // URL - { - let [input, label] = row.querySelectorAll("input.https-only, label.https-only"); - input.title = label.title = label.textContent = _("httpsOnly"); - } - - // CUSTOMIZER ROW - { - let [customizer, legend, cap, capInput, capLabel] = table.querySelectorAll(".customizer, legend, span.cap, input.cap, label.cap"); - row._customizer = customizer; - customizer.remove(); - let capParent = cap.parentNode; - capParent.removeChild(cap); - legend.textContent = _("allow"); - let idSuffix = UI.Sites.count; - for (let capability of Permissions.ALL) { - capInput.id = `capability-${capability}-${idSuffix}` - capLabel.setAttribute("for", capInput.id); - capInput.value = capability; - capInput.title = capLabel.textContent = _(`cap_${capability}`); - let clone = capParent.appendChild(cap.cloneNode(true)); - clone.classList.add(capability); - } - } - - // debug(table.outerHTML); - return row; - } - - static correctSize(presets) { - // adapt button to label if needed - let sizer = document.createElement("div"); - sizer.id = "presets-sizer"; - sizer.appendChild(presets.cloneNode(true)); - document.body.appendChild(sizer); - setTimeout(async () => { - let presetWidth = sizer.querySelector("input.preset").offsetWidth; - let labelWidth = 0; - for (let l of sizer.querySelectorAll("label.preset")) { - let lw = l.offsetWidth; - debug("lw", l.textContent, lw); - if (lw > labelWidth) labelWidth = lw; - } - - debug(`Preset: %s Label: %s`, presetWidth, labelWidth); - labelWidth += 16; - if (presetWidth < labelWidth) { - for (let ss of document.styleSheets) { - if (ss.href.endsWith("/ui.css")) { - for (let r of ss.cssRules) { - if (/input\.preset:checked.*min-width:/.test(r.cssText)) { - r.style.minWidth = (labelWidth) + "px"; - break; - } - } - } - } - } - - sizer.remove(); - - }, 100); - UI.Sites.correctSize = () => {}; // just once, please! - } - - allSiteRows() { - return this.table.querySelectorAll("tr.site"); - } - clear() { - debug("Clearing list", this.table); - - this.template = document.createElement("template"); - this.template.innerHTML = TEMPLATE; - this.fragment = this.template.content; - this.table = this.fragment.querySelector("table.sites"); - this.rowTemplate = this.initRow(); - - for (let r of this.allSiteRows()) { - r.parentNode.removeChild(r); - } - this.customize(null); - this.sitesCount = 0; - } - - siteNeeds(site, type) { - let siteTypes = this.typesMap && this.typesMap.get(site); - return !!siteTypes && siteTypes.has(type); - } - - handleEvent(ev) { - let target = ev.target; - let customizer = target.closest(".customizer"); - let row = customizer ? customizer.parentNode.querySelector("tr.customizing") : target.closest("tr.site"); - if (!row) return; - row.temp2perm = false; - let isTemp = target.matches("input.temp"); - let preset = target.matches("input.preset") ? target - : customizer || isTemp ? row.querySelector("input.preset:checked") - : target.closest("input.preset"); - debug("%s target %o\n\trow %s, perms %o\npreset %s %s", - ev.type, - target, row && row.siteMatch, row && row.perms, - preset && preset.value, preset && preset.checked); - - if (!preset) { - if (target.matches("input.https-only") && ev.type === "change") { - this.toggleSecure(row, target.checked); - fireOnChange(this, row); - } else if (target.matches(".domain")) { - UI.openSiteInfo(row.domain); - } - return; - } - - let policy = UI.policy; - let {siteMatch, contextMatch, perms} = row; - let presetValue = preset.value; - let policyPreset = presetValue.startsWith("T_") ? policy[presetValue.substring(2)].tempTwin : policy[presetValue]; - - if (policyPreset) { - if (row.perms !== policyPreset) { - row.temp2perm = row.perms && policyPreset.tempTwin === row.perms; - row.perms = policyPreset; - } - } - - - let isCap = customizer && target.matches(".cap"); - let tempToggle = preset.parentNode.querySelector("input.temp"); - - if (ev.type === "change") { - if (preset.checked) { - row.dataset.preset = preset.value; - } - if (isCap) { - perms.set(target.value, target.checked); - } else if (policyPreset) { - if (tempToggle && tempToggle.checked) { - policyPreset = policyPreset.tempTwin; - } - row.contextMatch = null; - row.perms = policyPreset; - delete row._customPerms; - debug("Site match", siteMatch); - if (siteMatch) { - policy.set(siteMatch, policyPreset); - } else { - this.customize(policyPreset, preset, row); - } - - } else if (preset.value === "CUSTOM") { - if (isTemp) { - row.perms.temp = target.checked; - } else { - let temp = row.perms.temp; - tempToggle.checked = temp; - let perms = row._customPerms || - (row._customPerms = new Permissions(new Set(row.perms.capabilities), temp)); - row.perms = perms; - policy.set(siteMatch, perms); - this.customize(perms, preset, row); - } - } - fireOnChange(this, row); - } else if (!(isCap || isTemp) && ev.type === "click") { - this.customize(row.perms, preset, row); - } - } - - customize(perms, preset, row) { - debug("Customize preset %s (%o) - Dirty: %s", preset && preset.value, perms, this.dirty); - for(let r of this.table.querySelectorAll("tr.customizing")) { - r.classList.toggle("customizing", false); - } - let customizer = this.rowTemplate._customizer; - customizer.classList.toggle("closed", true); - - if (!(perms && row && preset && - row.dataset.preset === preset.value && - this.presets[preset.value] && - preset !== customizer._preset)) { - delete customizer._preset; - return; - } - - customizer._preset = preset; - row.classList.toggle("customizing", true); - let immutable = Permissions.IMMUTABLE[preset.value] || {}; - for (let input of customizer.querySelectorAll("input")) { - let type = input.value; - if (type in immutable) { - input.disabled = true; - input.checked = immutable[type]; - } else { - input.checked = perms.allowing(type); - input.disabled = false; - } - input.parentNode.classList.toggle("needed", this.siteNeeds(row._site, type)); - row.parentNode.insertBefore(customizer, row.nextElementSibling); - customizer.classList.toggle("closed", false); - customizer.onkeydown = e => { - switch(e.keyCode) { - case 38: - case 8: - e.preventDefault(); - this.onkeydown = null; - this.customize(null); - preset.focus(); - return false; - } - } - window.setTimeout(() => customizer.querySelector("input").focus(), 50); - } - } - - render(sites = this.sites, sorter = this.sorter) { - let parentNode = this.parentNode; - debug("Rendering %o inside %o", sites, parentNode); - if (sites) this._populate(sites, sorter); - parentNode.innerHTML = ""; - parentNode.appendChild(this.fragment); - let root = parentNode.querySelector("table.sites"); - debug("Wiring", root); - if (!root.wiredBy) { - root.addEventListener("click", this, true); - root.addEventListener("change", this, true); - root.wiredBy = this; - } - return root; - } - - _populate(sites, sorter) { - this.clear(); - if (sites instanceof Sites) { - for (let [site, perms] of sites) { - this.append(site, site, perms); - } - } else { - for (let site of sites) { - let context = null; - if (site.site) { - site = site.site; - context = site.context; - } - let {siteMatch, perms, contextMatch} = UI.policy.get(site, context); - this.append(site, siteMatch, perms, contextMatch); - } - this.sites = sites; - } - this.sort(sorter); - window.setTimeout(() => this.focus(), 50); - } - - focus() { - let firstPreset = this.table.querySelector("input.preset:checked"); - if (firstPreset) firstPreset.focus(); - } - - sort(sorter = this.sorter) { - if (this.mainDomain) { - let md = this.mainDomain; - let wrappedCompare = sorter; - sorter = (a, b) => { - let x = a.domain, y = b.domain; - if (x === md) { - if (y !== md) { - return -1; - } - } else if (y === md) { - return 1; - } - return wrappedCompare(a, b); - } - } - let rows = [...this.allSiteRows()].sort(sorter); - if (this.mainSite) { - let mainLabel = "." + this.mainDomain; - let topIdx = rows.findIndex(r => r._label === mainLabel); - if (topIdx === -1) rows.findIndex(r => r._site === this.mainSite); - if (topIdx !== -1) { - // move the row to the top - let topRow = rows.splice(topIdx, 1)[0]; - rows.unshift(topRow); - topRow.classList.toggle("main", true); - } - } - this.clear(); - for (let row of rows) this.table.appendChild(row); - this.table.appendChild(this.rowTemplate._customizer); - } - - sorter(a, b) { - return compareBy("domain", a, b) || compareBy("_label", a, b); - } - - async tempTrustAll() { - let {policy} = UI; - let changed = 0; - for (let row of this.allSiteRows()) { - if (row._preset === "DEFAULT") { - policy.set(row._site, policy.TRUSTED.tempTwin); - changed++; - } - } - if (changed && UI.isDirty(true)) { - await UI.updateSettings({policy, reloadAffected: true}); - } - return changed; - } - - createSiteRow(site, siteMatch, perms, contextMatch = null, sitesCount = this.sitesCount++) { - debug("Creating row for site: %s, matching %s / %s, %o", site, siteMatch, contextMatch, perms); - - let row = this.rowTemplate.cloneNode(true); - row.sitesCount = sitesCount; - let url; - try { - url = new URL(site); - } catch (e) { - if (/^(\w+:)\/*$/.test(site)) { - url = {protocol: RegExp.$1, hostname: "", origin: site, pathname:""}; - let hostname = Sites.toExternal(url.hostname); - debug("Lonely %o", url, Sites.isSecureDomainKey(siteMatch) || !hostname && url.protocol === "https:"); - } else { - let protocol = Sites.isSecureDomainKey(site) ? "https:" : "http:"; - let hostname = Sites.toggleSecureDomainKey(site, false); - url = {protocol, hostname, origin: `${protocol}://${site}`, pathname: "/"}; - } - } - - let hostname = Sites.toExternal(url.hostname); - let domain = tld.getDomain(hostname); - - if (!siteMatch) { - siteMatch = site; - } - let secure = Sites.isSecureDomainKey(siteMatch); - let keyStyle = secure ? "secure" - : !domain || /^\w+:/.test(siteMatch) ? - (url.protocol === "https:" ? "full" : "unsafe") - : domain === hostname ? "domain" : "host"; - - let urlContainer = row.querySelector(".url"); - urlContainer.dataset.key = keyStyle; - row._site = site; - - row.siteMatch = siteMatch; - row.contextMatch = contextMatch; - row.perms = perms; - row.domain = domain || siteMatch; - if (domain) { // "normal" URL - let justDomain = hostname === domain; - let domainEntry = secure || domain === site; - row._label = domainEntry ? "." + domain : site; - row.querySelector(".protocol").textContent = `${url.protocol}//`; - row.querySelector(".sub").textContent = justDomain ? - (keyStyle === "full" || keyStyle == "unsafe" - ? "" : "…") - : hostname.substring(0, hostname.length - domain.length); - - row.querySelector(".domain").textContent = domain; - row.querySelector(".path").textContent = siteMatch.length > url.origin.length ? url.pathname : ""; - } else { - row._label = siteMatch; - urlContainer.querySelector(".full-address").textContent = siteMatch; - } - let httpsOnly = row.querySelector("input.https-only"); - httpsOnly.checked = keyStyle === "full" || keyStyle === "secure"; - - let presets = row.querySelectorAll("input.preset"); - let idSuffix = `-${this.uiCount}-${sitesCount}`; - for (let p of presets) { - p.id = `${p.value}${idSuffix}`; - p.name = `preset${idSuffix}`; - let label = p.nextElementSibling; - label.setAttribute("for", p.id); - let temp = p.parentNode.querySelector("input.temp"); - if (temp) { - temp.id = `temp-${p.id}`; - label = temp.nextElementSibling; - label.setAttribute("for", temp.id); - } - } - let policy = UI.policy; - - let presetName = "CUSTOM"; - for (let p of ["TRUSTED", "UNTRUSTED", "DEFAULT"]) { - let preset = policy[p]; - switch (perms) { - case preset: - presetName = p; - break; - case preset.tempTwin: - presetName = `T_${p}`; - if (!presetName in UI.presets) { - presetName = p; - } - break; - } - } - let tempFirst = true; // TODO: make it a preference - let unsafeMatch = keyStyle !== "secure" && keyStyle !== "full"; - if (presetName === "DEFAULT" && (tempFirst || unsafeMatch)) { - // prioritize temporary privileges over permanent - for (let p of TEMP_PRESETS) { - if (p in this.presets && (unsafeMatch || tempFirst && p === "TRUSTED")) { - row.querySelector(`.presets input[value="${p}"]`).parentNode.querySelector("input.temp").checked = true; - perms = policy.TRUSTED.tempTwin; - } - } - } - let preset = row.querySelector(`.presets input[value="${presetName}"]`); - if (!preset) { - debug(`Preset %s not found in %s!`, presetName, row.innerHTML); - } else { - preset.checked = true; - row.dataset.preset = row._preset = presetName; - if (TEMP_PRESETS.includes(presetName)) { - let temp = preset.parentNode.querySelector("input.temp"); - if (temp) { - temp.checked = perms.temp; - } - } - } - return row; - } - - append(site, siteMatch, perms, contextMatch) { - this.table.appendChild(this.createSiteRow(...arguments)); - } - - toggleSecure(row, secure = !!row.querySelector("https-only:checked")) { - this.customize(null); - let site = row.siteMatch; - site = site.replace(/^https?:/, secure ? "https:" : "http:"); - if (site === row.siteMatch) { - site = Sites.toggleSecureDomainKey(site, secure); - } - if (site !== row.siteMatch) { - let {policy} = UI; - policy.set(row.siteMatch, policy.DEFAULT); - policy.set(site, row.perms); - for(let r of this.allSiteRows()) { - if (r !== row && r.siteMatch === site && r.contextMatch === row.contextMatch) { - r.parentNode.removeChild(r); - } - } - let newRow = this.createSiteRow(site, site, row.perms, row.contextMatch, row.sitesCount); - row.parentNode.replaceChild(newRow, row); - } - } - - highlight(key) { - key = Sites.toExternal(key); - for (let r of this.allSiteRows()) { - if (r.querySelector(".full-address").textContent.trim().includes(key)) { - let url = r.lastElementChild; - url.style.transition = r.style.transition = "none"; - r.style.backgroundColor = "#850"; - url.style.transform = "scale(2)"; - r.querySelector("input.preset:checked").focus(); - window.setTimeout(() => { - r.style.transition = "1s background-color"; - url.style.transition = "1s transform"; - r.style.backgroundColor = ""; - url.style.transform = "none"; - r.scrollIntoView(); - }, 50); - } - } - } - - filterSites(key) { - key = Sites.toExternal(key); - for (let r of this.allSiteRows()) { - if (r.querySelector(".full-address").textContent.trim().includes(key)) { - r.style.display = ""; - } else { - r.style.display = "none"; - } - } - } - } - - return UI; -})(); +'use strict'; +var UI = (() => { + + var UI = { + initialized: false, + + presets: { + "DEFAULT": "Default", + "T_TRUSTED": "Trusted_temporary", + "TRUSTED": "Trusted_permanent", + "UNTRUSTED": "Untrusted", + "CUSTOM": "Custom", + }, + + async init(tabId = -1) { + UI.tabId = tabId; + let scripts = [ + "/ui/ui.css", + "/lib/Messages.js", + "/lib/punycode.js", + "/lib/tld.js", + "/common/Policy.js", + ]; + this.mobile = !("windows" in browser); + if (this.mobile) { + document.documentElement.classList.toggle("mobile", true); + scripts.push("/lib/fastclick.js"); + } + await include(scripts); + + let inited = new Promise(resolve => { + Messages.addHandler({ + async settings(m) { + UI.policy = new Policy(m.policy); + UI.snapshot = UI.policy.snapshot; + UI.seen = m.seen; + UI.unrestrictedTab = m.unrestrictedTab; + UI.xssUserChoices = m.xssUserChoices; + UI.local = m.local; + UI.sync = m.sync; + if (UI.local && !UI.local.debug) { + debug = () => {}; // be quiet! + } + resolve(); + if (UI.onSettings) UI.onSettings(); + await HighContrast.init(); + } + }); + + if (this.mobile) FastClick.attach(document.body); + UI.pullSettings(); + }); + + await inited; + + this.initialized = true; + debug("Imported", Policy); + }, + async pullSettings() { + Messages.send("broadcastSettings", {tabId: UI.tabId}); + }, + async updateSettings({policy, xssUserChoices, unrestrictedTab, local, sync, reloadAffected}) { + if (policy) policy = policy.dry(true); + return await Messages.send("updateSettings", { + policy, + xssUserChoices, + unrestrictedTab, + local, + sync, + reloadAffected, + tabId: UI.tabId, + }); + }, + + async exportSettings() { + return await Messages.send("exportSettings"); + }, + async importSettings(data) { + return await Messages.send("importSettings", {data}); + }, + + async revokeTemp() { + let policy = this.policy; + Policy.hydrate(policy.dry(), policy); + if (this.isDirty(true)) { + await this.updateSettings({policy, reloadAffected: true}); + } + }, + + isDirty(reset = false) { + let currentSnapshot = this.policy.snapshot; + let dirty = currentSnapshot != this.snapshot; + if (reset) this.snapshot = currentSnapshot; + return dirty; + }, + + async openSiteInfo(domain) { + let url = `/ui/siteInfo.html#${encodeURIComponent(domain)};${UI.tabId}`; + browser.tabs.create({url}); + }, + + wireOption(name, storage = "sync", onchange) { + let input = document.querySelector(`#opt-${name}`); + if (!input) { + debug("Checkbox not found %s", name); + return; + } + if (typeof storage === "function") { + input.onchange = e => storage(input); + input.checked = storage(null); + } else { + let obj = UI[storage]; + if (!obj) log(storage); + input.checked = obj[name]; + if (onchange) onchange(input.checked); + input.onchange = async () => { + obj[name] = input.checked; + await UI.updateSettings({[storage]: obj}); + if (onchange) onchange(obj[name]); + } + } + return input; + } + }; + + var HighContrast = { + css: null, + async init() { + this.widget = UI.wireOption("highContrast", "local", value => { + UI.highContrast = value; + this.toggle(); + }); + await this.toggle(); + }, + async toggle() { + let hc = "highContrast" in UI ? UI.highContrast : await this.detect(); + if (hc) { + if (this.css) { + document.documentElement.appendChild(this.css); + } else { + this.css = await include("/ui/ui-hc.css") + } + } else if (this.css) { + this.css.remove(); + } + document.documentElement.classList.toggle("hc", hc); + if (this.widget) { + this.widget.checked = hc; + } + }, + + detect() { + if ("highContrast" in UI.local) { + UI.highContrast = UI.local.highContrast; + } else { + // auto-detect + let canary = document.createElement("input"); + canary.className="https-only"; + canary.style.display = "none"; + document.body.appendChild(canary); + UI.highContrast = window.getComputedStyle(canary).backgroundImage === "none"; + canary.parentNode.removeChild(canary); + } + return UI.highContrast; + } + }; + + function fireOnChange(sitesUI, data) { + if (UI.isDirty(true)) { + UI.updateSettings({policy: UI.policy}); + if (sitesUI.onChange) sitesUI.onChange(data, this); + } + } + + function compareBy(prop, a, b) { + let x = a[prop], y = b[prop]; + return x > y ? 1 : x < y ? -1 : 0; + } + + const TEMPLATE = ` + + + + + + + + + + + + + +
+ + + + + + + + https://www.noscript.net + +
+
+
+ + + + +
+
+
+ `; + + const TEMP_PRESETS = ["CUSTOM"]; + const DEF_PRESETS = { + // name: customizable, + "DEFAULT": false, + "T_TRUSTED": false, + "TRUSTED": false, + "UNTRUSTED": false, + "CUSTOM": true, + }; + + UI.Sites = class { + constructor(parentNode, presets = DEF_PRESETS) { + this.parentNode = parentNode; + let policy = UI.policy; + this.uiCount = UI.Sites.count = (UI.Sites.count || 0) + 1; + this.sites = policy.sites; + this.presets = presets; + this.customizing = null; + this.typesMap = new Map(); + this.clear(); + } + + initRow(table = this.table) { + let row = table.querySelector("tr.site"); + // PRESETS + { + let presets = row.querySelector(".presets"); + let [span, input, label, options] = presets.querySelectorAll("span.preset, input.preset, label.preset, .options"); + span.remove(); + options.title = _("Options"); + for (let [preset, customizable] of Object.entries(this.presets)) { + let messageKey = UI.presets[preset]; + input.value = preset; + label.textContent = label.title = input.title = _(messageKey); + let clone = span.cloneNode(true); + clone.classList.add(preset); + let temp = clone.querySelector(".temp"); + if (TEMP_PRESETS.includes(preset)) { + temp.title = _("allowTemp", `(${label.title.toUpperCase()})`); + temp.nextElementSibling.textContent = _("allowTemp", ""); // label; + } else { + temp.nextElementSibling.remove(); + temp.remove(); + } + if (customizable) { + clone.querySelector(".options").remove(); + } + presets.appendChild(clone); + + } + + if (!UI.mobile) { + UI.Sites.correctSize(presets); + } + + } + + // URL + { + let [input, label] = row.querySelectorAll("input.https-only, label.https-only"); + input.title = label.title = label.textContent = _("httpsOnly"); + } + + // CUSTOMIZER ROW + { + let [customizer, legend, cap, capInput, capLabel] = table.querySelectorAll(".customizer, legend, span.cap, input.cap, label.cap"); + row._customizer = customizer; + customizer.remove(); + let capParent = cap.parentNode; + capParent.removeChild(cap); + legend.textContent = _("allow"); + let idSuffix = UI.Sites.count; + for (let capability of Permissions.ALL) { + capInput.id = `capability-${capability}-${idSuffix}` + capLabel.setAttribute("for", capInput.id); + capInput.value = capability; + capInput.title = capLabel.textContent = _(`cap_${capability}`); + let clone = capParent.appendChild(cap.cloneNode(true)); + clone.classList.add(capability); + } + } + + // debug(table.outerHTML); + return row; + } + + static correctSize(presets) { + // adapt button to label if needed + let sizer = document.createElement("div"); + sizer.id = "presets-sizer"; + sizer.appendChild(presets.cloneNode(true)); + document.body.appendChild(sizer); + setTimeout(async () => { + let presetWidth = sizer.querySelector("input.preset").offsetWidth; + let labelWidth = 0; + for (let l of sizer.querySelectorAll("label.preset")) { + let lw = l.offsetWidth; + debug("lw", l.textContent, lw); + if (lw > labelWidth) labelWidth = lw; + } + + debug(`Preset: %s Label: %s`, presetWidth, labelWidth); + labelWidth += 16; + if (presetWidth < labelWidth) { + for (let ss of document.styleSheets) { + if (ss.href.endsWith("/ui.css")) { + for (let r of ss.cssRules) { + if (/input\.preset:checked.*min-width:/.test(r.cssText)) { + r.style.minWidth = (labelWidth) + "px"; + break; + } + } + } + } + } + + sizer.remove(); + + }, 100); + UI.Sites.correctSize = () => {}; // just once, please! + } + + allSiteRows() { + return this.table.querySelectorAll("tr.site"); + } + clear() { + debug("Clearing list", this.table); + + this.template = document.createElement("template"); + this.template.innerHTML = TEMPLATE; + this.fragment = this.template.content; + this.table = this.fragment.querySelector("table.sites"); + this.rowTemplate = this.initRow(); + + for (let r of this.allSiteRows()) { + r.parentNode.removeChild(r); + } + this.customize(null); + this.sitesCount = 0; + } + + siteNeeds(site, type) { + let siteTypes = this.typesMap && this.typesMap.get(site); + return !!siteTypes && siteTypes.has(type); + } + + handleEvent(ev) { + let target = ev.target; + let customizer = target.closest(".customizer"); + let row = customizer ? customizer.parentNode.querySelector("tr.customizing") : target.closest("tr.site"); + if (!row) return; + row.temp2perm = false; + let isTemp = target.matches("input.temp"); + let preset = target.matches("input.preset") ? target + : customizer || isTemp ? row.querySelector("input.preset:checked") + : target.closest("input.preset"); + debug("%s target %o\n\trow %s, perms %o\npreset %s %s", + ev.type, + target, row && row.siteMatch, row && row.perms, + preset && preset.value, preset && preset.checked); + + if (!preset) { + if (target.matches("input.https-only") && ev.type === "change") { + this.toggleSecure(row, target.checked); + fireOnChange(this, row); + } else if (target.matches(".domain")) { + UI.openSiteInfo(row.domain); + } + return; + } + + let policy = UI.policy; + let {siteMatch, contextMatch, perms} = row; + let presetValue = preset.value; + let policyPreset = presetValue.startsWith("T_") ? policy[presetValue.substring(2)].tempTwin : policy[presetValue]; + + if (policyPreset) { + if (row.perms !== policyPreset) { + row.temp2perm = row.perms && policyPreset.tempTwin === row.perms; + row.perms = policyPreset; + } + } + + + let isCap = customizer && target.matches(".cap"); + let tempToggle = preset.parentNode.querySelector("input.temp"); + + if (ev.type === "change") { + if (preset.checked) { + row.dataset.preset = preset.value; + } + if (isCap) { + perms.set(target.value, target.checked); + } else if (policyPreset) { + if (tempToggle && tempToggle.checked) { + policyPreset = policyPreset.tempTwin; + } + row.contextMatch = null; + row.perms = policyPreset; + delete row._customPerms; + debug("Site match", siteMatch); + if (siteMatch) { + policy.set(siteMatch, policyPreset); + } else { + this.customize(policyPreset, preset, row); + } + + } else if (preset.value === "CUSTOM") { + if (isTemp) { + row.perms.temp = target.checked; + } else { + let temp = row.perms.temp; + tempToggle.checked = temp; + let perms = row._customPerms || + (row._customPerms = new Permissions(new Set(row.perms.capabilities), temp)); + row.perms = perms; + policy.set(siteMatch, perms); + this.customize(perms, preset, row); + } + } + fireOnChange(this, row); + } else if (!(isCap || isTemp) && ev.type === "click") { + this.customize(row.perms, preset, row); + } + } + + customize(perms, preset, row) { + debug("Customize preset %s (%o) - Dirty: %s", preset && preset.value, perms, this.dirty); + for(let r of this.table.querySelectorAll("tr.customizing")) { + r.classList.toggle("customizing", false); + } + let customizer = this.rowTemplate._customizer; + customizer.classList.toggle("closed", true); + + if (!(perms && row && preset && + row.dataset.preset === preset.value && + this.presets[preset.value] && + preset !== customizer._preset)) { + delete customizer._preset; + return; + } + + customizer._preset = preset; + row.classList.toggle("customizing", true); + let immutable = Permissions.IMMUTABLE[preset.value] || {}; + for (let input of customizer.querySelectorAll("input")) { + let type = input.value; + if (type in immutable) { + input.disabled = true; + input.checked = immutable[type]; + } else { + input.checked = perms.allowing(type); + input.disabled = false; + } + input.parentNode.classList.toggle("needed", this.siteNeeds(row._site, type)); + row.parentNode.insertBefore(customizer, row.nextElementSibling); + customizer.classList.toggle("closed", false); + customizer.onkeydown = e => { + switch(e.keyCode) { + case 38: + case 8: + e.preventDefault(); + this.onkeydown = null; + this.customize(null); + preset.focus(); + return false; + } + } + window.setTimeout(() => customizer.querySelector("input").focus(), 50); + } + } + + render(sites = this.sites, sorter = this.sorter) { + let parentNode = this.parentNode; + debug("Rendering %o inside %o", sites, parentNode); + if (sites) this._populate(sites, sorter); + parentNode.innerHTML = ""; + parentNode.appendChild(this.fragment); + let root = parentNode.querySelector("table.sites"); + debug("Wiring", root); + if (!root.wiredBy) { + root.addEventListener("click", this, true); + root.addEventListener("change", this, true); + root.wiredBy = this; + } + return root; + } + + _populate(sites, sorter) { + this.clear(); + if (sites instanceof Sites) { + for (let [site, perms] of sites) { + this.append(site, site, perms); + } + } else { + for (let site of sites) { + let context = null; + if (site.site) { + site = site.site; + context = site.context; + } + let {siteMatch, perms, contextMatch} = UI.policy.get(site, context); + this.append(site, siteMatch, perms, contextMatch); + } + this.sites = sites; + } + this.sort(sorter); + window.setTimeout(() => this.focus(), 50); + } + + focus() { + let firstPreset = this.table.querySelector("input.preset:checked"); + if (firstPreset) firstPreset.focus(); + } + + sort(sorter = this.sorter) { + if (this.mainDomain) { + let md = this.mainDomain; + let wrappedCompare = sorter; + sorter = (a, b) => { + let x = a.domain, y = b.domain; + if (x === md) { + if (y !== md) { + return -1; + } + } else if (y === md) { + return 1; + } + return wrappedCompare(a, b); + } + } + let rows = [...this.allSiteRows()].sort(sorter); + if (this.mainSite) { + let mainLabel = "." + this.mainDomain; + let topIdx = rows.findIndex(r => r._label === mainLabel); + if (topIdx === -1) rows.findIndex(r => r._site === this.mainSite); + if (topIdx !== -1) { + // move the row to the top + let topRow = rows.splice(topIdx, 1)[0]; + rows.unshift(topRow); + topRow.classList.toggle("main", true); + } + } + this.clear(); + for (let row of rows) this.table.appendChild(row); + this.table.appendChild(this.rowTemplate._customizer); + } + + sorter(a, b) { + return compareBy("domain", a, b) || compareBy("_label", a, b); + } + + async tempTrustAll() { + let {policy} = UI; + let changed = 0; + for (let row of this.allSiteRows()) { + if (row._preset === "DEFAULT") { + policy.set(row._site, policy.TRUSTED.tempTwin); + changed++; + } + } + if (changed && UI.isDirty(true)) { + await UI.updateSettings({policy, reloadAffected: true}); + } + return changed; + } + + createSiteRow(site, siteMatch, perms, contextMatch = null, sitesCount = this.sitesCount++) { + debug("Creating row for site: %s, matching %s / %s, %o", site, siteMatch, contextMatch, perms); + + let row = this.rowTemplate.cloneNode(true); + row.sitesCount = sitesCount; + let url; + try { + url = new URL(site); + } catch (e) { + if (/^(\w+:)\/*$/.test(site)) { + url = {protocol: RegExp.$1, hostname: "", origin: site, pathname:""}; + let hostname = Sites.toExternal(url.hostname); + debug("Lonely %o", url, Sites.isSecureDomainKey(siteMatch) || !hostname && url.protocol === "https:"); + } else { + let protocol = Sites.isSecureDomainKey(site) ? "https:" : "http:"; + let hostname = Sites.toggleSecureDomainKey(site, false); + url = {protocol, hostname, origin: `${protocol}://${site}`, pathname: "/"}; + } + } + + let hostname = Sites.toExternal(url.hostname); + let domain = tld.getDomain(hostname); + + if (!siteMatch) { + siteMatch = site; + } + let secure = Sites.isSecureDomainKey(siteMatch); + let keyStyle = secure ? "secure" + : !domain || /^\w+:/.test(siteMatch) ? + (url.protocol === "https:" ? "full" : "unsafe") + : domain === hostname ? "domain" : "host"; + + let urlContainer = row.querySelector(".url"); + urlContainer.dataset.key = keyStyle; + row._site = site; + + row.siteMatch = siteMatch; + row.contextMatch = contextMatch; + row.perms = perms; + row.domain = domain || siteMatch; + if (domain) { // "normal" URL + let justDomain = hostname === domain; + let domainEntry = secure || domain === site; + row._label = domainEntry ? "." + domain : site; + row.querySelector(".protocol").textContent = `${url.protocol}//`; + row.querySelector(".sub").textContent = justDomain ? + (keyStyle === "full" || keyStyle == "unsafe" + ? "" : "…") + : hostname.substring(0, hostname.length - domain.length); + + row.querySelector(".domain").textContent = domain; + row.querySelector(".path").textContent = siteMatch.length > url.origin.length ? url.pathname : ""; + } else { + row._label = siteMatch; + urlContainer.querySelector(".full-address").textContent = siteMatch; + } + let httpsOnly = row.querySelector("input.https-only"); + httpsOnly.checked = keyStyle === "full" || keyStyle === "secure"; + + let presets = row.querySelectorAll("input.preset"); + let idSuffix = `-${this.uiCount}-${sitesCount}`; + for (let p of presets) { + p.id = `${p.value}${idSuffix}`; + p.name = `preset${idSuffix}`; + let label = p.nextElementSibling; + label.setAttribute("for", p.id); + let temp = p.parentNode.querySelector("input.temp"); + if (temp) { + temp.id = `temp-${p.id}`; + label = temp.nextElementSibling; + label.setAttribute("for", temp.id); + } + } + let policy = UI.policy; + + let presetName = "CUSTOM"; + for (let p of ["TRUSTED", "UNTRUSTED", "DEFAULT"]) { + let preset = policy[p]; + switch (perms) { + case preset: + presetName = p; + break; + case preset.tempTwin: + presetName = `T_${p}`; + if (!presetName in UI.presets) { + presetName = p; + } + break; + } + } + let tempFirst = true; // TODO: make it a preference + let unsafeMatch = keyStyle !== "secure" && keyStyle !== "full"; + if (presetName === "DEFAULT" && (tempFirst || unsafeMatch)) { + // prioritize temporary privileges over permanent + for (let p of TEMP_PRESETS) { + if (p in this.presets && (unsafeMatch || tempFirst && p === "TRUSTED")) { + row.querySelector(`.presets input[value="${p}"]`).parentNode.querySelector("input.temp").checked = true; + perms = policy.TRUSTED.tempTwin; + } + } + } + let preset = row.querySelector(`.presets input[value="${presetName}"]`); + if (!preset) { + debug(`Preset %s not found in %s!`, presetName, row.innerHTML); + } else { + preset.checked = true; + row.dataset.preset = row._preset = presetName; + if (TEMP_PRESETS.includes(presetName)) { + let temp = preset.parentNode.querySelector("input.temp"); + if (temp) { + temp.checked = perms.temp; + } + } + } + return row; + } + + append(site, siteMatch, perms, contextMatch) { + this.table.appendChild(this.createSiteRow(...arguments)); + } + + toggleSecure(row, secure = !!row.querySelector("https-only:checked")) { + this.customize(null); + let site = row.siteMatch; + site = site.replace(/^https?:/, secure ? "https:" : "http:"); + if (site === row.siteMatch) { + site = Sites.toggleSecureDomainKey(site, secure); + } + if (site !== row.siteMatch) { + let {policy} = UI; + policy.set(row.siteMatch, policy.DEFAULT); + policy.set(site, row.perms); + for(let r of this.allSiteRows()) { + if (r !== row && r.siteMatch === site && r.contextMatch === row.contextMatch) { + r.parentNode.removeChild(r); + } + } + let newRow = this.createSiteRow(site, site, row.perms, row.contextMatch, row.sitesCount); + row.parentNode.replaceChild(newRow, row); + } + } + + highlight(key) { + key = Sites.toExternal(key); + for (let r of this.allSiteRows()) { + if (r.querySelector(".full-address").textContent.trim().includes(key)) { + let url = r.lastElementChild; + url.style.transition = r.style.transition = "none"; + r.style.backgroundColor = "#850"; + url.style.transform = "scale(2)"; + r.querySelector("input.preset:checked").focus(); + window.setTimeout(() => { + r.style.transition = "1s background-color"; + url.style.transition = "1s transform"; + r.style.backgroundColor = ""; + url.style.transform = "none"; + r.scrollIntoView(); + }, 50); + } + } + } + + filterSites(key) { + key = Sites.toExternal(key); + for (let r of this.allSiteRows()) { + if (r.querySelector(".full-address").textContent.trim().includes(key)) { + r.style.display = ""; + } else { + r.style.display = "none"; + } + } + } + } + + return UI; +})(); diff --git a/src/ui/whirlpool.css b/src/ui/whirlpool.css index 0e2147a9..6f24c040 100644 --- a/src/ui/whirlpool.css +++ b/src/ui/whirlpool.css @@ -1,45 +1,45 @@ - -.cssload-container{ - position:relative; -} - -.cssload-whirlpool, -.cssload-whirlpool::before, -.cssload-whirlpool::after { - position: absolute; - top: 50%; - left: 50%; - border: 1px solid rgb(204,204,204); - border-left-color: rgb(0,0,0); - border-radius: 974px; -} - -.cssload-whirlpool { - margin: -24px 0 0 -24px; - height: 49px; - width: 49px; - animation: cssload-rotate 1150ms linear infinite; -} - -.cssload-whirlpool::before { - content: ""; - margin: -22px 0 0 -22px; - height: 43px; - width: 43px; - animation: cssload-rotate 1150ms linear infinite; -} - -.cssload-whirlpool::after { - content: ""; - margin: -28px 0 0 -28px; - height: 55px; - width: 55px; - animation: cssload-rotate 2300ms linear infinite; -} - - -@keyframes cssload-rotate { - 100% { - transform: rotate(360deg); - } -} + +.cssload-container{ + position:relative; +} + +.cssload-whirlpool, +.cssload-whirlpool::before, +.cssload-whirlpool::after { + position: absolute; + top: 50%; + left: 50%; + border: 1px solid rgb(204,204,204); + border-left-color: rgb(0,0,0); + border-radius: 974px; +} + +.cssload-whirlpool { + margin: -24px 0 0 -24px; + height: 49px; + width: 49px; + animation: cssload-rotate 1150ms linear infinite; +} + +.cssload-whirlpool::before { + content: ""; + margin: -22px 0 0 -22px; + height: 43px; + width: 43px; + animation: cssload-rotate 1150ms linear infinite; +} + +.cssload-whirlpool::after { + content: ""; + margin: -28px 0 0 -28px; + height: 55px; + width: 55px; + animation: cssload-rotate 2300ms linear infinite; +} + + +@keyframes cssload-rotate { + 100% { + transform: rotate(360deg); + } +}