<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>49288</bug_id>
          
          <creation_ts>2010-11-09 17:11:07 -0800</creation_ts>
          <short_desc>REGRESSION (Safari 5?): Pasting a line into textarea inserts two newlines</short_desc>
          <delta_ts>2012-06-27 12:42:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>divya</cc>
    
    <cc>enrica</cc>
    
    <cc>marijnh+webkit</cc>
    
    <cc>rniwa</cc>
    
    <cc>shezbaig.wk</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>307066</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-09 17:11:07 -0800</bug_when>
    <thetext>Steps to reproduce:
1. Select and copy this whole line in Bugzilla (e.g. via triple-click and Cmd+C).
2. Paste it into additional comments field several times.

There are empty lines between pasted lines, suggesting that two newlines are getting pasted instead of one.

This is rather annoying, I hit this multiple times a day in Bugzilla. This only started to happen time ago - assuming that was Safari 5, but I&apos;m not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656757</commentid>
    <comment_count>1</comment_count>
    <who name="Marijn Haverbeke">marijnh+webkit</who>
    <bug_when>2012-06-25 11:45:40 -0700</bug_when>
    <thetext>CodeMirror (http://codemirror.net) uses a textarea in a way that makes this bug extra visible. I&apos;ve had several people report it as a bug in CodeMirror in the past few months [1][2][3], and in fact ran into it writing this very comment in the bug tracker.

This seems a serious, obviously reproduceable bug. I hope it&apos;s still on someone&apos;s list? (Has been sitting idle in the bug tracker for a long time now.)

[1]: https://github.com/marijnh/CodeMirror2/issues/598
[2]: https://github.com/marijnh/CodeMirror2/issues/474
[3]: http://groups.google.com/group/codemirror/browse_thread/thread/9b42dec8a17a2dc1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657234</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-25 20:46:37 -0700</bug_when>
    <thetext>This is also important for Adobe&apos;s Brackets editor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657236</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-06-25 20:47:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/11746339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657338</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-26 00:22:19 -0700</bug_when>
    <thetext>Fix:

Index: Source/WebCore/editing/ReplaceSelectionCommand.cpp
===================================================================
--- Source/WebCore/editing/ReplaceSelectionCommand.cpp	(revision 121106)
+++ Source/WebCore/editing/ReplaceSelectionCommand.cpp	(working copy)
@@ -123,9 +123,12 @@
     // The two positions above are the same visual position, but we want to stay in the same block.
     Node* enclosingBlockNode = enclosingBlock(pos.containerNode());
     for (Position nextPosition = pos; nextPosition.containerNode() != enclosingBlockNode; pos = nextPosition) {
+        if (lineBreakExistsAtPosition(pos))
+            break;
+
         if (pos.containerNode()-&gt;nonShadowBoundaryParentNode())
             nextPosition = positionInParentAfterNode(pos.containerNode());
-        
+
         if (nextPosition == pos 
             || enclosingBlock(nextPosition.containerNode()) != enclosingBlockNode
             || VisiblePosition(pos) != VisiblePosition(nextPosition))

I&apos;ll post a patch tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657367</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-26 00:49:11 -0700</bug_when>
    <thetext>Maybe caused by http://trac.webkit.org/changeset/55762 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657865</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-26 12:46:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Maybe caused by http://trac.webkit.org/changeset/55762 ?

Seems possible. I probably didn&apos;t consider the impact on plain text by moving to an equivalent visual position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658494</commentid>
    <comment_count>7</comment_count>
      <attachid>149714</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-27 02:28:05 -0700</bug_when>
    <thetext>Created attachment 149714
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658496</commentid>
    <comment_count>8</comment_count>
    <who name="Marijn Haverbeke">marijnh+webkit</who>
    <bug_when>2012-06-27 02:33:17 -0700</bug_when>
    <thetext>Thank you for figuring this out!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658699</commentid>
    <comment_count>9</comment_count>
      <attachid>149714</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-27 10:35:01 -0700</bug_when>
    <thetext>Comment on attachment 149714
Fixes the bug

View in context: https://bugs.webkit.org/attachment.cgi?id=149714&amp;action=review

&gt; LayoutTests/ChangeLog:8
&gt; +        Add a test regerssion test for copying &amp; pasting a line in pre into textarea twice.

Typo regression and I think you don&apos;t mean to say test twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658791</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-27 12:42:27 -0700</bug_when>
    <thetext>Committed r121357: &lt;http://trac.webkit.org/changeset/121357&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149714</attachid>
            <date>2012-06-27 02:28:05 -0700</date>
            <delta_ts>2012-06-27 10:35:01 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-49288-20120627022804.patch</filename>
            <type>text/plain</type>
            <size>4717</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTI3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKFNhZmFyaSA1
Pyk6IFBhc3RpbmcgYSBsaW5lIGludG8gdGV4dGFyZWEgaW5zZXJ0cyB0d28gbmV3bGluZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5Mjg4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMg
Y2F1c2VkIGJ5IHBvc2l0aW9uQXZvaWRpbmdQcmVjZWRpbmdOb2RlcyBnZXR0aW5nIG91dCBvZiBh
IGJsb2NrIHdoZW4gdGhlIGluc2VydGlvbiBwb2ludCBpcyBhdCBhIGxpbmUgYnJlYWsuCisgICAg
ICAgIEl0IGNhdXNlZCB0aGUgc3Vic2VxdWVudCBjb2RlIHRvIGJlIG1pc2luZm9ybWVkIG9mIHRo
ZSBpbnNlcnRpb24gcG9zaXRpb24gYW5kIGVuZGVkIHVwIG5vdCBwcnVuaW5nIHRoZSBleHRyYSBs
aW5lIGJyZWFrLgorCisgICAgICAgIEZpeGVkIHRoZSBidWcgYnkgY2hlY2tpbmcgdGhpcyBzcGVj
aWFsIGNhc2UgYW5kIGJhaWxpbmcgb3V0IHNvIHRoYXQgd2UgZG9uJ3QgY3Jhd2wgb3V0IG9mIHRo
ZSBlbmNsb3NpbmcgYmxvY2suCisgICAgICAgIEl0J3Mgc2ltaWxhciB0byBjaGVja3Mgc2V2ZXJh
bCBsaW5lcyBiZWxvdyBpdC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3Bhc3RlYm9hcmQvY29w
eS1wYXN0ZS1wcmUtbGluZS1jb250ZW50Lmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25Bdm9pZGlu
Z1ByZWNlZGluZ05vZGVzKToKKwogMjAxMi0wNi0yNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuYW1lIHJhcmVTVkdEYXRhKCkgdG8gc3ZnUmFyZURh
dGEoKQpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0
aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDEyMTMwMSkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNiAr
MTIzLDkgQEAgc3RhdGljIFBvc2l0aW9uIHBvc2l0aW9uQXZvaWRpbmdQcmVjZWRpbgogICAgIC8v
IFRoZSB0d28gcG9zaXRpb25zIGFib3ZlIGFyZSB0aGUgc2FtZSB2aXN1YWwgcG9zaXRpb24sIGJ1
dCB3ZSB3YW50IHRvIHN0YXkgaW4gdGhlIHNhbWUgYmxvY2suCiAgICAgTm9kZSogZW5jbG9zaW5n
QmxvY2tOb2RlID0gZW5jbG9zaW5nQmxvY2socG9zLmNvbnRhaW5lck5vZGUoKSk7CiAgICAgZm9y
IChQb3NpdGlvbiBuZXh0UG9zaXRpb24gPSBwb3M7IG5leHRQb3NpdGlvbi5jb250YWluZXJOb2Rl
KCkgIT0gZW5jbG9zaW5nQmxvY2tOb2RlOyBwb3MgPSBuZXh0UG9zaXRpb24pIHsKKyAgICAgICAg
aWYgKGxpbmVCcmVha0V4aXN0c0F0UG9zaXRpb24ocG9zKSkKKyAgICAgICAgICAgIGJyZWFrOwor
CiAgICAgICAgIGlmIChwb3MuY29udGFpbmVyTm9kZSgpLT5ub25TaGFkb3dCb3VuZGFyeVBhcmVu
dE5vZGUoKSkKICAgICAgICAgICAgIG5leHRQb3NpdGlvbiA9IHBvc2l0aW9uSW5QYXJlbnRBZnRl
ck5vZGUocG9zLmNvbnRhaW5lck5vZGUoKSk7CiAgICAgICAgIApJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTIxMzMwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTItMDYtMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUkVHUkVTU0lPTiAoU2FmYXJpIDU/KTogUGFzdGluZyBhIGxpbmUgaW50byB0ZXh0
YXJlYSBpbnNlcnRzIHR3byBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDkyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IHJlZ2Vyc3Npb24gdGVzdCBmb3IgY29weWluZyAm
IHBhc3RpbmcgYSBsaW5lIGluIHByZSBpbnRvIHRleHRhcmVhIHR3aWNlLgorCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUtcHJlLWxpbmUtY29udGVudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLXByZS1s
aW5lLWNvbnRlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMjcgIFpvbHRhbiBBcnZhaSAgPHph
cnZhaUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmlu
ZywgcmViYXNlbGluZSBhZnRlciByMTIxMzAzLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2NvcHktcGFzdGUtcHJlLWxpbmUtY29udGVudC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcGFzdGUtcHJlLWxp
bmUtY29udGVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvY29weS1wYXN0ZS1wcmUtbGluZS1jb250ZW50LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACitUaGlzIHRlc3RzIHBhc3RpbmcgdHdvIGxpbmVz
IG9mIHRleHQgY29waWVkIGZyb20gcHJlIGNvbnRlbnQuIFRvIG1hbnVhbGx5IHRlc3QsIGNvcHkg
dGhlIHNlbGVjdGVkIHRleHQgKGluY2x1ZGluZyB0aGUgbmV3IGxpbmUpIGFuZCBwYXN0ZSBpdCBp
bnRvIHRleHRhcmVhIHR3aWNlLiBUaGVyZSBzaG91bGQgYmUgbm8gYmxhbmsgbGluZSBiZXR3ZWVu
IHR3byBwYXN0ZWQgbGluZXMuCisKK0EgbGluZSBvZiB0ZXh0Citzb21lIG90aGVyIHRleHQKKwor
QSBsaW5lIG9mIHRleHQKK0EgbGluZSBvZiB0ZXh0CisKSW5kZXg6IExheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLXByZS1saW5lLWNvbnRlbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1wYXN0ZS1wcmUtbGluZS1j
b250ZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvY29weS1wYXN0ZS1wcmUtbGluZS1jb250ZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMg
cGFzdGluZyB0d28gbGluZXMgb2YgdGV4dCBjb3BpZWQgZnJvbSBwcmUgY29udGVudC4KK1RvIG1h
bnVhbGx5IHRlc3QsIGNvcHkgdGhlIHNlbGVjdGVkIHRleHQgKGluY2x1ZGluZyB0aGUgbmV3IGxp
bmUpIGFuZCBwYXN0ZSBpdCBpbnRvIHRleHRhcmVhIHR3aWNlLgorVGhlcmUgc2hvdWxkIGJlIG5v
IGJsYW5rIGxpbmUgYmV0d2VlbiB0d28gcGFzdGVkIGxpbmVzLjwvcD4KKzxwcmUgb25jb3B5PSJz
ZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgdGV4dGFyZWEuZm9jdXMoKTsgfSwgMCk7Ij5BIGxpbmUg
b2YgdGV4dAorc29tZSBvdGhlciB0ZXh0Cis8L3ByZT4KKworPHRleHRhcmVhIGNvbHM9IjEwIiBy
b3dzPSI1IiBvbmlucHV0PSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLnRleHRD
b250ZW50ID0gdGV4dGFyZWEudmFsdWU7Ij48L3RleHRhcmVhPgorPHByZSBpZD0iY29uc29sZSI+
PC9wcmU+Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisKK3ZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
J3RleHRhcmVhJyk7CisKK2dldFNlbGVjdGlvbigpLmNvbGxhcHNlKGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ3ByZScpLCAwKTsKK2dldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2Zvcndh
cmQnLCAnbGluZScpOworCitpZiAoZG9jdW1lbnQucXVlcnlDb21tYW5kU3VwcG9ydGVkKCdwYXN0
ZScpKSB7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknLCBmYWxzZSwgbnVsbCk7CisK
KyAgICB0ZXh0YXJlYS5mb2N1cygpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdwYXN0ZScs
IGZhbHNlLCBudWxsKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgncGFzdGUnLCBmYWxzZSwg
bnVsbCk7Cit9CisKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="157803"
          type_id="1"
          status="+"
          setter="tony"
    />
    <flag name="commit-queue"
          id="157872"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>