LayoutTests:
authorkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Aug 2007 18:12:23 +0000 (18:12 +0000)
committerkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Aug 2007 18:12:23 +0000 (18:12 +0000)
        - Rolling back since I neeed to update some layouttests this change broke.

        * fast/forms/cursor-position-expected.txt:
        * fast/forms/cursor-position.html:

WebCore:

        - Rolling back since I need to update some layouttests this change breaks.

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::setValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/forms/cursor-position-expected.txt
LayoutTests/fast/forms/cursor-position.html
WebCore/ChangeLog
WebCore/html/HTMLTextAreaElement.cpp

index 32c82a4d197a02b75cf6b7e799007f8a4dfd8ba0..1d8c282abb2bc2a253b9fbd5cb393735971ca991 100644 (file)
@@ -1,3 +1,10 @@
+2007-08-22  Kevin McCullough  <kmccullough@apple.com>
+
+        - Rolling back since I neeed to update some layouttests this change broke.
+
+        * fast/forms/cursor-position-expected.txt:
+        * fast/forms/cursor-position.html:
+
 2007-08-21  Kevin McCullough  <kmccullough@apple.com>
 
         Reviewed by Geof, Adam, Hyatt, Maciej and Oliver.
index 38fbe34763cdfc9d7c0fa528ab22acbcbfbbff44..4d763279ed87464db327ae14ca5c87386b53aff3 100644 (file)
@@ -1,13 +1,8 @@
-This test used to check that the selection start was the same before and after a change to the contents of a textarea.
+This test sets a non-standard line endings, sets selection, then sets a standard line ending string, and checks selection.
 
-However now, in order to match the behavior of the other major browsers, selection is moved to the end of the text value when a change occurs to the contents of a text area.
+If this test succeeded, you should see 2 lines saying "10, 10" below.
 
-Because this would invalidate the previous test, and that the previous test now perfectly shows the new behavior, we repurposed it.
 
-
-rdar://problem/5423067 gmail is super annoying when trying to add a new name to the TO, CC or BCC fields
-
-
-25, 25
-24, 24
+10, 10
+10, 10
 
index 01a109b04e0c3e76100b295ea9e7d5b9863ff3d4..bdea6f7e53c277ca036f132317a9e25afaa976e7 100644 (file)
@@ -12,7 +12,6 @@
                 if (window.layoutTestController) {
                     layoutTestController.dumpAsText();
                 }
-
                 var elt = document.getElementById("text");
                 txt = "this is\ra test\rof cursor";
                 txt2 = "this is\na test\nof cursor!";
         </script>
     </head>
     <body onload="test();">
-        <p>This test used to check that the selection start was the same before and after a change to the contents of a textarea.</p>
-        <p>However now, in order to match the behavior of the other major browsers, selection is moved to the end of the text value when a change occurs to the contents of a text area.</p>
-        <p>Because this would invalidate the previous test, and that the previous test now perfectly shows the new behavior, we repurposed it.</p>
-        <br />
-        <p>rdar://problem/5423067 gmail is super annoying when trying to add a new name to the TO, CC or BCC fields</p>
+        <p>This test sets a non-standard line endings, sets selection, then sets a standard line ending string, and checks selection.</p>
+        <p>If this test succeeded, you should see 2 lines saying "10, 10" below.</p>
         <hr />
         <form>
             <textarea id="text"></textarea>
index effffeff42bdc69d4970d6ed39b8bd4ebddac631..4f9877c00ace651222af1d57fa4f83dda56af1fd 100644 (file)
@@ -1,3 +1,10 @@
+2007-08-22  Kevin McCullough  <kmccullough@apple.com>
+
+        - Rolling back since I need to update some layouttests this change breaks.
+
+        * html/HTMLTextAreaElement.cpp:
+        (WebCore::HTMLTextAreaElement::setValue):
+
 2007-08-21  Kevin McCullough  <kmccullough@apple.com>
 
         Reviewed by Geof, Adam, Hyatt, Maciej and Oliver.
index 2db9b27cb5569b00a8f27d5721cecfbc8d122b53..1a572fc4bac8242f2b56b71e25f3503567d8c935 100644 (file)
@@ -252,11 +252,13 @@ void HTMLTextAreaElement::setValue(const String& value)
         document()->updateRendering();
     if (renderer())
         renderer()->updateFromElement();
-    
-    // Set the caret to the end of the text value.    
-    unsigned endOfString = m_value.length();
-    setSelectionRange(endOfString, endOfString);
-
+        
+    // Restore a caret at the starting point of the old selection.
+    // This matches Safari 2.0 behavior.
+    if (document()->focusedNode() == this && cachedSelStart != -1) {
+        ASSERT(cachedSelEnd != -1);
+        setSelectionRange(cachedSelStart, cachedSelStart);
+    }
     setChanged();
 }