This does two main things. First, it tracks sets of obsolete document
IDs and retries obsoletes and deletes. Second, it tracks document IDs
that are attempted to be written to the server for obsolescence or
deletion without waiting for a server response to prevent orphaning
documents on successful upload and failed response.
The ObsoleteDocumentTracker uses a JSON map to maintain obsolete
document IDs and priority values. That's not the right data
structure; Bug 894194 tracks improving it.
========
https://hg.mozilla.org/integration/gaia-central/rev/015185f797c4
Author: Rick Waldron <waldron.rick@gmail.com>
Desc: Bug 887712 - [SMS/MMS] Make editable cursor element "zero width" until any user interaction r=gnarf
https://bugzilla.mozilla.org/show_bug.cgi?id=887712
Includes: 4880acb5ec
- Empty, out of focus placeholders contract to zero offset width
- Empty, in focus placeholders expand to rem-based width (margin: r & l, padding: r & l)
- When all recipients are deleted, don't leave empty editable in the to-field.
- When the editable placeholder is contracted to a zero offset width, it's possible to accidentally tap a recipient when the intention is to tap the to-field area around the recipient list, which will correctly prompt the user to remove the recipient. Since there is no way to unambiguously detect the user's intention, always handle "Remove" and "Cancel" in an intuitive way.
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
========
https://hg.mozilla.org/integration/gaia-central/rev/d3bf1e5466f0
Author: Fabien Cazenave <fabien@cazenave.cc>
Desc: Merge pull request #10943 from fabi1cazenave/mmsAttachmentContainers-bug889899
Bug 889899: use <div> instead of <iframe> for MMS attachment containers, r=julienw
========
https://hg.mozilla.org/integration/gaia-central/rev/662a0765f17a
Author: Fabien Cazenave <fabien@cazenave.cc>
Desc: Bug 889899: use <div> instead of <iframe> for MMS attachment containers, r=julienw
Attachment containers use `<iframe>` in the SMS app because they are handy in the Compose area (work well in a contenteditable element): this ensures that attachment blocks are deletable but not editable. However, `<iframes>` are a pain to use in the message thread, and can become a performance killer on threads with lots of attachments.
This patch keeps `<iframe>` containers for draft attachments in the Compose area but relies on `<div>` containers for the message thread. To achieve this we use three templates:
* one `attachment-preview` template:
- display it in a 80x80 px placeholder (can be extended to 120x80 or 80x120);
- display the attachment size if in the Compose window;
- do not display the file name for images
(another patch will enable to display the file name on video with previews)
* one `attachment-nopreview` template: (audio, video, large images)
- display the attachment type as a 80x80 px icon (audio, video, image, other);
- display the attachment size if in the Compose window;
- display the file name, both in the Compose window and in the message thread.
* one `attachment-draft` template to embed one of the two previous templates in an `<iframe>` container for the Compose area.
Non-draft attachments are displayed in a `<div>` container. In both cases (div or iframe), the container carries an `attachment-container` class and a `preview` or `nopreview` one.
Side notes:
* this fixes bug 882094 (display attachment file names in MMS);
* the `bubbleEvents` method has been slightly re-rewritten to be more self-explanatory;
* some basic cleanup has been done on the HTML & CSS front.