"Paste without Formating" (Ctrl+Shift+V / Cmd+Option+Shift+V) in Firefox causes
rendering issues (desynchronization between rendering and actual content)
---------------------------------------------------------------------------------------------------------------------------------------------------------
Key: WAVE-342
URL: https://issues.apache.org/jira/browse/WAVE-342
Project: Wave
Issue Type: Bug
Components: Web Client
Affects Versions: 0.1
Environment: Ubuntu 11.10, Firefox 11; Windows, Firefox 10 and Firefox
11.
On a Wave Editor embedded in a GWT app, but also reproduced on waveinabox.net
Reporter: Thomas Broyer
When "pasting without formatting" several lines at a time in a blip (Wave
Editor), Firefox inserts line breaks, but they're not sent to the server
(neither persisted in the Wave nor sent to other clients in real-time); only
the text is persisted.
Actually, Firefox does not generate a paste event (see
https://bugzilla.mozilla.org/show_bug.cgi?id=741734 ), so the Wave Editor falls
back to mutation events and the TypingExtractor.
Firefox inserts "foo<br><br>bar" in the editor, but the TypingExtractor does
not handle the <br> (it simply ignores them, see ContentDocument.FilteredHtml;
called from TypingExtractor.TypingState::calculateNewValue(), via
ContextTextNodes.sumTextNodes()) and in the end only inserts the text from the
text nodes in the document.
Because the EditorImpl.typingSink uses sourceNindoWithoutModifyingHtml (via
applyRepairingOperation), the Html view is no longer in sync with the model,
which then causes a few issues when editing (only way to "fix" it is to reload
the wave, e.g. by opening another wave and then going back).
I tried capturing the Ctrl+Shift+V (in the EditorImpl's EditorEventsSubHandler)
and calling handlePaste but that doesn't work: Firefox does not seem to paste
into the hidden div.
As a last resort, I changed QuirksConstants and EditorEventHandler to blacklist
the Ctrl+Shift+V (Cmd+Option+Shift+V on Mac) combo on Firefox. This will
completely disable "paste without formatting".
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira