REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2012 21:17:27 +0000 (21:17 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2012 21:17:27 +0000 (21:17 +0000)
commit23bfe1967daabbfa60a4c513b05b6c0d40e027c2
tree32dabed0956818d2eeac5581e6e80a630723b9a4
parent14789b9f5ec3fbeb99719fb397e7681417ac0049
REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field
https://bugs.webkit.org/show_bug.cgi?id=79305

Reviewed by Tony Chang.

Source/WebCore:

The bug was caused by ReplacementFragment::m_hasInterchangeNewlineAtEnd not reset even when
text field's beforeTextInserted event handler removed interchange new lines at the end.
Because the event handler is responsible for trimming new lines, we need to recompute the values
for m_hasInterchangeNewlineAt* after the event dispatch.

Test: editing/input/paste-text-ending-with-interchange-newline.html

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):

LayoutTests:

Add a regression test. Also make Markup.dump() dump the shadow DOM of the specififed node.

* editing/input/paste-text-ending-with-interchange-newline-expected.txt: Added.
* editing/input/paste-text-ending-with-interchange-newline.html: Added.
* resources/dump-as-markup.js:
(Markup._get):
(Markup._getShadowHostIfPossible):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/editing/input/paste-text-ending-with-interchange-newline-expected.txt [new file with mode: 0644]
LayoutTests/editing/input/paste-text-ending-with-interchange-newline.html [new file with mode: 0644]
LayoutTests/resources/dump-as-markup.js
Source/WebCore/ChangeLog
Source/WebCore/editing/ReplaceSelectionCommand.cpp