From fd4e40c82b3372fcfcbcb33877d8388f3b8c37c6 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Thu, 29 Nov 2012 17:01:51 -0800 Subject: [PATCH] New GUI for B2G viewer. --- extensions/b2g/images/div_line_left.png | Bin 0 -> 1105 bytes extensions/b2g/images/div_line_right.png | Bin 0 -> 1108 bytes extensions/b2g/images/document_bg.png | Bin 0 -> 2229 bytes extensions/b2g/images/icon_next_page.png | Bin 0 -> 1355 bytes extensions/b2g/images/icon_previous_page.png | Bin 0 -> 1393 bytes extensions/b2g/images/icon_zoom_in.png | Bin 0 -> 1885 bytes extensions/b2g/images/icon_zoom_out.png | Bin 0 -> 1785 bytes extensions/b2g/images/spinner.png | Bin 0 -> 5069 bytes extensions/b2g/images/toolbar_background.png | Bin 0 -> 10774 bytes extensions/b2g/viewer.css | 282 +++++++++++++++++++ extensions/b2g/viewer.html | 162 +++++++++++ make.js | 9 +- web/viewer-b2g.css | 8 - web/viewer-snippet-b2g.html | 12 - web/viewer.html | 7 - 15 files changed, 450 insertions(+), 30 deletions(-) create mode 100644 extensions/b2g/images/div_line_left.png create mode 100644 extensions/b2g/images/div_line_right.png create mode 100644 extensions/b2g/images/document_bg.png create mode 100644 extensions/b2g/images/icon_next_page.png create mode 100644 extensions/b2g/images/icon_previous_page.png create mode 100644 extensions/b2g/images/icon_zoom_in.png create mode 100644 extensions/b2g/images/icon_zoom_out.png create mode 100644 extensions/b2g/images/spinner.png create mode 100644 extensions/b2g/images/toolbar_background.png create mode 100644 extensions/b2g/viewer.css create mode 100644 extensions/b2g/viewer.html delete mode 100644 web/viewer-b2g.css delete mode 100644 web/viewer-snippet-b2g.html diff --git a/extensions/b2g/images/div_line_left.png b/extensions/b2g/images/div_line_left.png new file mode 100644 index 0000000000000000000000000000000000000000..0e4c028874d807d5c332a7346bad6e73a957d65e GIT binary patch literal 1105 zcmbVLO=#0l9M3)&bz|Vi4!Z3SvJD-q%}3ibjjN+gTGwG~=?d#%%Ch9O&DMM@d9~RP z2g(j29>j|~3*u$Mz`;O45DyOYFhvAKP!EC!9SDwHL|?jgdKfzxlDzl+@BjP#zprP~ zXFJ=w+c6C5Opc0Kv^JxU@U)?SrQ359Ehk_+566uHtV$NZqKYvM@T4XcK^92L{M-f@ z#;}%>n#;p{>Krc{non|de2!)!G=>e2IHn}e0*Ft8qN+!Ttw&D?TvZ~(L@-6AOaYYC z(FF^PFQjww!mJ!th>r_6K!3Dzt zc+ltf$`noGEbF5KL6)V5aE788l0q-*r2~AB<(Uv(e+XpFQVM)lOw?_mQ-ml%X!0ak ztyXULj)K?JsJsU}nn9d{X}X`=!o1oCt@1kFsP z_K0=6o+y+u(veJ(_EDs!xpCFBZI}gr-Pl*#&dr;E%mUk}STd?dp|1f(xjWd9tBAbe z&s!=gic}U2xuO9bCdCMWZhVTW@KlgPSqufJ5JRyXO>-3I7h(dJphPMd6`2Odepr8$ z3-|?&Wul1?O~;wApN@+GArutEP>7Ai8`z|7LrIrG!>)?#*0I3@vAkdb2^v<;Fv^V% z$dn9d*d@cng>e=?m6BvtcLjrPfp+5+fu&voO2RTUyp~~J-Nyq_^!sCUIL5~6kuywG zjK>6)i&J4HBocM3@;_N4ku#**9{;pULxg(J-R?C%I_!-P(9z6TXgGF;%7bXI7L#H$ z=e)c8VzvDm)wT4g$J@2~=GErriu|?X%aPODO_TiC-FP6mb*T5gr|rrP*T1o{_T&4= z&1c7Ny#KXXAhPN}rc}h=&R`eTCnuh7-@3T`doevZ_Ib3|)AF(P>9LN(Ys+`o9i3{9 q_N@0iFX!eSzizs{-J1CJ^Vk%2FFP=^bn@W`cgU0RwD=%4b@dOt;$Zv$ literal 0 HcmV?d00001 diff --git a/extensions/b2g/images/div_line_right.png b/extensions/b2g/images/div_line_right.png new file mode 100644 index 0000000000000000000000000000000000000000..49a6a45d08431b0caa56474a1daa2065aafefb1f GIT binary patch literal 1108 zcmbVLO=#0#7>=80HyMHq)E!*NJZxa|*EMZJ>(=H=x1yc1tE|FcOOtPFX!B$8&8CHc zZkGung6KfOfr#KiPhN(C;z98u!eEFVCVCJ&I0ha)_+@LShp~ep$@lj>&-?Se@3qm9 zp^o;hc7h-}GQ%K;#}@oifdlwI+Z8y1hvP^tpfPJ2RTT#kNzE!kGGiz+Fb5T_cIh3A z6GUrC&lgZ3dsb8}gI0VD?HM*^6GVK#vlX=r5m|&Yx|yIhp1-6>T}x2o;VhfAC0Npj z>kb^NkL1;QS&eDbz-cn>iCDmZNFhC=V!EQ2ptf{HJomR5irj*ra)R1+s*oKeCChJE|o^FR=*xBrk zu<14ug;U0Oip_8|%NT|q*B07EIr!I&UD0m7W{YNIx6lSs}`CQ8pTqQc^U{0ydlkd{bjLZU{p| zGD!2uG-k?tEX2v6Uy6h!5QzvWxyj9#E>cVtHtp)zZi6fD$rU9BD#&v3mQ`t1z-Y-r zmRquHQW_J;-mIeProYkWU(j~E06O|*sHGjtAh$9s>brOVKq!>rVksfjh@9t>Ku$?Q zRAys*1W*mG_CHx;urrKb9{-d}a|_p?Kiw&Qyx3_UXyTr6aC6kAhHv1;n$Lh_-uqN} zf2MtbJ+}YLz+^boVaseny4E~CkEqJpLBL_F2CvoM_apZX^VZ68#80$3%%{% zCp7uw+QY#Io7qPz`&Qnx92O3KEdQQV-V#-TyLU4XkSg<^@7^vfUi@}ty=}E^^6SF+ o*O8vJw)I~xR*Rj>KkR3RSYrA@&-EAP(461r8F>UeO-;@J0R@&|I{*Lx literal 0 HcmV?d00001 diff --git a/extensions/b2g/images/document_bg.png b/extensions/b2g/images/document_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..c48bd1110ba3244e1f4f482cbd5957cc830a51f9 GIT binary patch literal 2229 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 E2XXM(xBvhE literal 0 HcmV?d00001 diff --git a/extensions/b2g/images/icon_previous_page.png b/extensions/b2g/images/icon_previous_page.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf32e513e955825dd2b7affc134ca3565987530 GIT binary patch literal 1393 zcmeAS@N?(olHy`uVBq!ia0vp^B0wy}!3HFwFZ>e#Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07??9MLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}t-3#_`hBq$Z(46Le)Ln;eW^@CE2 z^Gl18f$@>14ATq@JNy=b6armi$o0y!L2NKW(MG(ZlE~!PCWvMA{Mftf3;1IUT#Nq-M7h_{5LrW(!C#cVj zj2vBDot(`qTn#LZ%w3eAdQ->=HGQCC^g+o3DY?LefN2oKgeQI=2cCUW^MHA#2$(sX zg;w@3Ffh*dba4!+xOHc;z0V;Bk@k((_{^k|O{5+_VcE#{M(@lSzB3+=9Ok4XT$qq? z=*W{tYa+xBFGw`H*m#t6v7rQ$u-C;50rrcB|9vihmet|pFS+;0>96;8|GrgTF6*Hp zB)46x|M>BXx{Znx{M06&&-={U=i^w;T6Vy!*6qyo=@U-+9q@6ln0D;W5+--Eo2s^N z)kObkJoaMkJF`J&^{Xeom#<`8SG4`BCt7tf=eF7BpMRuO($CFtTU;2aA(A9}X{CHn zRqm~~-G%vuE&tzNaO@e9kb-+nQdw#wg4)0!H(yyneU zkIgrGIydR$|NQ&!ZidOOjs>EfE`1aCAH2Tzn^n>ip9?`Es&h|2^;jDw?Y%Te{Atlo zKbJ>>Hm!#rW`C>Ro9tsV=hzbcg9!mg1DLE77EN~fe(Xo-VXG*+#1H?U*4?rfe$;i* zR=#Ama*=@B^i`0SawX+8~9U3Pn#j z5M@;yh~9t!H$jICPXvWAb%KhhaL747P$wuVicGDrxuptje|Y|}T$1;FpFF?c^L@#U ziu{c3fN6%v{H)~DTyUxhy*fSVZdpjDqDXo3)vUZG6ENnjnGsMZO=$IY!EpjHXN zuQ)PTrWfN$>hMeh9+Md5TrbP6M|MRlf5O@87C4&r3^AD^bnH)Lt3pZuGiW|G8+HajdyAr zy)6To#P*m`onbV~a&%UKotQoKTE4$?+~Mn-|0n4MKugprOC-p9v8dR9D@ej1CkV}C2Sg zO0~`=SY#{En|LwYpk9xw!VH8Kc%5NX{SFT>jLjA?`65I#5jl$$ib+IbgeQUdEG`C4 zU{(JoYY^oOWNVNAw9BN3>OtG~ZSzxyx8sBBsF^WP!|_bDcP2G+c~UG?Zn|1q6c=t; z=6Qzu!Y}e%!gJr|*dlcg;B@vrc+$Cih1_uk7I3QFL6lbLQD$C4x;p2U#&XS@r%0Ac zQ}P#hXOotEutJ~Q{X;kB#jTdH5Q95p{L!aB+o!Afg<$X{I>>*#nNFvhRTV8Q!49|Q zH9AL{SMRhF^n280>*CcKO}>*U%xT9+p38ceR*=0$?;+3fzBsKQ>u9{&7#ck7w*5)g zw&nU6$3H+Z?ypBZ$1+@Gzq@on0R7_Hfg#5`erB`VZ932HkT`WoU0WOLo(lILL~j+f z+ZUM2J3XuIHaIVCZT9N6pS()9)N_gpo0^)cT_RvVOUJM>E=c+@?vfK( zJzCPC8d}*wgVa9zv(^XS(Oj#N6`Wp|*&Zh-KAvML-nZ|%2HD$v#}Az)|1M+x-K;6T z*qHZX8CbaRXhlVZU^wf-vAH+SIIM!>2f3%}A}TMJW`pR^WmzP&r)iX=ZmHt_# zhTJgMLuJt(j`meG2M*l3_jUBndf3frS!YUroJHes*7vzdAY|-$&~3F^$2sL!MAr_- z26UA*XARPDm%@n3>pc1{smHFF3;cz{d$vYYMz4*EdO~X*{KhjRd~IV#hqNZLdj2Yg zz5A+Tvh0SYCbXuqveM(ibH&reD>s^4(?Y~Y5C8UP|K;Q(Q=6~9q9bvCw@$MjzSi42 z(EH%o+@uodkA0`X?#vH&yqtHj;EeCqlOsnO8?7JZci%6GdnQp9s2atr@$qrO&E37X z{4Zmlkkj6BDYSRjR+=PkVDx3x_}JK0e}Dh`pUM(96-8Kj?2KUf171kTrX81(j(@+r zX6am~EhvYR#y!UydNE#|n2_)g+54!XE#C8&;`I6(PYzxcw6q4EpPg23M!#h+wuf1! oSM(h5?L9Wb*@v4vZ2jbCniAeVZ-w0!j_rphl|*8PMDgZ-07g;WQ2+n{ literal 0 HcmV?d00001 diff --git a/extensions/b2g/images/icon_zoom_out.png b/extensions/b2g/images/icon_zoom_out.png new file mode 100644 index 0000000000000000000000000000000000000000..925cea9581603bdcf492df0556931b6575accf47 GIT binary patch literal 1785 zcmbVNYfuws6paQ1fdE=SP|-Ei0a238g8(aml58liU`T=@btoZONF>RIWFZkmQBZlP zs0g;D7NsaMpi-*CSj#}f$51q&j20;>j*4O#(BV-KvE3lp{&4)!o!$K&d(OS*-tXSo z0zvebB%7r+1OkB+9tI2X(bfD|FTme@diDf9xM93FOoS$5dWjYxgvih&1PE72QV<~` zk!?$BLjnl|qFf=4!{Yc+kQ7x>BxVf7pwi%M0wFNippi&Z5e!H|QWR=7dH8ZO8BoaB zxMS&m^Eh)UJ#^%OmWf@)K!w19vBvkf}k2S@nmwy80R!AGt0n6m&Q zI;mEn!4#+(Fk6%)q3IZ#j4OQ~f=a{Ze=w}p%_a&@8Py=sP-zs9s#2NbnnCL@A@Z+` zkD_(rZ5o6sM09AnR*IiTvd0`5&)ugTnSr<(XoFUPABsc?qtbL0qQ=5uHW~jyktt*l z=?bf@fh@wP@Ku52QX+nn923? z<-&e`EDmpu8?M%2615bW^Q*x9&T{FWkQtH?lPp;}Z0%w!l+d_(~ZGZ-9N0EfkyjU3kk^Eh0VKMxF``@!T{ zuI&G0jf#t*n#n z<8)(Z^K@FS^L-a_!#+?6lcp+4ej}+I=ScZJ)EG531jl(MQZOrh+z8{Ymqj z+Lza!$TT{?a$-u;D~kAgvq@qH%c~PK%xdsw;j$eyFnA^>)AC@BEx7z?gi~2a@Y=76 znE4mr;+7ymv&-|(>#O&;S8Mx6CLcOy%{ zoop^REP7=hYOg-N``Y-bqP;ymJ=3gm{t3J2UG9C9O)CaMT<#{EZ$#GQdUj^kJ&Zq1 zIC`yfbad43?8dAE^fOlT&izWSx-GZAW2|~JY!NeXKDxS#n64n%PsMu2dd3HJyn9zA z_O2P+YPnunfPCilqF>n5VKNQv>Y1N3Skf{Q=pMhi)XPd7c|C4Vlw)2Rc4Z6Y*i@{I zNF)lTUF0klp&`ZIsW;sOm1-UTB`HJm!7W1!oAFNH(t>o&NOG%s8m6ab3%WEhudDNW1yjSVnyQ-8(Brf^$ zM6<7ZXzsaX`9HEY*wzjb6W?NQ_$2U=@ pBm7StDHwce0*~B@jeOQfAQHk7WbTvOD~8NJqi|j{e2$a2`yVW#u1x>{ literal 0 HcmV?d00001 diff --git a/extensions/b2g/images/spinner.png b/extensions/b2g/images/spinner.png new file mode 100644 index 0000000000000000000000000000000000000000..bad17519b1f9456ed02e80ed2eea72659f5388b8 GIT binary patch literal 5069 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 gUM2Xe9)yUHP`;cr3UKK7=cJ~hteQ-t<8 literal 0 HcmV?d00001 diff --git a/extensions/b2g/viewer.css b/extensions/b2g/viewer.css new file mode 100644 index 000000000..2c3c33bc6 --- /dev/null +++ b/extensions/b2g/viewer.css @@ -0,0 +1,282 @@ +/* Copyright 2012 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +* { -moz-box-sizing: border-box; } + +* { + padding: 0; + margin: 0; +} + +html { + height: 100%; + width: 100%; + overflow: hidden; + font-size: 10px; +} + +body { + background: url(images/document_bg.png); + color: #fff; + font-family: "MozTT", sans-serif; + font-size: 10px; + height: 100%; + width: 100%; + overflow: hidden; + padding-bottom: 50px; +} + +section { + overflow: hidden; + font-size: 10px; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + overflow: hidden; + font-size: 20px; +} + +footer { + background-image: url(images/toolbar_background.png); + height: 40px; + position: absolute; + bottom: 0; + left: 0; + right: 0; + z-index: 1; + box-shadow: 0px -2px 5px rgba(50, 50, 50, 0.75); +} + + +.toolbarButton { + display: block; + padding: 0; + margin: 0; + border-width: 0; + background-position: center center; + background-repeat: no-repeat; + background-color: transparent; +} + +.toolbarButton.pageUp { + position: absolute; + width: 18%; + height: 100%; + left: 0; + background-image: url(images/icon_previous_page.png); +} + +.toolbarButton.pageDown { + position: absolute; + width: 18%; + height: 100%; + left: 18%; + background-image: url(images/icon_next_page.png); +} + +#pageNumber { + position: absolute; + width: 28%; + height: 100%; + left: 36%; + text-align: center; + border: 0; + background-color: transparent; + font-size: 9pt; + color: #FFF; + background-image: url(images/div_line_left.png), url(images/div_line_right.png); + background-repeat: no-repeat; + background-position: left, right; +} + +.toolbarButton.zoomOut { + position: absolute; + width: 18%; + height: 100%; + left: 64%; + background-image: url(images/icon_zoom_out.png); +} + +.toolbarButton.zoomIn { + position: absolute; + width: 18%; + height: 100%; + left: 82%; + background-image: url(images/icon_zoom_in.png); +} + +.toolbarButton[disabled] { + opacity: .3; +} + +.hidden { + display: none; +} +[hidden] { + display: none !important; +} + +#viewerContainer { + position: absolute; + overflow: auto; + width: 100%; + top: 50px; + bottom: 40px; + left: 0; + right: 0; +} + +canvas { + margin: auto; + display: block; +} + +.page { + direction: ltr; + width: 816px; + height: 1056px; + margin: 10px auto; + position: relative; + overflow: hidden; + background-color: white; +} + +.page > a { + display: block; + position: absolute; +} + +.loadingIcon { + width: 2.9rem; + height: 2.9rem; + background: url("images/spinner.png") no-repeat scroll left top transparent; + border: medium none; + animation: 1s steps(10, end) 0s normal none infinite moveDefault; + display: block; + position: absolute; + top: calc((100% - 2.9rem) / 2); + left: calc((100% - 2.9rem) / 2); +} + +@keyframes moveDefault { + from { + background-position: 0 top; + } + + to { + background-position: -390px top; + } +} + +#loadingBox { + position: absolute; + top: 50%; + margin-top: -25px; + left: 0; + right: 0; + text-align: center; + color: #ddd; + font-size: 14px; +} + +#loadingBar { + display: inline-block; + clear: both; + margin: 0px; + margin-top: 5px; + line-height: 0; + border-radius: 2px; + width: 200px; + height: 25px; + + background-color: hsla(0,0%,0%,.3); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + border: 1px solid #000; + box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2) inset, + 0 0 1px 1px rgba(255, 255, 255, 0.1); +} + +#loadingBar .progress { + display: inline-block; + float: left; + + background: #666; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2b2b2), color-stop(100%,#898989)); + background: -webkit-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: -moz-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: -ms-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: -o-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: linear-gradient(top, #b2b2b2 0%,#898989 100%); + + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + + width: 0%; + height: 100%; +} + +#loadingBar .progress.full { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +#loadingBar .progress.indeterminate { + width: 100%; + height: 25px; + background-image: -moz-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-image: -webkit-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-image: -ms-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-image: -o-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-size: 75px 25px; + -moz-animation: progressIndeterminate 1s linear infinite; + -webkit-animation: progressIndeterminate 1s linear infinite; +} + +@-moz-keyframes progressIndeterminate { + from { background-position: 0px 0px; } + to { background-position: 75px 0px; } +} + +#errorWrapper { + background: none repeat scroll 0 0 #FF5555; + color: white; + left: 0; + position: absolute; + right: 0; + top: 32px; + z-index: 1000; + padding: 3px; + font-size: 0.8em; +} + +#errorMessageLeft { + float: left; +} + +#errorMessageRight { + float: right; +} + +#errorMoreInfo { + background-color: #FFFFFF; + color: black; + padding: 3px; + margin: 3px; + width: 98%; +} diff --git a/extensions/b2g/viewer.html b/extensions/b2g/viewer.html new file mode 100644 index 000000000..9f8c3782c --- /dev/null +++ b/extensions/b2g/viewer.html @@ -0,0 +1,162 @@ + + + + + + + PDF.js viewer + + + + + + + + + + + + + + + + +
+
+ +

+
+ +
+ + + + + + + +
+
+ +
+
+
+ +
+
+
+
+ + + + + +
+ + + + diff --git a/make.js b/make.js index a4e759823..a1dd0d748 100644 --- a/make.js +++ b/make.js @@ -508,6 +508,8 @@ target.mozcentral = function() { }; target.b2g = function() { + target.locale(); + target.bundle(); echo(); echo('### Building B2G (Firefox OS App)'); var B2G_BUILD_DIR = BUILD_DIR + '/b2g/', @@ -525,13 +527,14 @@ target.b2g = function() { var setup = { defines: defines, copy: [ - [COMMON_WEB_FILES, B2G_BUILD_CONTENT_DIR + '/web'], - ['web/viewer-b2g.css', B2G_BUILD_CONTENT_DIR + '/web'], + ['extensions/b2g/images', B2G_BUILD_CONTENT_DIR + '/web'], + ['extensions/b2g/viewer.html', B2G_BUILD_CONTENT_DIR + '/web'], + ['extensions/b2g/viewer.css', B2G_BUILD_CONTENT_DIR + '/web'], ['web/locale', B2G_BUILD_CONTENT_DIR + '/web'], ['external/webL10n/l10n.js', B2G_BUILD_CONTENT_DIR + '/web'] ], preprocess: [ - [COMMON_WEB_FILES_PREPROCESS, B2G_BUILD_CONTENT_DIR + '/web'], + ['web/viewer.js', B2G_BUILD_CONTENT_DIR + '/web'], [BUILD_TARGET, B2G_BUILD_CONTENT_DIR + BUILD_TARGET] ] }; diff --git a/web/viewer-b2g.css b/web/viewer-b2g.css deleted file mode 100644 index 1b6f749af..000000000 --- a/web/viewer-b2g.css +++ /dev/null @@ -1,8 +0,0 @@ -html { - /* Font size is needed to make the activity bar the corect size. */ - font-size: 10px; -} - -#outerContainer { - position: relative; -} diff --git a/web/viewer-snippet-b2g.html b/web/viewer-snippet-b2g.html deleted file mode 100644 index 84e95eea9..000000000 --- a/web/viewer-snippet-b2g.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/web/viewer.html b/web/viewer.html index a1ad24074..30761ebd8 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -67,10 +67,6 @@ limitations under the License. - - - - @@ -78,9 +74,6 @@ limitations under the License. - - -