--- a/mobile/android/base/AboutPages.java +++ b/mobile/android/base/AboutPages.java @@ -50,42 +50,39 @@ public class AboutPages { public static final boolean isAboutReader(final String url) { if (url == null) { return false; } return url.startsWith(READER); } private static final String[] DEFAULT_ICON_PAGES = new String[] { + HOME, + ADDONS, CONFIG, DOWNLOADS, FIREFOX, HEALTHREPORT, UPDATER }; /** * Callers must not modify the returned array. */ public static String[] getDefaultIconPages() { return DEFAULT_ICON_PAGES; } - public static boolean isBuiltinIconPage(final String url) { + public static boolean isDefaultIconPage(final String url) { if (url == null || !url.startsWith("about:")) { return false; } - // about:home uses a separate search built-in icon. - if (isAboutHome(url)) { - return true; - } - // TODO: it'd be quicker to not compare the "about:" part every time. for (int i = 0; i < DEFAULT_ICON_PAGES.length; ++i) { if (DEFAULT_ICON_PAGES[i].equals(url)) { return true; } } return false; }
--- a/mobile/android/base/Tabs.java +++ b/mobile/android/base/Tabs.java @@ -826,17 +826,17 @@ public class Tabs implements GeckoEventL return null; } if (!delayLoad && !background) { selectTab(added.getId()); } // TODO: surely we could just fetch *any* cached icon? - if (AboutPages.isBuiltinIconPage(url)) { + if (AboutPages.isDefaultIconPage(url)) { Log.d(LOGTAG, "Setting about: tab favicon inline."); added.updateFavicon(getAboutPageFavicon(url)); } return added; } /**
--- a/mobile/android/base/favicons/Favicons.java +++ b/mobile/android/base/favicons/Favicons.java @@ -35,19 +35,16 @@ import java.util.concurrent.ExecutorServ import java.util.concurrent.Executors; public class Favicons { private static final String LOGTAG = "GeckoFavicons"; // A magic URL representing the app's own favicon, used for about: pages. private static final String BUILT_IN_FAVICON_URL = "about:favicon"; - // A magic URL representing the app's search favicon, used for about:home. - private static final String BUILT_IN_SEARCH_URL = "about:search"; - // Size of the favicon bitmap cache, in bytes (Counting payload only). public static final int FAVICON_CACHE_SIZE_BYTES = 512 * 1024; // Number of URL mappings from page URL to Favicon URL to cache in memory. public static final int NUM_PAGE_URL_MAPPINGS_TO_STORE = 128; public static final int NOT_LOADING = 0; public static final int LOADED = 1; @@ -405,20 +402,16 @@ public class Favicons { } // Load and cache the built-in favicon in each of its sizes. // TODO: don't open the zip twice! List<Bitmap> toInsert = Arrays.asList(loadBrandingBitmap(context, "favicon64.png"), loadBrandingBitmap(context, "favicon32.png")); putFaviconsInMemCache(BUILT_IN_FAVICON_URL, toInsert.iterator(), true); - - pageURLMappings.putWithoutEviction(AboutPages.HOME, BUILT_IN_SEARCH_URL); - List<Bitmap> searchIcons = Arrays.asList(BitmapFactory.decodeResource(res, R.drawable.ab_search)); - putFaviconsInMemCache(BUILT_IN_SEARCH_URL, searchIcons.iterator(), true); } /** * Compute a string like: * "jar:jar:file:///data/app/org.mozilla.firefox-1.apk!/assets/omni.ja!/chrome/chrome/content/branding/favicon64.png" */ private static String getBrandingBitmapPath(Context context, String name) { final String apkPath = context.getPackageResourcePath();
--- a/mobile/android/base/locales/en-US/android_strings.dtd +++ b/mobile/android/base/locales/en-US/android_strings.dtd @@ -29,17 +29,17 @@ <!ENTITY crash_restart_label "Restart &brandShortName;"> <!ENTITY exit_label "Exit"> <!ENTITY launcher_shortcuts_title "&brandShortName; Web Apps"> <!ENTITY launcher_shortcuts_empty "No web apps were found"> <!ENTITY choose_file "Choose File"> -<!ENTITY url_bar_default_text2 "Search or enter address"> +<!ENTITY url_bar_default_text "Enter Search or Address"> <!ENTITY bookmark "Bookmark"> <!ENTITY bookmark_added "Bookmark added"> <!ENTITY bookmark_removed "Bookmark removed"> <!ENTITY bookmark_updated "Bookmark updated"> <!ENTITY bookmark_options "Options"> <!ENTITY history_today_section "Today">
index d289c2b62d4514ed71033abf079955cce30df3d1..14765da7ef5dacd273d90cdec2b9b5a82b150fa0 GIT binary patch literal 480 zc%17D@N?(olHy`uVBq!ia0vp^Y9P$P0wkGC6jgx~OS+@4BLl<6e(pbstU$g(vPY0F z149*1VM7Z8!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX+kk>u^}!tlSn|IB_M@3*Im zV~EG`r_*eOS`>KPHp?{$<=SpDzHzg{p)&f#yEOuWcT1KfsnmJOJ#>E}`0W?Z1v@dH z&-rD+ad(!6%=r-#;Uds7Z)Rg(NzhsDg~<ua+yy_MaZyT~x>!f0ghgqh<os?+Hl+;$ z8U9D3n79Qb3!-M;eYU|s?sRU@<7bj0I!lVOHkQU!ohf^NV&8$Jf115Lv6b7l_(kT- zz3M5P`f>Ywp|D(EbGgl{Q<sYEUOsu_Dv{tDzCP0<L~pJwYrWcd=Zom<b4zAfC%$|3 zwSHzBcfu{HHs9=RbA8NrJrqnSvzR4!`<i&y%h2>H&e?YS*WSdubxU-8T)*0&HpuqK zy@fY~tDMhSiU5N_wZt`|BqgyV)hf9t6-Y4{85o-A8kp%C7>5{|Ss9pF85-&um|Gbb iG-to{LD7(#pOTqYiCe=bv(OJf4Gf;HelF{r5}E)X`L7ZH
index be2b2a172d57560a908fc946c39738b7a7b1f721..efb5ab8e7474a84d0cbf37fa22702768b2d0ffa6 GIT binary patch literal 550 zc%17D@N?(olHy`uVBq!ia0vp^Y9P$P3?%12mYf5mSkfJR9T^xl_H+M9WCijSl0AZa z85pX73L9D&7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10!Y05c#1%-#CuhVZrANdh zre_x>q+|lQ#GwEG|Eo4Wj05TyDhcunW&i^@G0lw&75**xE5CHjHs8k;Kq1B?Z+91A zp4~CifSfy?E{-7<r;kp#%hasE(b_)sS$x|2{~I<hb6M8Ay4U(8M?A-#xc^2LZ)V3c zcwC*P$*J(cBs=-N6+`xyp1KLQEc4G-tG0hVm)U8QdS}~@f?jrkKbtHUKj4`sbGquH z>eX3u{<So&xgC3<bmD5o&z=6qv>X{7_r3Dq_WZ#S9=lX1;s2DKPP?C+xc=mnnSwwO z?_4&ENk?xy-1SNIb%9{)oz#zkN2hF@)b&f;#oP2Ax6w9Zqf@7=be>)QEY(?%8rj@` z^U0lwiF^r?&%MI>jq@#i&aX~W`Z!zGwnXe!{~O+{2_oIc>}F2_`ct*UHKHUXu_V<h zxhNG#F&G&bn&=vs=o*@b7#dp{8(W#0=^B_@85p!XIz^*s$jwj5OsmAL;hW5_=b)hW MboFyt=akR{0E6?)RR910
index ce90e3688de475b4a6b22bbed76ba0e7377a4834..849a3261551fbff3492d90f1780c130170930458 GIT binary patch literal 544 zc%17D@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzSEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaNl1^9%x0_h$5j;!Ch`^4FcKYslB_506;ZF@Iu*$rd>IqSCW{{8#!hOK+P zefxRg%8k3vo}D;*Y5mqc+xH$mfBpJ{$Im{0`TFDM@2Ah-Y}<SI^3_{UU%dYG<ttFj z&)<K3|NaA121FaT>|4KW573GYTlfC_^9QK?$B#ci^MO_a*+9nkAHRS`UAhL+{_evk zpb2kxDysvfbxMN#f*JlU`zQY^LhkeOio$}3e{!F{EmQcr^GSL6jwe4Wc0T#^*>A_r z>rs#W{{R2~FYs{df1th(o-U3d9>?EaJIU8%AkzA9mBYbGH`h7sNw2^B(_g-`L3rX9 z2{FB2@Ap4h_VSUzx418+VHJCJ-7Dp@EHzuLb$(OP%aVOs6DRMQ<G=J1d+fRXpbV9M z?&nvpYI|iY(<-fUDe?>E`a8>yt1{YQYbDceuI5$J&iBL<YW)gS0yW%Ojx*)?6f_;? zJjl?_=-BF9+Ab(;pR%BlO)BHTe}`|@TME;KWgZoH6f_)Wbd+zmJ1Do0vFc;Y$AA~A z*2|wJoy%Q1c@3kiwsgPl@vMd^Tc2~J<gBk<ySr9?&9vp)!)>)UPh6X6ar$rVH=Q|A fuDm}vx=!$F+pQ4oR_0R#`klek)z4*}Q$iB}eJUd+
index d1360c992cb7fbaa47c51047257f8a6bad61f8a2..7e85c835569c5e0190423e953c6f9bdb60b943b9 GIT binary patch literal 431 zc%17D@N?(olHy`uVBq!ia0vp^79h;Q3?%1AoYnzSEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaMW0(?STfixRC2LmG$GYbn4bMf$U^YXE>u`{!>v9fb;^YO8;u>l3a;{05^ zd<;xXKye^qVqymB0wSP#AYuTS&cw;h!_LWd+OF0C$Q3UM@(X4tDBtn<=U=&h5z7^J zmOuHt?1|sf>pwop>O7tVRC3MJ#WBR=_}gnY`I;3(Tmx5WoOp17ll%Yw`KH&iwk&H) zuE{)97a!Qk*}k##@A(@qJ9Xa6t)KhD_WYM=TZ7o%fBR(TakFdd?oSUEaqWrP)%``! zNMFCC<B8VGh7?oBgR&yx@)e&YzP#lyeZjVpGmTGAdB$S{^&1a2C`UZlpzwmv<bd5l z7GWQQgZAxjENp6CUa?riDJ3J-B-UOg!>{`4RH2PQtCK1361L*r8S0X3&ppk09G)19 zD;La|d;Z1uHT&Aubya1oJW{3{9sK@Zt!wTYyX+I+16=Momwi6y7~S*?6eymqelF{r G5}E*Cxs%oa
index 2d7b460c706b1f442fac746bf7396e10b1a83499..d07931381f38bc629c163f8f1f95538e62277d5d GIT binary patch literal 882 zc$_s-3rtg282&2{JEU3-nGPK^6*W<&PP&O*G?r0Yu)AU{u{@j*X1FkGZD3R->3I4W zVtF(O0~N-2N^lJ<&}Es7MhudGpxC&$Mna)FwYFSoDZSjYdx<9J{I7i9|9v?*R}wG@ zCnz)s061~dSUH`enalR0<1OV#B%S;-Mc;@3jQUk%dH~(Ca^#X2=pNnllCIY$$P{9F zh$_L64X6rGHN4GcBC22}bnQF?lmU<ds7i322A2w`a&W4_iG%AbkmcaW1P9I>nzdB1 z%r$&ivP>ke!rLq+dUSvgqUES+X2NLU%V3<r&uM@x1FGV^knbm$KL-m%;LeA|OW-Yq zcX{BV%~Ua>i1ZTW!X-TrIY8us=SP^o0B#+43Sglah#!FJ6p}L&XvXY&W=7Ut%4zdG z?scjd&*;?zQ5s1#??8lYsa;4l^3m%F<gie`eufqaL`=_>?sVz+&vy_1LVJzKm1D<1 znbb-W+ORM!k1!E!rhZ$S*JiRUs#`FNS~E>7VBT=;%AZT<CmoK96)B|m?>)&pGME-} zacWOWO~2;3Ow(ehInlT)f0u_scg@o*MMRZHxz3@Eu*XY%O?sYey*Da->dG0^L}X(U zpRO-@WYg%XYYo><=8kEH>c-rU-bCk^QhR*K74~;?k5z+74hZK9>szzdsOp;CQ4RlW zO$f%5iR9V;j2&4lO|Uk@n1XE^vGf^hGyKIv%9Pn|j-4N~H^Z~1DSzl0`}ilX<Z0K9 zi6!-3^3wq83{lV4C;oo0Fd%WixV^Je76b#Ax%&HA+<~ez;f+=i94@MpT?}L?i{~%g z2xReOTdM`^fzYnWYylh6O{p}3eS2~{XT`zV_!gX7@P)ENfpcLnmM<!XuD?%zd6-Fu zn(2;P6Tc<Yzu-4z<OB~&#&H9^wQvwk4V{(xUIbs-$hHJGOA7a!m0xcVTs;ur=4`(F zFls|>2);TntmNAhmaoWeKf852HEDdl{^L8}|NCO`!8yBhr}*=Ir$!VZ*9CRo<%y44 zO_a*c!QPxq!Pw>__g;Hu{~C+Aqt;nV?@AhZ4gI70a-O!WyxprCp8P}5Q@LgANgjUl kBbEC6pJkzQYvs}d(B*0<YikdWqdx(}iLu!3n6#q*0bA9hu>b%7
index aa59b1edcda50e8c15ae63eea6cbc51f57403c9e..81974a6e587bef40850b5920a10cc466ddbf7d7c GIT binary patch literal 967 zc$^(l4N%i%7=Ooy8~^b!f#YBenjv7QG_Z{z1V$TQvN<;#NT5)Tuj@c>Opt&G%_2Ol zNT3pNSj@N^unm-9IGP$u+`yENyFwaLmn@7LnSlEA&b#OR{hsH&_kEt<@7}jjBuw!j z=mbK@BQ2FD#{8ONQJgV$WRGpb<Wj^Ha1qj+ramcf#WhJTPDw&N7RCddr;9Q&`FPV( z3}zXOmw*mA&{7KKx4<F;4FxoAFjfFMH_%X_*A;qcp!EWsH~g3j+Kph!fj(z2WkbI& z^g2V26ZDdvBMvf{i@<`r6~RO)+{_0J8OBQ;(MN_+siPdr2Q_l!I!~YwREH9LrTF<E zXU9q02WuDzfEyyX6bRo%!POWr@?mHz3~qL4#$x(?z_btgHo&d7LF*1T_d~xQ{2+nr z0vKk)NCJ#-;o2@R#DOst^kHx%0xmOwO3=asIGi9JcE=)k++Ybdi1mC-F~t%R><+8) zboU7*IL*W)!#hMNGIa<{-Fv2*JWO<INPC)zPK1Q{M{2X~eJi;eN<@E2xwrn=&PD8D zdxcmiL0yN|g7j5E+57DFAeEh2xlpMeR4uGNt<o>7$^Q}Br@tw`Z-4e!sCsGji6S%v zzY%FZjmOPQ9aT?dNsJ=e3G0PU(hDCA|2Gqw{UG1F`jzw#nKL#pDDn=!6D&V6|L)VB z&ds?81J=(ijn5du+*it10xL`81Mek1Hdn8CRxPe_TU#H+yct=i7*<Wl^s}E2-L2Vj z;ObI!LVKjYd%WM~Q^amo?Yf}GWE5$t6cL9Nb$hpYx&;nO)%)eKpG;3KT3+`xS`TsO zdyt%@9JoE$OqpfVrN@1`bGk;f-9qMB@g&Ff(q08&ZRujayqt085iR+`o<?6(&-uL~ zwuDw6@85Kzn1+m*;rwHWRu~mPcd4JS{reLW)v~_Gz;wKk*RX-a%uwBVm4cL`_my0< zmLC_S;v&jyS+s}K1X-?UcsM2gVP7rA?b^(RB{Y;|nA?2}t$be-kBK&v8$owD?-k4N z#6*trYveg5mhhFe6}~dMwXO3P@vrL6lbaZ=zs0&v$&NCV{Fd@9%gHU<DQ2bU;`P7M zS<!}$t-)u~Z4J|T{o!XmwY2YuE51B^E+)@h_9Ek9Vxc$x?+<KqEjcW9?b(AT)lKgw zo|hUDY-`UR+SqN4O@I1mmu|mdNfyj`Nv|#3+L*GV`NV-}ZNZVUI_uZFsCK#T3MfoJ br*1mxdXbK@zG5ub;ctS{_(EP!Qhvk#B9P6;
index ddc716189a8db7e6a9c970a17dc6500d42ab2255..59d0c42aa11b7c092039cc14634369bb719364b1 GIT binary patch literal 361 zc%17D@N?(olHy`uVBq!ia0vp^Dj>|k3?#4J%UA`ZSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?slr1o(uw0_phV49bzKl*}feS>h!@e!&bf-g95+m$Q_vKD(qqXcFVa)=Iq> z37-|RqN{;Q=6Jd|hFF|_dnKCxkOB|ugI6URx^M59_y4~?Z=WM~w($I^+b7p>o?Y1Z zqJE$C<K!nF@0qVNl505sv4&|^kSyc6CdPHUGlEyI6xizHdiknz>eAV3bS7UpZR9z# zP4lpT@9Ib$;dHUPtB(boS&{YndD@CQiL15lZC=LrNOw`yyLDc#F4R8?Sx`B_mi=n{ rsoycp2RlpG`ATF@yZHA6{|7c5f8kAEJw+mc?qu+E^>bP0l+XkK=Zue-
index 1144f520a0f7443a07dd079f92efc1a01e867b39..b0eea2e7704d40178a1c399a9128b2023b83e5a1 GIT binary patch literal 437 zc%17D@N?(olHy`uVBq!ia0vp^QXtI10wkH8TU>z@OS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a><Y92N-!mPySp&_Z|^^|AIQ7l z>Eak-ar*3JYraDU0xs+>FHe~t*r_5btM1wOL?g9tveI^ijbAi+oQ}+5x||XdvHSJM zH$Rl$O10Z025aZM-Eq?5=XuxcCr^764izq5>X?&ZxoF|jw!;%_bUQr^mN=+fe5C7X z;v!_5zC|*<O33hgf~V4j$uBlXX)adMeSdrJ9@CQOw@laeT8k+)I;1T8y(s9zHUonV zB718>r5PknX}SOHpMQI`MMszN`dxQ!rGGixY`gYr<m7j|vP{a{W4~Njvh&Hwhq=$! ztJ%JbUHR*s^>JZ|2KPz64Ng%&zp0kEMwFx^mZVxG7o`Fz1|tJQ6I}x{T?69~Lo+J_ sGb=+wT?2C~1B2%5w>~Hua`RI%(<*Um_+%FP0jPn&)78&qol`;+0DtD79smFU
index 51637ac61c9d69aa37ff14bc879f76aa5cf0477d..eda09a3f6b27fb6772bab05f1541b4a2f79d3b34 GIT binary patch literal 473 zc%17D@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpoC?BPlzj!j!({rj!#a> z$OSTpMF0Q)zn~Z62h=QB666;Qq#1aG+LkE)S*^5Aan0{-9*fql0g5pudAqv^Rqx3G zDVXf(;uxZFerwQMzQYO}I%~u1*4+ADe{<u`&|5x})uiiNWMtSaeCrJ=ZeHg&@KZVH z_-?kHrVpeqvmbuNcY;0Xr^6wU8fBMdJFcoltGHd}RtXX@=o4Ie(sQ!m)lX{m*S<`N zY$?7p>!*=)k)G;oySCs{`@|co1KI`789itzIl}KIr<=9mUe%PRFZHJ{=JC7vpTT}B zyZ;Qf(^)#296;x(mbgZgq$HN4S|t~y0x1R~149#C0~1|C^AJO0D`R6TQ!`xyb1MUb hc1NdZ6b-rgDVb@NxHWu}`SlzW0-mmZF6*2UngIQ-pEdvh
index ebbc374e84d15efcd286e66b21cc154bbdaa38a4..5d5532be3c4f965944618883b575b70bbe1638ac GIT binary patch literal 422 zc%17D@N?(olHy`uVBq!ia0vp^Y9P$P3?%12mYf5mSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?sm?2l#}z0_k7B|Li_^e8aXq8@BJediBZA-+zAo`hDx}!&R$Rt=qbH<Mw?U zw(bS0S-*A9wL6dAe)zO$$G+VMPXI-3-hS}z!>6A=fy#dax$Cy>S+(le<HwJG{rU6# zJ5cZs&~TtGAnVTkM?jU&UcO#@G2R&{DpwNZ7tC<|uhtZ{ssH}5_3gR7=ZDS&?fzfa ze`-(oGJ}(I#ud*^C0~FlS9`iRhFF|_d*voyvw}eD!-Kqcrtd0kUbOGOahQ9u&l;aw z-ElwT>p5Fmm^UmdJJ^5Iamt=D)xd=O3GX8oJueb}-&(qNt=5|@HXh{*?c=JG&MENn zo;y>d*xM-+x$vxy_z5r15T(@`VZA<#%O%{^PWqK?vNvwvUK*9sljNTwdDJLH^J992 zRey7O+PzJRc{xEFcN-M!JzV_r@xI6%yAtK^Elu_P`*(>}^5hEUr83>J^@pX(fX-&{ MboFyt=akR{0HCthtpET3
index 3f50e414fdcd8c56c0747147a34b30eccac0f03e..997c1c0d3698da2d859fa7ad56300b6c7c7a9fe7 GIT binary patch literal 369 zc%17D@N?(olHy`uVBq!ia0vp^Y9P$P3?%12mYf5mSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skM2Ka=y0%<O8UIr#6E<QeH7FKRvJ}w?!R#rBUVrFJ0W)=oUMg|aviH(C3 zA`4W^&CAQp$H&9V%f-vb4Mq?(?3`T7cU;N=vc*e+{DK)KOqqK9?=Nk({=a)TfBd;| zWyap!Gd_R0ey8ssP|0jh7sn8b({Hbw<ZD(CXn2??T(CZN!JhxkVh5#!3zxlJ$^QTI zbO#P&hU_}=KQp#%s($xs$yMo;3fU%Y5vSVB@T($cm86B&+Zy++cu|qIt2|?`-x({V z*)x{R@L97cLUbm(d)cPRf7O3Kn0#MYTEk53n8vYB7TPf@ZO$nas7;eiS~p|Xz13_z t7B=B`Z@raDaef#pr+oST`jCFJZt-TutlO7P*xv?u%hT1*Wt~$(69AShcX|K-
index e65ab65940df4354fc31fc78bfe509e5a87b0c21..549f83f7c5df9c6d5beb56299c352409e88e54dc GIT binary patch literal 641 zc%17D@N?(olHy`uVBq!ia0vp^Y9P$P3?%12mYf5mSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?slP3h)VW1=9Z}GyI#x@P87+yBvnU6B*uTGW^eG_>j%;56I49_y81~!0>-E z!~Z^pk9iCq^BMm3GW_Xbc%Q-WKAqw36p;AiLXd)w1yB-X!vFselR@msAjSXx{P<i9 z(*C84;dckak0yqntqgy<K~}@<`t#__|JN5k6*ByJa`AT;!`CW?uaykn>KMM&Fnq6P z__r_Z-y*gDFHU`GRQt9f?cbiX|1VAh-S%}^I?ze~etiD_=E|RESMGn2dkC~!wj{_e znBngpE$u0P*rxUG`Sa(8_JnKKe@?hIgOl^x&+DJRG`@-{0S1YRr;B5V#p$_MuIC+c z5NJ(gUiW31+-#M1*~!T<FWDx2uU~p#f`UrA`>j9M?;l-fVkJ}VyZXrA&269VRIa~L z86suwA(SQTwRQLJ)vK!SB`sY&^~=>mpI=>ic{5$jXS(s!OV5k6Vj{N322EXc?o^rh zjG(;GCAljZq-Dw^Zp*SAXmdF}!>>(!Sz*hHj24FO<T*zT4Q?NsnY-EG`q7!MHyIp1 zIP>v_4T}y$1~QyBnv*KI!RC16JZ5j9IjWo+OpZp*V%n@TCsK^tm}ib88+W(T99Kb^ zpOZV~eqO9$yk_p))0!q9asEz1PV%>gkGl1K;l=xp#vgP1c0J_#)^AVe^G=-QxPkxw zkK=}S*d0HYXIXfP-Ph>+bolI{kBc|{2z*&;^XR5}sIzr<{yD*kssDRQc!2@S;OXk; Jvd$@?2>{sdHKPCk
index 075e6663dd9625419a667140d6f63bd4547e0f08..1278efbb409a23a60307483f76aa4292b0ed7618 GIT binary patch literal 707 zc$@*l0zCbRP)<h;3K|Lk000e1NJLTq001Tc001Tk0{{R3pW_*v00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#^H5AwMF0Q*&Sn3w2>;J$|F8xB&u9P7X#c=4|F8)E z&tw11V*j!Y|IK0lv<&~xY5&V#|FjeT%Ul1o7XPpY|H@eZuLS?basRRq|Ed80&uRbA zYX7qk|E>c6uLS?E1OEsL3jhEB&uIU!2LI1#|E~l8wiy4;W&g7d|F8)E3=0t|3p~qN z|126e$yNWi9RIi=|HxARxg-C_Pyf3r|GFpty)OU0GXKFn|G+u_!a@JVNdLx5|Gzf> z#6<spL7lKw+c6zJCkr>R3jdf2+s$MD4h<8{VgGLqoqjx>FdIG0UjMWc|7;1I5DFG4 z88jpcG$#r;-ZNj#0000VbW%=J0KB}8{FeO&mMWF}{4Ds7*4Oqc`H%^Z3D(z;)Y$X| z+N_iS00BcuL_t(I%bnEMPQy?TMNy~PPOo%uC@!(%-b;FK!2f>@$poTE#v{RgUJv(5 zqeBqqI<bg<MrZCSudyn(8TtZ|x%_iN`P|i6r8sUdnlrKHqXEaI$iuUbtS}q)n1tSk zv%-ndrA4A*nBJm91FLRU4AN>-1y+~V7+XtqU@fVOv98oQunr;144Nzh(=?oE8Zg7a znPC76L!5;nupq!$5CH4<an|nx^L?E8J}}qCnd<`cJe+wRuqeV=6ajM_oH-6K+s2t~ z12avWnI<sH!kJ|O({-HbIxtnmnW_R)6r3pvFqXv`%fgX2SoFyEYy((rD`HIC)_`5} zON=e~dtl`vKTcL-zF0nu12vg`CaI6<g!<kPGA#%@@t1$>#hoCef2M{Ysq9NaS?cCu p;hOEo>|3m-hj#PtliEQ$iZ9yVom50=bjSbz002ovPDHLkV1hQEQXl{T
index 8ab857bd4572d2f7bc1bad9ab2bbf12879ee02f2..784b506fa83d7bf9c69ddbfb83f813900686d48f GIT binary patch literal 341 zc%17D@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaAv7|ftIx;Y9?C1WI$O_~$76-XI zF|0c$^AgAj3GfMV1=8`!8Pr8lx4UG3=1P|Y`2{na$v?aOpRV95_5<a-Szkq#&z{SC zL3zU?7AI*N#e+YA$|^iv978nDAHC?w*Py_|8c=XZaL)33|K~BW9=x)(%=I7lOLc>9 zzkQN*?`(YR&BDy!?pbsrq(N@Z3z<_Kt9Xt+bKS$TRB@;9f}P^CjIT+|U_E&@&UR(R z$<wpAzHO<NyR>tjMsCB^?}kd}8Jd323svhsuKn)y?qBbM^{qB?ytdil017k)Pgg&e IbxsLQ0H&9LNdN!<
index c95ae770aa2491f5edbd65f321cce79a8728d9b1..a6297a75e1a3050cdaf47de0d4c902f35525d0d1 GIT binary patch literal 574 zc%17D@N?(olHy`uVBq!ia0vp^#vshW0wgD__^}X3v7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHrx4R3&|Mvbf`xzJ* zBRyRlLn02po#ETpY{27YTg;Hr*Kmcm{1k5$hlQy61Dh4A99}J}+T7r1A|O=v#P_xA zp=aHHoi+&myw!gD{1>MCy&0cvAC^Cx)GexfDB5EVi;|MtnkVa)JU%wHt8G%sd>&3! zUeWNdlp?J-hwZT$A}<@nMR&#@yL2Ji`=n|dhvSZbOMD-BujwbZUH!wol;abRhfVdw z5~WLlN!M<u2tPMlS2Fu?8lzy(y%|Sz`zm{xd;a`ul<Fy+XIN!1uRm2S^U1N!wO`|= zz3!P4s+YF+Z7jF(t+Oig1dq=+Vr+Hd$n1%`Umevczpb>msppZwWQE1nrr(8Uut*jP z3H!Spo#8q^v@l9-@7=0}JylA<lNC?AwUL~f6LLf2jmgsQZcjx5EH8`rWh{N)d+K`d zQt^NnIa7X_OkEeevi+McOQ6wgHKwIM-7=$sXW9Pl(Mdah(e8+}&Q9s|U*aER%jeh6 z{lJ}Yx$#^dFvwL)Tq8<S5=&C8l8aJ-6oZk0p^2`6nXZ9xh@qL4fti(|p{{|sm4QKX h_FEqm4Y~O#nQ4`{HGDD){Q%U!;OXk;vd$@?2>=yD;1vJ>
index f8fdfc73cd13832bf3a06ce8537bc5d718e385b9..8fd7a3d1d00f3a61c1bf29396fc19be4759ab8e8 GIT binary patch literal 679 zc%17D@N?(olHy`uVBq!ia0vp^#vshW3=*k7AOWOU(j9#r85lP9bN@+X1@aY=J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10A~wJ$#1%-#C8ftFXZQz& z`38hk)V3s~WY#uyDk-amMa9J?riO&a0A<NQ|NsA=`|#&yparreL4LsuNI)}2P-WY@ z2EM;vzX<TxD}FeV_937VD9)JV?d~F1#HFAOWE*<AIEHu}e>?3qQ<DNuTc%prJk7Jh z@Bh!zbYx<BweGg+=lkCt-cfmye@Smc!~@2M`y<pN<9>v0UVg&(GJimrX*HXPe^~g^ zl_yt;=kHnMdg(*>RLNO;p3T|*=B)_ho=EH8ukTzCDW2nch0$f264Q&8C5fyNC!-Z_ zO?&=T^Z2xvryp^#uS%PJ(&GNK3u}GCD=T6nt*(FF@rti7%17(jtlQt8C1n}D)G_(C zt>YMrwT|C1TQS?oU2C86czS$Fe$oE#__PTdG?x`heUHpht7~yReWl;Y=v(`yGiA&Y zY71wwHQZL@RpM`Y{%3FEJ^n@f0)NZ)tv5GTwBSB-$ggI3M`c0XyM$-bNqtGrw(b*u zH|^QG+uSq$Hs35Rnjhrf9dO*P_Qc+~RVFL%+~zmFF!4XL*FUwl%$;j2PwbpL2^hx= zswJ)wB`Jv|saDBFsX&Us$iUD<*T6*A&^*M@*vi=0%G6BPz}(8fpxx0a8bw2HeoAIq WC2kGhWPUvdMWUyxpUXO@geCyZ*$1Tn
index 89cea79db63a90132ff6ad08b94c10fe525cbfdd..dfd21d4ef831de4f25e75a08f1b9535f95675028 GIT binary patch literal 628 zc$@)r0*n2LP)<h;3K|Lk000e1NJLTq002q=002q|0{{R3D-JS400004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#kWfriMF0Q*vADmlwY>WK{javY`uqI)`~3L${;IaZ z^z`}p`}?o8y!!n7ueH4T`~0xBysx#q`uh5>w!N{qzOS{tt+TzawY#~$#^~+s^Y{1p z`TF_%{K(DH-QeT;{QT+c?)v-uuC~1T`}_a^0I#*Y`1$&}z{at-zwGYt*V^9m_4eK1 z<Mj6T$j#E+-{R@)?f{?{Pyhe`B6LztQvf9Q(VFV|Bnk?N(46V@SBWws`sy;s^jDh5 zSjg*{`N@cG*>9Hs00C4<L_t(o!|m8vl7cW0fMJ$E2#espFB3^v)%)LWn5jmwz$&EY zVXVr3fUg?OOSh)AJNHQY%$$%c0weB`5iCgPyo7YpOKEsS@1E$(h?C3pmJ8k^k>9SD zBsQXs$tGSbi(X2@D`f1o2Ac;-_9pa;Wl1oHCshATGnw*1rE;b>DaVsJA6PCur$I%s z<bx|^^q?lwlp{)~`kf*fN0pJ9a+U%|iKPQnSa4)T2ow=mN)VuS9NiA6J)YVFb;MK0 zAF9GiJXHcE@RR_G|3QjUl%f=+C`BnsQHuK4RF#dFY@jSWWdXIpQyZYxcxnyQ3Qw(o zVk4|HV)bh2V=4c>rBdW`u<2tBcX5>4*yx#wkxbS+Sy03?wdm9JLmLmatnu?9rJ8Ht zH=4A4Dq`+{|Iv0?=LL)UZ@$%$PhZ~E*!FO;dJSh=r^A+g(CzVz2#9Z8ZDEE5@hmF< O0000<MNUMnLSTaX*h<d;
index 2113d6375148463f3d28efa0bfb42c2c9c72d0c2..b7166e0cf8d845d315a53281a11e638f124949e6 GIT binary patch literal 543 zc%17D@N?(olHy`uVBq!ia0vp^ULefD3?#MrjGTcKOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*uo0G|+729PKdHxDm2FE1M#8!IaZCl@z6J3AK-F9R!($HBnF1XKVa8JU>5 zdH5Kan3$MZxOw@wdHKPJ4`c!_KagYxY6fz_W^!`#0F|+^bBL>VCICgGOM?7@8Gg;W z$P@lr<rjxh=Y`oXzkHo};$-KXSFgH$oLD$p@E1^@v8Rh;NW|f{H*Oa-D+sV9G)W!! zJkiA2<=%hI=DAB}9ZQ>X*46rHeMA1VLj61QCp^DX*7E1<5zouht{1wmOTDe~v0p%Y z)yIHUO}S1=n;-kQWpCAvnthUQdS~y%qSq^$H%9$4iHPcJU+ABs6C9yvemV8hDebCV z8%$M;;xo4uZCqqjpSf*QYm$0P%39&yi?|jC7`85c<fRyV)IpWadnU^Yw}qD(u0C2R zw!(Ox74y-LBJ(x7Gi{bO2IYG!U=m&7z^WC{$Q82SANSW|_oJjcm#YNG&U@9csG@6E zF{l5|V$F3MgWmR87$vMsw5*u;`oQ$&>0c~fCCBo)NN5W2Pi0N=ed?U*=<zD|WWH<H z+|!?XFS@-~sp@}!qIzR&>&52XQT%UQ9o?;WW?Sf4|5~)*ckNC^rX#Yi1fJ}?)pw>4 O6!4y|elF{r5}E)&>B15K
index 132331a091fb86b0cdfe85303077d447bf8ebefe..93a4ac6f8717108c2032eba7bc2aceab694eaf2d GIT binary patch literal 1005 zc$_7YX;4#F6o5|`tEQzH1?kXA88!uMOQAn-grbBc#KDk~RMIIFf(V#kLs)bINGT;F zn;1X~5m13LG{z=nz+oGujCB$^B2rdqYC&zA1ld9oNO*a#_oXxUednC}zI)F7aVuF& zx)bGH3II4UVxtmJJWhVQUPC<ec5oyLuV+S_hydum{3gcRf$CTC66iEgKH9HGxeF_f z6OA^B23S2qt~EXoSIBa`1lIXrE(N?ERvf=p`Cz{ccpaIn2>@>ZqTV6blRiqwO)2SM zmtbA!U=Cn4<Po$8f<S{%A0(4Kvq&GE+A0IA8rIH&F^ANQxv*Ugn<Zc=0!uNN&cjAN zSj)k75zJyRodc_coU;Bk*lWoVc<09iW;KdnBM-JK!BPU7rC_Uojfx<<6o}~-tGbo= zSA#8R@F5;PA|!q*C(JsdB+$~qvnYh-4jw)#*&37(mL=S@gd6pnedYKdPpR;TLD%)l zPhhfP(_m}%(eLtktFm&!+^k6)9rq4yPHYOcnG%<ltk%a9S(b-q0A6J<q9Qol`_pr? zx$`U+3D0x)z9TDtcE9xTkv@&w!+ciZy7_2(m_9R;ogKE|rq51ZDDYjh4%fM*aOsl= z`rhNsPqqy8CiNz$ygoR+udz`}Z!@JC#J4+LC)u8%&d!wXnos@5#_zJ`wZDG%A$O6A zb>N~us(-eK2o2R)@GVgulfw41CI`+8dS-O0{kNZdnXP;9^r+$7%b<YB8~Y0>p+5xY z#gD0GmdtHky`H~Mo7_Lw<sZ4%b=X71iy9D&W%MYH7wl0D#QpR<#@e>V)y&EQ7HqWE z!DC;g-kRgzu^BiX;yU?>q!c+jQ4=DYSDsXyEx2{5xY;kY|8`;7XX8^vaWq6B;?c>e z6h{$)cq7d0+`yVT7=Ph`kBfPftqR&5ZI5H`Y$|WRE~g@fiw)ERZ9irjoDt)%+bS4- z2AQoEG4q<O28D*MlGMFbwioii|Lu1iw!6cgSEHtJcSjI0;j-&TzQl~zUupb~iL4|A zdsY+D6!5(8CeumUC<_){kTa9LLSzBc{5!{5DbmK6K#^E$;&i_M4Ac2CKRI-@%6Mu= z#n@0ENBzsP{91n1RL)Au{hoeRi##@ylcA>W%q^M|7wcOFwOfm&|L9Cl7!OzPou^%0 z2|H|me3B*z?045jg~krJY2V<rtHQ!!NAe`Yr?9_U{4X-U@D5K;UzQ)_*2=zd6No3p tSgA7o`vUK(G~MZ*7vXI^>g188E$VWYwB5<SdJ8>4U_>*cl(f{c{{Xh$_&5Ln
index 44599260ba842e29f5ac91a68e44e71d3a991357..fd9dbcca65155f15482f4dd758d1cc1a28f84f12 GIT binary patch literal 1130 zc$_6tdo-J882?%fiA0;J9aJyGK`BdeFexK0LyAVig05~;x2^3_UArMR)hgCfHf`vk zEypF%C4#tgGq<|cB?-%!(`hxw)|S-ebVC!mXWy6o@&4ZDectDHdCz%^S>ZthoFxuH z5JE_B02|$z*fP>X(TPa)M>qXcMi>J@BxU%WL<97^D~lcEhlr;4FQN5mR%m1(+LRbV zt0B}QAWw(s(=e0{Q|Tbq!)ml6ONMqLOvQm12NGit?}k=AP-cKE4JK1SmI~A8fPwBx zA0&7{)uxg_o&gUK4BJd#G9Df!K?eyYPC|znNX_AK3_Om;EYL{_5z{xq;n5_hn%DqS zMx|uB45$L;_#WmWF@jDD80SFOet2jHztZ4mM;P#ees}0~g+~D}90a4`I>$I@H`UpZ zU^)e+J_qRsF#aiwML@qN4En$j1A1)X7iSn@Lib_lJ_sYBx-fVk;7L;nSVHMOEMx(r zP7pbhiL0x?&4l36Q)v0-gaghv-zet{+5z87UX_-l!>PuV0@h3gQBJk;Ei;tG625B; zm*a7J%yEZejPfI$GMJV@S?KeQUSNlF5VFFky4c88v$V;*bH{{Ry=0=H$`sU+V(qea z%x-DpAHvv}TBFvC+mh|xPWr|m$nK1g07hi=kaAARu}U->QGJv-@YHRE?fR8a^3Y?I z+`YB7mh)=Y;GUGW1<l#Fr_Nk_!ArTOO4@3VcIldD+)~GM$tdnBo}BTlm~u_L&1{}f z^`;&X*S8$~^Ze#K<y6_M@<qA!tfTVM(m=NNn&3Q-NBiOe>ta@K+{aa4XKUh%8k%43 zJ>o&&xJ`7t2{`G<^?B-K(deWQEhzmweeMzb?-OF_GQq1fdX0+(v+_gh8?_PnpSg6M zap=5}`TWP~+LF=5u&8C%5zcI=W__`rwTfgN<m4w)W4KMrd_#Wq@P>#k{a)kD!E18! z!fIlNa`OelNfLfkQybrvWbpcZs=lID&=l;ai1XR72yu8q+aRK-Zu<9-abQkko(+c2 zFnsr$75RRe_^!5)Y_?LREx|Cm7{v`v{LL$M-W)NCy?M(96|9cmPxO95D%sQu4x+-f zf+!s^yHq#4P>v1v=_q}=TJ}HDSV!aqpv0ZnWAP4VWU-Vlqq*H?HjrKa;L9j(1?ob& zvOl-b@mrhnId0P?WsA0NaHEtiE%>HL@I2YsyhXrtyKZ05boW-?j!?*sy8bRTUf@wk zs|pPa6DH7e|K6eHu2Y_{%RAFN=iUUK>rz->eJPYrn}6xu)>``Do^ZU6_Y<>aulnk& z>4fi<Rnco}k5b~X2x6J#Xpa34WBtPgW?r{fI@#{(zv^waZ*Gg0=KVK2?V}eHw|JbM zp+#<Oi-EtYp=dkNu*deeinVT8<Lz=>dtyiLvU_@S@W?q+^t&P<f#Crnzl6*G0dXKb AivR!s
index 74f85fb8c4f6dc737f41fe49184fbcd453a4311a..6744bd1d9b18b183b72eb398764a2603155ff20e GIT binary patch literal 417 zc%17D@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaOm0(?STfpmOw2DQ-MC5~}G6D3Q6{DK*xQ)iw3x0G4rud&YK!yH!xRwR9Y z>&zHdTX|sDQ=p<Vo-U3d9>?Eay(`qDAkda5<Q=l+%D->_@=dfHZ^S0`d-KixKJ(H~ zqovzEw?DTi{gPC__vx=<-nV@5YoaVnZpwA6`1Vdoe->jyM>+oj%L~i`8^0KAE{_p@ zSp83U%0Z<sJ9oP+x}mK2LRj%tvf^uH#Wx!@zOS6{#V_JM|Dw9ud1uP@e>W2RE;R95 zs^G7UVx1ZMZc3B>a<JTr4)m$WU%g|q{l%GY6gf`sGu64<FV6gX>MriPx83LToZ{MZ se)@^8@2;BIov`b@miGJl&&JOz*MgP1r|SH$2l|V_)78&qol`;+07_%7wEzGB
deleted file mode 100644 index a103e9cae76da0d02d081310283f83f33adce330..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
deleted file mode 100644 index e0b2e7930de68c648b7b976779df858e2107f8eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
deleted file mode 100644 index 57cb266130413a1faa9ab23fdbe80432602ad601..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
deleted file mode 100644 index bc36bc396daba162cf97ec824d4c43ced5ffe25d..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
deleted file mode 100644 index fdf7251dd01b38e2458904607c4e6c0147f4a690..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
deleted file mode 100644 index 2a457673b68d2eee792302d7ad384ec943925569..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
deleted file mode 100644 index 69aa6a5b103aae93205be19df9a72c53646c7ae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@<O00001
--- a/mobile/android/base/resources/drawable/close_edit_mode_selector.xml +++ b/mobile/android/base/resources/drawable/close_edit_mode_selector.xml @@ -4,14 +4,11 @@ - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:gecko="http://schemas.android.com/apk/res-auto"> <item gecko:state_dark="true" android:drawable="@drawable/close_edit_mode_dark"/> - <item gecko:state_private="true" - android:drawable="@drawable/close_edit_mode_light"/> - <item android:drawable="@drawable/close_edit_mode_light"/> </selector>
--- a/mobile/android/base/resources/layout-large-v11/browser_toolbar.xml +++ b/mobile/android/base/resources/layout-large-v11/browser_toolbar.xml @@ -34,18 +34,18 @@ <!-- In editing mode, the toolbar shrinks by changing to dynamically constructed LayoutParams. --> <ImageView android:id="@+id/url_bar_entry" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_toRightOf="@id/tabs" android:layout_toLeftOf="@id/menu_items" android:layout_marginLeft="-18dp" - android:layout_marginTop="8dp" - android:layout_marginBottom="8dp" + android:layout_marginTop="7dp" + android:layout_marginBottom="7dp" android:duplicateParentState="true" android:clickable="false" android:focusable="false" android:background="@drawable/url_bar_entry"/> <org.mozilla.gecko.toolbar.ForwardButton style="@style/UrlBar.ImageButton.Forward" android:id="@+id/forward" android:layout_toRightOf="@+id/tabs"/> @@ -69,19 +69,17 @@ android:visibility="gone" android:orientation="horizontal" android:layout_toRightOf="@id/back" android:layout_toLeftOf="@id/menu_items"/> <org.mozilla.gecko.toolbar.ToolbarDisplayLayout android:id="@+id/display_layout" style="@style/UrlBar.Button.Container" android:layout_toRightOf="@id/back" - android:layout_toLeftOf="@id/menu_items" - android:paddingLeft="8dip" - android:paddingRight="8dip"/> + android:layout_toLeftOf="@id/menu_items"/> <LinearLayout android:id="@+id/menu_items" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="3dp" android:orientation="horizontal" android:layout_toLeftOf="@id/menu" android:layout_alignWithParentIfMissing="true"/> @@ -111,15 +109,14 @@ <!-- We draw after the menu items so when they are hidden, the cancel button, which is thus drawn on top, may be pressed. --> <org.mozilla.gecko.widget.ThemedImageView android:id="@+id/edit_cancel" style="@style/UrlBar.ImageButton.Icon" android:layout_alignParentRight="true" android:src="@drawable/close_edit_mode_selector" - android:background="@drawable/action_bar_button" android:paddingLeft="2dp" android:paddingRight="2dp" android:contentDescription="@string/edit_mode_cancel" android:visibility="gone"/> </merge>
--- a/mobile/android/base/resources/layout/browser_toolbar.xml +++ b/mobile/android/base/resources/layout/browser_toolbar.xml @@ -16,36 +16,38 @@ this View should be matched in the url_bar_translating_edge. Note 2: On devices where the editing mode cancel button is wider than the tabs counter and nearby buttons, the url bar will shrink, in which case the LayoutParams of this View are changed dynamically. --> <ImageView android:id="@+id/url_bar_entry" style="@style/UrlBar.Button" - android:layout_marginLeft="8dp" - android:layout_marginRight="-6dp" - android:layout_marginTop="8dp" - android:layout_marginBottom="8dp" + android:layout_marginLeft="4dp" + android:layout_marginRight="-15dp" + android:layout_marginTop="5dp" + android:layout_marginBottom="5dp" + android:layout_centerVertical="true" android:layout_toLeftOf="@+id/tabs" android:duplicateParentState="true" android:clickable="false" android:focusable="false" android:src="@drawable/url_bar_entry" android:scaleType="fitXY"/> <!-- A View that clips with url_bar_entry and translates around it to animate shrinking or growing the url bar, which occurs in the display/editing mode transitions. --> <ImageView android:id="@+id/url_bar_translating_edge" style="@style/UrlBar.Button" android:layout_alignLeft="@id/url_bar_entry" - android:layout_alignRight="@+id/url_bar_entry" + android:layout_toLeftOf="@+id/tabs" android:layout_alignTop="@id/url_bar_entry" android:layout_alignBottom="@id/url_bar_entry" + android:layout_marginRight="-15dp" android:duplicateParentState="true" android:clickable="false" android:focusable="false" android:visibility="invisible" android:src="@drawable/url_bar_translating_edge" android:scaleType="fitXY"/> <LinearLayout android:id="@+id/menu_items" @@ -64,64 +66,66 @@ android:layout_alignLeft="@id/menu" android:layout_alignRight="@id/menu" android:gravity="center_vertical" android:src="@drawable/menu_level" android:visibility="gone"/> <org.mozilla.gecko.toolbar.ShapedButton android:id="@+id/tabs" style="@style/UrlBar.ImageButton" - android:layout_width="64dip" + android:layout_width="72dip" android:layout_toLeftOf="@id/menu" android:layout_alignWithParentIfMissing="true" gecko:curveTowards="right" - android:background="@drawable/shaped_button"/> + android:background="@drawable/shaped_button" + android:gravity="center_vertical" + android:paddingLeft="37dip" + android:paddingRight="11dip"/> <!-- The TextSwitcher should be shifted 24dp on the left, to avoid the curve. On a 48dp space, centering 24dp image will leave 12dp on all sides. However this image has a perception of 2 layers. Hence to center this, an additional 4dp is added to the left. The margins will be 40dp on left, 8dp on right, instead of ideal 30dp and 12dp. --> <org.mozilla.gecko.toolbar.TabCounter android:id="@+id/tabs_counter" style="@style/UrlBar.ImageButton.TabCount" android:layout_width="24dip" android:layout_height="24dip" - android:layout_centerVertical="true" + android:layout_marginLeft="40dip" android:layout_marginRight="8dip" + android:layout_marginTop="12dip" android:layout_alignRight="@id/tabs"/> <!-- Note that the edit components are invisible so that the views depending on their location can properly layout. --> <org.mozilla.gecko.widget.ThemedImageView android:id="@+id/edit_cancel" style="@style/UrlBar.ImageButton.Icon" android:layout_alignParentRight="true" android:src="@drawable/close_edit_mode_selector" + android:paddingLeft="2dp" + android:paddingRight="2dp" android:contentDescription="@string/edit_mode_cancel" - android:background="@drawable/action_bar_button" android:visibility="invisible"/> <!-- The space to the left of the cancel button would be larger than the right because the url bar drawable contains some whitespace, so we compensate by removing some padding from the right (value determined through experimentation). --> <org.mozilla.gecko.toolbar.ToolbarEditLayout android:id="@+id/edit_layout" style="@style/UrlBar.Button" - android:layout_alignLeft="@id/url_bar_entry" android:layout_toLeftOf="@id/edit_cancel" - android:visibility="invisible" - android:paddingLeft="8dp" - android:paddingRight="8dp"/> + android:paddingLeft="12dp" + android:paddingRight="6dp" + android:visibility="invisible"/> <org.mozilla.gecko.toolbar.ToolbarDisplayLayout android:id="@+id/display_layout" style="@style/UrlBar.Button" - android:layout_alignLeft="@id/url_bar_entry" - android:layout_alignRight="@id/url_bar_entry" - android:paddingLeft="4dip" - android:paddingRight="4dip"/> + android:layout_toLeftOf="@id/tabs" + android:layout_marginRight="-24dp"/> <ImageView android:id="@+id/shadow" android:layout_width="match_parent" android:layout_height="2dp" android:layout_alignParentBottom="true" android:background="@color/url_bar_shadow" android:contentDescription="@null"/>
--- a/mobile/android/base/resources/layout/toolbar_display_layout.xml +++ b/mobile/android/base/resources/layout/toolbar_display_layout.xml @@ -6,43 +6,50 @@ <merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:gecko="http://schemas.android.com/apk/res-auto"> <ImageButton android:id="@+id/favicon" style="@style/UrlBar.ImageButton" android:layout_width="@dimen/browser_toolbar_favicon_size" android:layout_height="match_parent" android:scaleType="fitCenter" + android:layout_marginLeft="8dip" android:paddingLeft="4dip" android:paddingRight="4dip" android:layout_gravity="center_vertical"/> <ImageButton android:id="@+id/site_security" style="@style/UrlBar.ImageButton" android:layout_width="@dimen/browser_toolbar_lock_width" android:scaleType="fitCenter" android:layout_marginLeft="-4dip" android:src="@drawable/site_security_level" android:contentDescription="@string/site_security" android:visibility="gone"/> <org.mozilla.gecko.widget.ThemedTextView android:id="@+id/url_bar_title" - style="@style/UrlBar.Title" + style="@style/UrlBar.Button" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.0" + android:singleLine="true" + android:paddingRight="8dp" + android:textColor="@color/url_bar_title" + android:textColorHint="@color/url_bar_title_hint" + android:gravity="center_vertical|left" + android:hint="@string/url_bar_default_text" + android:layout_gravity="center_vertical" gecko:autoUpdateTheme="false"/> <org.mozilla.gecko.toolbar.PageActionLayout android:id="@+id/page_action_layout" android:layout_width="wrap_content" android:layout_height="match_parent" + android:layout_marginRight="@dimen/browser_toolbar_button_padding" android:visibility="gone" android:orientation="horizontal"/> <ImageButton android:id="@+id/stop" - android:layout_width="@dimen/page_action_button_width" - android:layout_height="match_parent" + style="@style/UrlBar.ImageButton.Icon" android:src="@drawable/urlbar_stop" android:contentDescription="@string/stop" - android:background="#00ffffff" android:visibility="gone"/> </merge>
--- a/mobile/android/base/resources/layout/toolbar_edit_layout.xml +++ b/mobile/android/base/resources/layout/toolbar_edit_layout.xml @@ -3,18 +3,28 @@ - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:gecko="http://schemas.android.com/apk/res-auto"> <org.mozilla.gecko.toolbar.ToolbarEditText android:id="@+id/url_edit_text" - style="@style/UrlBar.Title" + style="@style/UrlBar.Button" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.0" + android:hint="@string/url_bar_default_text" + android:textColor="@color/url_bar_title" + android:textColorHint="@color/url_bar_title_hint" + android:textColorHighlight="@color/url_bar_text_highlight" + android:textSelectHandle="@drawable/handle_middle" + android:textSelectHandleLeft="@drawable/handle_start" + android:textSelectHandleRight="@drawable/handle_end" + android:textCursorDrawable="@null" android:inputType="textUri|textNoSuggestions" android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen" android:selectAllOnFocus="true" + android:singleLine="true" + android:gravity="center_vertical|left" gecko:autoUpdateTheme="false"/> </merge>
--- a/mobile/android/base/resources/values-large-v11/styles.xml +++ b/mobile/android/base/resources/values-large-v11/styles.xml @@ -3,17 +3,17 @@ - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <resources> <style name="UrlBar.ImageButton.Forward"> <item name="android:contentDescription">@string/forward</item> <item name="android:layout_width">45dip</item> - <item name="android:layout_height">36dip</item> + <item name="android:layout_height">38dip</item> <item name="android:paddingLeft">10dp</item> <item name="android:paddingTop">7dp</item> <item name="android:paddingBottom">7dp</item> <item name="android:layout_gravity">center_vertical</item> <item name="android:layout_centerVertical">true</item> <item name="android:src">@drawable/ic_menu_forward</item> <item name="android:background">@drawable/url_bar_nav_button</item> <!-- Start with the button hidden --> @@ -120,13 +120,9 @@ </style> <style name="TabsPanelItem.TextAppearance.Linkified.LearnMore"> <item name="android:layout_height">match_parent</item> <item name="android:gravity">center</item> <item name="android:layout_gravity">center</item> </style> - <style name="TextAppearance.UrlBar.Title" parent="TextAppearance.Medium"> - <item name="android:textSize">16sp</item> - </style> - </resources>
deleted file mode 100644 --- a/mobile/android/base/resources/values-large-v16/styles.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- This Source Code Form is subject to the terms of the Mozilla Public - - License, v. 2.0. If a copy of the MPL was not distributed with this - - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - - <style name="TextAppearance.UrlBar.Title" parent="TextAppearance.Small"> - <item name="android:textSize">16sp</item> - <item name="android:fontFamily">sans-serif-light</item> - </style> - -</resources>
--- a/mobile/android/base/resources/values-v16/styles.xml +++ b/mobile/android/base/resources/values-v16/styles.xml @@ -12,14 +12,9 @@ <style name="TextAppearance.Widget.Home.ItemTitle" parent="TextAppearance.Medium"> <item name="android:fontFamily">sans-serif-light</item> </style> <style name="TextAppearance.Widget.Home.PageTitle" parent="TextAppearance.Medium"> <item name="android:fontFamily">sans-serif-light</item> </style> - <style name="TextAppearance.UrlBar.Title" parent="TextAppearance.Small"> - <item name="android:textSize">15sp</item> - <item name="android:fontFamily">sans-serif-light</item> - </style> - </resources>
--- a/mobile/android/base/resources/values/colors.xml +++ b/mobile/android/base/resources/values/colors.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <!-- This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <resources> - <color name="background_light">#FFF5F5F5</color> - <color name="background_normal">#FFEBEBF0</color> + <color name="background_light">#FFECF0F3</color> + <color name="background_normal">#FFCED7DE</color> <color name="background_private">#FF292C29</color> <color name="background_tabs">#FF363B40</color> <color name="highlight">#33000000</color> <color name="highlight_focused">#1A000000</color> <color name="highlight_dark">#33FFFFFF</color> <color name="highlight_dark_focused">#1AFFFFFF</color> <!-- highlight on shaped button: 20% white over background_tabs -->
--- a/mobile/android/base/resources/values/styles.xml +++ b/mobile/android/base/resources/values/styles.xml @@ -383,20 +383,16 @@ <item name="android:textColorLink">@color/doorhanger_link</item> </style> <style name="TextAppearance.Widget.DoorHanger.Small" parent="TextAppearance.Small"> <item name="android:textColor">@color/doorhanger_text</item> <item name="android:textColorLink">@color/doorhanger_link</item> </style> - <style name="TextAppearance.UrlBar.Title" parent="TextAppearance.Small"> - <item name="android:textSize">15sp</item> - </style> - <!-- BrowserToolbar --> <style name="BrowserToolbar"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">@dimen/browser_toolbar_height</item> <item name="android:orientation">horizontal</item> </style> <style name="UrlBar.ImageButton.TabCount"> @@ -411,34 +407,20 @@ <item name="android:layout_width">match_parent</item> <item name="android:layout_height">match_parent</item> <item name="android:orientation">horizontal</item> </style> <!-- URL bar - Button --> <style name="UrlBar.Button"> <item name="android:layout_height">match_parent</item> + <item name="android:textSize">16sp</item> <item name="android:background">@android:color/transparent</item> </style> - <!-- URL bar - Button --> - <style name="UrlBar.Title" parent="UrlBar.Button"> - <item name="android:textAppearance">@style/TextAppearance.UrlBar.Title</item> - <item name="android:textColor">@color/url_bar_title</item> - <item name="android:textColorHint">@color/url_bar_title_hint</item> - <item name="android:textColorHighlight">@color/url_bar_text_highlight</item> - <item name="android:textSelectHandle">@drawable/handle_middle</item> - <item name="android:textSelectHandleLeft">@drawable/handle_start</item> - <item name="android:textSelectHandleRight">@drawable/handle_end</item> - <item name="android:textCursorDrawable">@null</item> - <item name="android:singleLine">true</item> - <item name="android:gravity">center_vertical|left</item> - <item name="android:hint">@string/url_bar_default_text</item> - </style> - <!-- URL bar - Image Button --> <style name="UrlBar.ImageButton" parent="UrlBar.Button"> <item name="android:scaleType">center</item> <item name="android:layout_gravity">center_vertical</item> <item name="android:background">@android:color/transparent</item> </style> <!-- URL bar - Image Button - Unused -->
--- a/mobile/android/base/strings.xml.in +++ b/mobile/android/base/strings.xml.in @@ -62,17 +62,17 @@ <string name="crash_restart_label">&crash_restart_label;</string> <string name="exit_label">&exit_label;</string> <string name="launcher_shortcuts_title">&launcher_shortcuts_title;</string> <string name="launcher_shortcuts_empty">&launcher_shortcuts_empty;</string> <string name="choose_file">&choose_file;</string> - <string name="url_bar_default_text">&url_bar_default_text2;</string> + <string name="url_bar_default_text">&url_bar_default_text;</string> <!-- https://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/ --> <string name="help_link">https://support.mozilla.org/1/mobile/&formatS1;/&formatS2;/&formatS3;/</string> <string name="help_menu">&help_menu;</string> <string name="quit">&quit;</string> <string name="bookmark">&bookmark;</string> <string name="bookmark_added">&bookmark_added;</string>
--- a/mobile/android/base/toolbar/BrowserToolbar.java +++ b/mobile/android/base/toolbar/BrowserToolbar.java @@ -35,21 +35,18 @@ import org.mozilla.gecko.util.GeckoEvent import org.mozilla.gecko.util.HardwareUtils; import org.mozilla.gecko.util.MenuUtils; import org.mozilla.gecko.widget.ThemedImageButton; import org.mozilla.gecko.widget.ThemedImageView; import org.mozilla.gecko.widget.ThemedRelativeLayout; import android.content.Context; import android.content.res.Resources; -import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.graphics.drawable.StateListDrawable; -import android.graphics.Paint; -import android.graphics.Path; import android.text.TextUtils; import android.util.AttributeSet; import android.util.Log; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.MenuInflater; import android.view.MotionEvent; import android.view.View; @@ -158,34 +155,29 @@ public class BrowserToolbar extends Them private boolean hasSoftMenuButton; private UIMode uiMode; private boolean isAnimatingEntry; private int urlBarViewOffset; private int defaultForwardMargin; - private Path roundCornerShape; - private Paint roundCornerPaint; - private static final Interpolator buttonsInterpolator = new AccelerateInterpolator(); private static final int FORWARD_ANIMATION_DURATION = 450; private final LightweightTheme theme; private final ToolbarPrefs prefs; public BrowserToolbar(Context context) { this(context, null); } public BrowserToolbar(Context context, AttributeSet attrs) { super(context, attrs); - setWillNotDraw(false); - theme = ((GeckoApplication) context.getApplicationContext()).getLightweightTheme(); // BrowserToolbar is attached to BrowserApp only. activity = (BrowserApp) context; // Inflate the content. LayoutInflater.from(context).inflate(R.layout.browser_toolbar, this); @@ -248,29 +240,16 @@ public class BrowserToolbar extends Them focusOrder.addAll(urlDisplayLayout.getFocusOrder()); focusOrder.addAll(Arrays.asList(actionItemBar, menuButton)); } else { focusOrder.add(this); focusOrder.addAll(urlDisplayLayout.getFocusOrder()); focusOrder.addAll(Arrays.asList(tabsButton, menuButton)); } - if (!HardwareUtils.isTablet()) { - roundCornerShape = new Path(); - roundCornerShape.moveTo(0, 0); - roundCornerShape.lineTo(30, 0); - roundCornerShape.cubicTo(0, 0, 0, 0, 0, 30); - roundCornerShape.lineTo(0, 0); - - roundCornerPaint = new Paint(); - roundCornerPaint.setAntiAlias(true); - roundCornerPaint.setColor(res.getColor(R.color.background_tabs)); - roundCornerPaint.setStrokeWidth(0.0f); - } - setUIMode(UIMode.DISPLAY); // Create these listeners here, once, to avoid constructing new listeners // each time they are set on an animator (i.e. each time the url bar is clicked). showEditingPhoneAnimationListener = new PropertyAnimator.PropertyAnimationListener() { @Override public void onPropertyAnimationStart() { /* Do nothing */ } @@ -494,25 +473,16 @@ public class BrowserToolbar extends Them @Override public void onDetachedFromWindow() { super.onDetachedFromWindow(); prefs.close(); } - @Override - public void draw(Canvas canvas) { - super.draw(canvas); - - if (!HardwareUtils.isTablet() && uiMode == UIMode.DISPLAY) { - canvas.drawPath(roundCornerShape, roundCornerPaint); - } - } - public void setProgressBar(ToolbarProgressView progressBar) { this.progressBar = progressBar; } public void refresh() { urlDisplayLayout.dismissSiteIdentityPopup(); } @@ -1417,17 +1387,16 @@ public class BrowserToolbar extends Them @Override public void setPrivateMode(boolean isPrivate) { super.setPrivateMode(isPrivate); tabsButton.setPrivateMode(isPrivate); menuButton.setPrivateMode(isPrivate); menuIcon.setPrivateMode(isPrivate); - editCancel.setPrivateMode(isPrivate); urlEditLayout.setPrivateMode(isPrivate); if (backButton instanceof BackButton) { ((BackButton) backButton).setPrivateMode(isPrivate); } if (forwardButton instanceof ForwardButton) { ((ForwardButton) forwardButton).setPrivateMode(isPrivate);
--- a/mobile/android/base/toolbar/ShapedButton.java +++ b/mobile/android/base/toolbar/ShapedButton.java @@ -54,32 +54,29 @@ public class ShapedButton extends Themed @Override protected void onSizeChanged(int width, int height, int oldWidth, int oldHeight) { super.onSizeChanged(width, height, oldWidth, oldHeight); if (mSide == CurveTowards.NONE) return; + final int curve = (int) (height * 1.125f); + mPath.reset(); if (mSide == CurveTowards.RIGHT) { mPath.moveTo(0, 0); - mPath.cubicTo(height * 0.25f, 0.0f, - height * 0.375f, height * 0.25f, - height * 0.375f, height * 0.5f); - mPath.cubicTo(height * 0.375f, height * 0.72f, - height * 0.527f, height * 0.961f, - height * 0.729f, height); + mPath.cubicTo(curve * 0.75f, 0, + curve * 0.25f, height, + curve, height); mPath.lineTo(width, height); mPath.lineTo(width, 0); mPath.lineTo(0, 0); } else if (mSide == CurveTowards.LEFT) { - final int curve = (int) (height * 1.125f); - mPath.moveTo(width, 0); mPath.cubicTo((width - (curve * 0.75f)), 0, (width - (curve * 0.25f)), height, (width - curve), height); mPath.lineTo(0, height); mPath.lineTo(0, 0); } }