summaryrefslogtreecommitdiffstats
path: root/res/raw
Commit message (Collapse)AuthorAgeFilesLines
* Quantum CV - Quoted text. Fixes b/16139353.Andrew Sapperstein2014-09-181-3/+3
| | | | Change-Id: I415267e9c7ceb09aca15ad098c98def5110fa94a
* Disable POST forms in mail content.Ray Chen2014-09-151-0/+1
| | | | | | b/17183273 Change-Id: Ieb9113fd37d5c75bc0829f79b286a36c53c66b81
* conversation footer b/15595931Andrew Sapperstein2014-07-031-0/+1
| | | | Change-Id: I9eda1060f4e49a0448a321f603aec0a254daf86a
* Remove borders/cards from conversation view.Andrew Sapperstein2014-06-191-1/+0
| | | | | | b/15595931 Change-Id: I51b5ce1d9387d6354d421b0e399a2003c6e84c54
* Sanitize HTML bodies from .eml files and support quoted textJames Lemieux2014-05-211-0/+1
| | | | | | | | | | | b/14567151 Sanitizes HTML email bodies on demand as they are parsed from .eml attachments. Adds the OWASP sanitizer to the license page Adds HTML translation to support quoted text collapsing for emails from Gmail, Yahoo and AOL. Change-Id: Ie710e63054539887f507437e2e4fa6ae8415a305
* Properly restore scroll position on K+ b/13333564.Andrew Sapperstein2014-04-151-0/+1
| | | | | | | | | There's a bug in chromium webview that causes the scroll position to be improperly reported the first time onScrollChanged is called. This breaks rotation on K+ so we delay it until the content is ready on K. Change-Id: I57729ad5279a999ab523919c6059897813b1370e
* Move Help & feedback to Nav drawer of Email.James Lemieux2014-03-131-0/+82
| | | | | | | | | | | | | | | | | | | b/11061485 Gmail remains unchanged due to this checkin. HELP and SEND FEEDBACK are now the two bottom-most drawer items in the Navigation drawer of the Email application when it is present or in the overflow menu when it is not present. SEND FEEDBACK still behaves as always. HELP has been redesigned so that it displays the help content in a local webview rather than using an external browser in the Email application. Change-Id: If1bdba26ac2caca79c81205a409c67659cd49653
* fix missing message text processing upon send (and as drafts mutate)Andy Huang2014-02-191-1/+1
| | | | | | | | | | | | | Fix message body processing when transitioning through the send flow. Previously, the message text was largely unprocessed, but it wasn't obvious like it is now with 980px viewports. Also move 'table-cell' wrapping from inside the message template to Java code so the in-place body replacement that happens during send can also use it. Bug: 13079016 Change-Id: I9a6a801c43b76c1714dfd2c8b41649fa6b9e90c8
* fix message bodies w/ CSS float breaking out of message boundsAndy Huang2014-02-121-1/+1
| | | | | | | | | | | | | | The secret sauce that gmail.com uses is apparently that its conversation view happens to be inside of a table/tr/td. Float elements inside a <td> never escape the td bounds. Wrap each message in a "display:table-cell" div to emulate this and prevent message bodies containing CSS float elements from escaping message wrapper div bounds and spilling into the next message, or into the attachment footer. Bug: 7468741 Change-Id: I5b7c6939d9d06e10e7e093ec294c8f85b4cecba5
* fix text sizing inaccuracy from 980px switchAndy Huang2014-02-101-3/+0
| | | | | | | | | | | | | The side margin was in CSS px, but goalWidth was in dp. This caused the goalWidth to be smaller than it should, which caused scrollWidth to be smaller, which caused each message's zoom factor to be larger, which caused text to be larger than it used to be. Now. goalWidth and documentWidth both have body margins accounted for in the proper units. Bug: 12579959 Change-Id: Ice36b48f381cf3171b092ba27152aa56b64f4100
* Render conversations to 980px viewportAndy Huang2014-02-072-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Expand all conversations to 980px width to allow double-tap to continue to work on newer Chromium builds. See https://codereview.chromium.org/18850005. cool side effects * much more usable double-tap zoom factor on KK+ (now "it just works") * better text rendering fidelity in complex layouts (text no longer escapes bounds as it tended to do before) * fixes text sizing edge cases where text was unexpectedly large and/or line heights messed with text rendering Initially enable these changes on both JB- and KK+ WebViews. Disable NARROW_COLUMNS layout on JB- to prevent very short columns. pros on JB-: better rendering fidelity like on KK+, consistency with KK+ cons on JB-: some power users will miss pinch-then-double-tap-to-reflow functionality Possible future improvement: use device-width viewport when full convo fits to inherit Chromium's new fast-click-handling behavior. Bug: 12579959 Bug: 10695551 Change-Id: I13f85a6df909a966fcd0862e5bd292ec6ae77212
* Print logo in header. Fixes b/11174712.Andrew Sapperstein2013-10-292-2/+144
| | | | | | | | | Sigh. Had to use a data uri for the logos. The logo.txt file contains the base64 for the email app. It is overridden in Gmail's res/raw/ folder. Change-Id: Ia0a11ba9158fb5d557124e610be3c116e68c194f
* Print single message and offscreen webview.Andrew Sapperstein2013-10-111-3/+0
| | | | | | | | | b/10712542. Also supports Eml printing and secure printing (though that's email only and has some buggy rendering). Also fixes the no subject crash. b/11136365 Change-Id: Ie5f6e7d7e1762c115df3169b6e62dc439545f08c
* am 0cb10197: Fix the viewport tag argumentsMikhail Naganov2013-10-081-1/+1
|\ | | | | | | | | * commit '0cb10197c5dd3932ba3ae2c7ac603d7df5683e1d': Fix the viewport tag arguments
| * Fix the viewport tag argumentsMikhail Naganov2013-10-081-1/+1
| | | | | | | | | | | | The stuff in the 'content' attribute should be delimited by commas. Change-Id: Iba4426294c9a657d18a4f5d76b92687ba54c98d1
* | Print list of attachments.Andrew Sapperstein2013-09-279-129/+1
| | | | | | | | | | | | | | Doesn't print attachment thumbnails for image attachments. b/10712542 Change-Id: I5202338f60ddeb35238fce9d79691ba3c7a29e89
* | Initial printing support.Andrew Sapperstein2013-09-269-0/+269
|/ | | | | | | | | | | | | Needs mocks and redlines and such. b/10712542 TODO: Logos for Email and Gmail. Attachment support. Use offscreen webview. Secure conversation view support. Change-Id: Iec37a9a46e506ccf12fbbb775c1b47b08a0d9724
* Hack fix for b/10709572.Andrew Sapperstein2013-09-121-0/+1
| | | | Change-Id: I56582ca84cbe76539078eb5fdc39edd0480178b7
* Revert "Revert "always set the initial-scale""Alice Yang2013-09-041-1/+1
| | | | | | This reverts commit 9b61ca542aca24a9b09bd6b6bb5afb60d1689710. Change-Id: If87a7367d71d8f20dd18f72b5cde48520b22a3e9
* Revert "always set the initial-scale"Alice Yang2013-09-031-1/+1
| | | | | | | | Temporarily reverting so we can take TOT UR10. This reverts commit 80923c6f2a0d17590ff53e6fa0611a132480834a. Change-Id: Iab744e4de186132cd1c93897b275437e91275f07
* always set the initial-scaleAndy Huang2013-08-301-1/+1
| | | | | | | | | | | Conversation view's design implies that the page-scale is always 1.0, since zooming out is done on a per-message basis. Legacy WebView defaulted to this, but Chromium WebView needs it set explicitly. Bug: 10372999 Change-Id: I586557e6c3aac56ea95938697f2ad0640dab002b
* New caret for tablet.Andrew Sapperstein2013-08-211-1/+0
| | | | | | Not to be confused with a carrot, carat, or karat. Change-Id: I3748d295a8599ffcb528bdfc1d376d3fc3b64396
* Conversation View UI Refresh: Cards.Andrew Sapperstein2013-07-251-0/+1
| | | | | | | | | | | | | | | | Lots of changes: New show pictures asset. Added border as a new view type in the conversation view to vertically separate cards. Changing its size is TBD. Final UI for details header (both collapsed and expanded). Side borders are accomplished via a new overlay layer that is positions a view to each side of the conversation view. Lots of dimension changes, padding and margin changes, and other pixelpushing. Change-Id: I4029ae46896e27fe20b005c01b8df04bb2a46c2a
* Fix table-layout emails, blacklist transforms by sender domainAndy Huang2013-04-241-0/+1
| | | | | | | | | | | | | Fix Twitter emails by overriding any 'table-layout' style when overriding table width to 'auto'. Add infrastructure to blacklist transforms by sender domain. Not actually used yet, because the Twitter email fix above is more generally useful and doesn't need to be special-cased. Bug: 8403536 Bug: 8685326 Change-Id: I9e72e8e6336c138674839724df57eef1f86a2d9b
* better blockquote presentationAndy Huang2013-03-181-0/+6
| | | | | | | | | | override inline blockquote styling with !important. will not override any inline !important styles. styling stolen from web Gmail. Bug: 6597298 Bug: 8257401 Change-Id: I9234c29a42247f80aa83de9e7176dbfbdf959643
* remove the unpopular intra-word ruleAndy Huang2013-03-131-4/+0
| | | | | | | | | It kicked in too often to warrant fixing 1% of unbreakable long email signatures. Maybe we could bring it back if it could be properly scoped, but I haven't figured out a good scoping rule yet. Bug: 7400516 Change-Id: Id15ca8ec45783182d2c0fedd211a9b449ad12bb0
* add <img> transform for readabilityAndy Huang2013-03-131-0/+1
| | | | | | | | | | | | | | Shrink any <img> elements with an effective width wider than the document. Instead of setting the width outright to the document width, use "100%" + max-width so it can be smaller if the layout allows. Genericize the actionLog to be a list of functions, contexts, and parameters. I would normally use bind() but A) it may not be available on older WebKit builds, and B) it introduces an unnecessary closure. Bug: 7400516 Change-Id: I5ab7f81674f9e238e6dc5ea04669d282c0586066
* reverse ineffective HTML transforms, add aggressive <td> transformAndy Huang2013-03-081-0/+11
| | | | | | | | | | | | | | | | Reverse <table> and <td> transform work when the resulting width is unchanged, or significantly unchanged (below a threshold). Switch <table> and <td> transforms to use CSS !important overriding instead of modifying the elements inline. This is easier to reverse. Add another <td> transform to aggressively trigger word wrapping intra- word. This helps break long signatures, but it can render complex promotional email unreadable. I'll have to hide this behind a classifier that prevents this from running on complex messages. Bug: 7400516 Change-Id: Ia17bae2b28eeec9d1cd40d0292380ae5d660586d
* start munging wide <div> and <table> elementsAndy Huang2013-03-081-0/+1
| | | | | | | | | | | | | | | | | | Modify HTML content that is too wide if the experimental flag is on. Find <table> elements with a width wider than the body and remove the widths in the hope that the table would otherwise fit. Content authors often use this trick to prevent their content from growing too wide in a very wide desktop browser window. Failing that, find all <div> elements where a width is specified that is wider than the body, and turn the width into a max-width. Bug: 7400516 Change-Id: Ie4d3c2c4c50a191c30ee590dce71bc9bf6de8268
* per-message zoom using JavaScript + CSS 3D transformsAndy Huang2012-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When Auto-fit is off, disable built-in WebView zooming, which is only capable of zooming an entire document (the entire conversation). Use ScaleGestureDetector to trigger a CSS 3D transform to zoom in/out just a single message div. During the gesture, the elements above and below the message being scaled are untouched. This is ugly. TODO: they should either move away (tricky) or at least fade out. When the gesture is complete, to avoid leaving overlapping elements, we force-scale the height and reset the transform origin to the top left. TODO: auto-scroll to the correct place to counteract this perceived jump. Double-tap is not yet implemented. We'll have to do it ourselves. Bug: 7478834 Change-Id: I114e4977304c7060d499d116cc75bc0488967448
* speculative fix for native WebView crashesAndy Huang2012-11-052-3/+3
| | | | | | | | | | | | | | | | | | | Towards the end of MR1, we saw more native crashes on conversation load. It's possible it was purely due to increased testing, but just in case it was due to loading animation changes, go back to Gmail1-style content-ready code. The document has a small div that initially has an "initial-load" class set on JB+. The class is no longer dynamically added in JS. The animation-start event listener remains as-is, configured on DOM parse (and not later upon DOM load). Give the animation a different name from the CSS class that triggers it, on the off-chance that this is crossing some wires. Bug: 7370125 Change-Id: I4f0f807fbb9e32e024b6c74a6d9684e7fb337695
* disable zoom on empty-looking conversationsAndy Huang2012-10-161-1/+2
| | | | | | | | | | | | Disable zoom if all initially expanded messages are empty looking-- that is, if their whitespace-trimmed text content is zero-length. Begin to dynamically assemble the meta viewport tag, which will be useful for other advanced zoom-related tweaks. Bug: 7340665 Change-Id: I86112617c18013e74b38af06d8a058aad315e9ec
* toggle normalization & zoom on/offAndy Huang2012-10-134-4/+5
| | | | | | | | | | | | | | | and wire it all up to a pref that re-renders upon change. separately, make a few improvements to whitespace management when zoomed in with normalized mode: * place attachment overlays at the top of their regions * place overlays above the first expanded message at the top of the conversation, instead of the usual position just above the message. * impose a max zoom factor to limit excessive spacer whitespace Bug: 7312540 Change-Id: Iae3afff0ee81e4ba9367568e884a041780b24ebf
* When updating a message body, don't collapse quoted textAndy Huang2012-10-081-3/+0
| | | | | | | | | | | | | | | | | When a reply is sent and synced, the quoted text portion transitions from an expanded snippet to a collapsed one, which shrinks the conversation height and causes the scroll position to jump. It's not enough to just avoid processing reply bodies, because a reply to a wide message must also be normalized if the quoted text portion is visible. So when replacing a message body, switch the initial state of quoted text blocks from collapsed to expanded. Bug: 7246054 Change-Id: I5375beeb4209779e7cb7feaa570590a9cbc520da
* do not wait for DOM onload before starting content ready signalAndy Huang2012-10-072-1/+3
| | | | | | | | | | | | | | | Gmail1 started the content-ready animation right away; the initial state of the HTML had the animation already. Gmail2 was waiting for the DOM load event before even starting the animation, wasting a lot of time. Starting the animation right away had a race condition where the listener wasn't installed until later, so avoid any such race by starting the animation immediately after registering the listener. Bug: 7258363 Change-Id: I00fc06998a06e1e4dce0d490ead9fbc6fef63ae0
* Better handling of wide content after initial renderAndy Huang2012-10-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make several improvements that, together, prevent the conversation WebView from zooming out when revealing wide message content. Disable WebView's overview mode. It wasn't doing anything special due to our viewport meta tag. Leaving it enabled caused newly revealed very-wide content (beyond the reach of CSS zoom: see b/6053074) to zoom out the entire conversation. Taking it out keeps the scale level at 100% unless the user zooms. Shrink newly revealed content. Message expansion, "Show quoted text", and image onload can all reveal new wide content. Revealing repeatedly will not repeatedly shrink. Quoted text will only shrink the quoted portion, not the entire message. Finally, override default handling of <pre> blocks to match desktop Gmail. This obviates the need to zoom out at all for messages like build notifications and other programatically generated mail. Bug: 7215221 Change-Id: Idc1e1f211aa3463a68146bef2846583cd7d075d3
* Fixup js page rendered signalmindyp2012-09-251-2/+0
| | | | | | | Shows content faster Has the background white-screened out until we get the signal part of fix for b/6268986 Perf regression (~5 seconds) in loading messages on orientation change in new gmail Change-Id: I653c40c88f0cb5cd0e31655ad89762c6f07dff66
* JavaScript calls: Do not internationalize numbersVikram Aggarwal2012-09-241-2/+2
| | | | | | | | | | Numbers were getting internationalized because the system's printf with the %d format tries to use the localized, unicode representation of the number (setHeight=١٩٦px). Bad idea for all languages where the numbers are written differently. Bug: 7176003 Android MR1- Gmail App issues with Arabic Change-Id: I95799b05d64c78127227cee8d351facbce4bcefa
* Add loading animations to conversation viewmindyp2012-09-092-0/+22
| | | | | | | | | | | | | | fixes b/6272925 jank - conversation loading isn't animated fixes b/7131797 Blank scren shown for live conversation, when in airplane mode Note: need to do a next cl that puts off showing the spinner until at least XXX ms have passed Also, we cant use the software layer for rendering like we did in gmail1 it looks like there is a skia crash that triggers when we try to use software / switch to hardware rendering for the browser need to investigate that more Change-Id: I96a30b700c3e88d52e603fe2f11b44d113e013d2
* add margins to conversation viewAndy Huang2012-08-242-2/+2
| | | | | | | | Also fix some left/right balance problems on wide messages. Bug: 6336075 Bug: 6375007 Change-Id: I8fd4a3099d0670f68295bf8f28d2ba55e7177bdc
* message "serverId" field is a string, not a longAndy Huang2012-08-091-1/+1
| | | | | | Also remove some unused usage of serverId. Change-Id: Ic421a77bfff6218a07d35f80219a2fae729ceb13
* inline attachment handlingPaul Westbrook2012-08-081-1/+2
| | | | | | | | | | | Allow the provider to specify the real base url that should be used for relative urls. Also allow the provider to specify a cookie that should be used. Bug: 6951268 Change-Id: I6f5ecf69b262b6c877eecbd1944aa03c46c85382
* better handling of wide message contentAndy Huang2012-07-112-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't hide horizontal overflow, so content in extra-wide messages is scrollable. (Downside is that an initial swipe on such conversations will scroll the content rather than going to ViewPager.) Use default WebView text layout algorithm (NARROW_COLUMNS). It doesn't kick in by default, possibly because of the method we use to shrink wide messages, but at least double-tap after a manual zoom-in will trigger line re-wrapping. NARROW_COLUMNS reflow can change the HTML height, so we need to remeasure and reposition headers when that happens. Added code to listen for WebView mContentHeight changes. This is done circuitously (via invalidate()) because I don't know of a more natural way to to know when this happens. Although invalidate() happens all the time, this should be pretty cheap because no work is done unless the DOM height changes. Clean up screen-pixel -> HTML-pixel conversion code. This will be handy when trying to make the page initially wide to further improve line wrapping behavior and reduce the frequency of the extra-wide case. Initial-wide-mode presents a host of side effects to be addressed in a future CL. Bug: 6389819 Bug: 6318848 Change-Id: I3ad2bd1ca6c1f6c0859af1a10056578ea4faf073
* style and space out quoted text and anchorAndy Huang2012-06-261-1/+9
| | | | | | Bug: 6323882 Bug: 6666231 Change-Id: Iadc1688ef1dedb7435bbdfc63057d5e030b16800
* new font sizing strategyAndy Huang2012-06-251-0/+3
| | | | | | | | | | | | | | | Mostly go back to the previous approach of setting a default font-size style that only affects unstyled text. On phone, shrinking everything by 13% worked poorly for mail that was pre-shrunk. The slightly modified new approach more closely aligns with gmail.com's behavior on desktop. Shrink unstyled text to 80%, and then upsize all text slightly such that regular text ends up as 14px on phone and 16px on tablet. Bug: 6684890 Change-Id: I7ae15cd4bf8d8f2cb0d9137c558bbfe13d0d6570
* add debugging code to dump a conversation HTMLAndy Huang2012-05-291-1/+0
| | | | Change-Id: If330f600d5527503eed9745281076f895a275cd0
* super-collapsed blocksAndy Huang2012-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Expanding a block inserts HTML for all bodies in that block, as was done in ICS. This could be improved to be more lazy. The block's layout has a mostly useless wrapper for the 1px bottom white padding, because ConversationContainer does not yet support margins on child overlays. The overlay container now listens to adapter changes, which was necessary to update on super-collapsed expansion. This should also fix crashes and strange layouts on draft deletion. Also fixed monkey NPE on url click while I was in there. Bug: 6325429 Bug: 6260673 Bug: 6258859 Change-Id: I77347b58bbec49b4b5b58a2b3de7e5e9f291ca9c
* support message header collapsingAndy Huang2012-04-041-2/+2
| | | | | | | | | | | | | * toggle header collapse/expand * initially render read messages collapsed * collapse removes attachments footer and stops loader * expand creates/reuses attachments footer, but ONLY if visible * can (mostly) expand/collapse details * can expand/collapse quoted text * add lots of logging (disabled during scrolling!) to catch strange layouts Change-Id: I73f533c91d24ef1c05919d0a3b396f276898107a
* building blocks for bottom-aligned attachmentsAndy Huang2012-04-021-1/+2
| | | | | | | | | | | | | | | | | | | | | Attachment overlays now warrant their own adapter entries, because they are no longer attached to each message header. So since cursor items no longer map 1:1 to adapter items, add a new specialized adapter to house different kinds of scrolling overlay views. This support is also needed for super-collapsed blocks. The adapter is also an ideal place to store transient render state like 'expanded' and 'show pics', as each ConversationItem can manage its own state instead of having the fragment do it. And view recycling requires that the adapter remember item state as you scroll around anyway. Next CL will actually separate attachment views and logic out of MessageHeaderView. Change-Id: Ibc589915f01ada0d9a41d8968a0ee63be6030449
* show subject and labels in conversation viewAndy Huang2012-03-192-3/+2
| | | | | | | | | | Show labels only for accounts that support multi-folder conversations. Move some classes into smaller 'browse' package. Special-case subject/labels overlay for now. Full adapterization is coming soon when super-collapsed blocks are in. Change-Id: I458009776eb2e3840dd9e441de9e4ead3cc94d0b