The <TR> is similar to <BR> for the Plain text, thus when reading it
add the new line, if needed.
The WebKit returns correct `\n` in the node's innerText, but using it
as a plain text hides it for the user, thus split the lines and add
them as separate paragraphs.
In the Plain Text mode, when changing paragraph format to UL/OL, its width
was not properly set, which drew the long lines unwrapped. Switching to HTML
mode and back did set the expected wrap width.
Similarly, when converting HTML into plain text (on send), the wrap width did
not count width of the UL/OL prefix, making the line longer than it should be.
Insignificant new lines in the text are those in regular <div> and such,
where the white-space style doesn't mean to keep them. Those could cause
trouble when switching from HTML to the Plain Text mode, like to have doubled
new lines. WebKit doesn't remove them on its own, unfortunately, thus this
special processing is needed.
All the previews (in Mail, Contacts, Memos and Tasks) stop using
deprecated WebKitGTK+ DOM API through a WebExtension (and its D-Bus
API) and start using the JavaScriptCore API (and JavaScript as such).
This allows to lightweight the WebExtension for the EWebView
significantly, including drop of the D-Bus API of it, fully relying
on the Inter-Process-Communication of WebKitGTK+ itself.