LayoutTests:
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Apr 2006 01:54:40 +0000 (01:54 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Apr 2006 01:54:40 +0000 (01:54 +0000)
        - add a test of RTL to the test for bug 8106

        * fast/forms/input-text-scroll-left-on-blur-expected.png: Updated.
        * fast/forms/input-text-scroll-left-on-blur-expected.txt: Updated.
        * fast/forms/input-text-scroll-left-on-blur-expected.checksum: Updated.
        * fast/forms/input-text-scroll-left-on-blur.html: Updated.

WebCore:

        Reviewed by Maciej.

        - get RTL right for bug http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
          REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
        Scroll to the right if RTL.

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

LayoutTests/ChangeLog
LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.checksum
LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png
LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.txt
LayoutTests/fast/forms/input-text-scroll-left-on-blur.html
WebCore/ChangeLog
WebCore/rendering/RenderTextField.cpp

index 84e106842ef074b22e337ed4938a1daa29ab83f1..2e060d497aac470df4164cdd81ba751f64d75b58 100644 (file)
@@ -1,3 +1,12 @@
+2006-04-03  Darin Adler  <darin@apple.com>
+
+        - add a test of RTL to the test for bug 8106
+
+        * fast/forms/input-text-scroll-left-on-blur-expected.png: Updated.
+        * fast/forms/input-text-scroll-left-on-blur-expected.txt: Updated.
+        * fast/forms/input-text-scroll-left-on-blur-expected.checksum: Updated.
+        * fast/forms/input-text-scroll-left-on-blur.html: Updated.
+
 2006-04-03  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by harrison
index a017a12e42b55f47806b2ee172d777b30a4ea52a..9b2a5c6e508b65691e3d50b46ca03e70d124df7a 100644 (file)
@@ -1 +1 @@
-7989812f37c07feb04eaa78d4fcefd70
\ No newline at end of file
+d56295d6589b9f78990c6accf7d39f2a
\ No newline at end of file
index 7e5ddf0ff703cb16d6da3a56c853c77151ff4938..a64df57f07e4149ce724586b5f6cdb994c6dd753 100644 (file)
Binary files a/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png and b/LayoutTests/fast/forms/input-text-scroll-left-on-blur-expected.png differ
index 575d25d65d33051c49a1b03f295aecabd2cb646d..80ce2d82aab9dd4a05c3f36bf8f1b0c805e0091d 100644 (file)
@@ -11,6 +11,13 @@ EDITING DELEGATE: shouldInsertText:l replacingDOMRange:range from 65 of #text >
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 65 of #text > DIV to 65 of #text > DIV toDOMRange:range from 66 of #text > DIV to 66 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldInsertText:l replacingDOMRange:range from 65 of #text > DIV to 65 of #text > DIV givenAction:WebViewInsertActionTyped
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 65 of #text > DIV to 65 of #text > DIV toDOMRange:range from 66 of #text > DIV to 66 of #text > DIV affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
   RenderCanvas at (0,0) size 800x600
 layer at (0,0) size 800x600
@@ -21,16 +28,23 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (152,2) size 4x18
           text run at (152,2) width 4: " "
         RenderTextField {INPUT} at (158,2) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {TEXT} at (308,2) size 4x18
+          text run at (308,2) width 4: " "
+        RenderTextField {INPUT} at (314,2) size 148x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {P} at (0,39) size 784x36
-        RenderText {TEXT} at (0,0) size 777x36
-          text run at (0,0) width 777: "Tests scrolling back to the beginning when a text field blurs. The first field should be scrolled to the left, the second scrolled"
-          text run at (0,18) width 72: "to the right."
+        RenderText {TEXT} at (0,0) size 784x36
+          text run at (0,0) width 784: "Tests scrolling back to the beginning when a text field blurs. The first field should be scrolled to the left, the second and third"
+          text run at (0,18) width 125: "scrolled to the right."
 layer at (13,13) size 142x13 scrollWidth 321
   RenderBlock {DIV} at (3,3) size 142x13
     RenderText {TEXT} at (1,0) size 319x13
       text run at (1,0) width 319: "this text field has a lot of text in it so that it needs to scroll"
-layer at (169,13) size 142x13 scrollX 179 scrollWidth 321
+layer at (169,13) size 142x13 scrollX 178 scrollWidth 320
+  RenderBlock {DIV} at (3,3) size 142x13
+    RenderText {TEXT} at (-178,0) size 319x13
+      text run at (-178,0) width 319: "this text field has a lot of text in it so that it needs to scroll"
+layer at (325,13) size 142x13 scrollX 179 scrollWidth 321
   RenderBlock {DIV} at (3,3) size 142x13
     RenderText {TEXT} at (1,0) size 319x13
       text run at (1,0) width 319: "this text field has a lot of text in it so that it needs to scroll"
index d8145e86588f1e3f51f4f07258fb461298dfbd39..6abfeb1cc636a84c2dc666f6bf5f359eabc9e7ec 100644 (file)
@@ -1,6 +1,7 @@
 <input id="a" type="text" value="this text field has a lot of text in it so that it needs to scrol">
-<input id="b" type="text" value="this text field has a lot of text in it so that it needs to scrol">
-<p>Tests scrolling back to the beginning when a text field blurs. The first field should be scrolled to the left, the second scrolled to the right.</p>
+<input id="b" type="text" style="direction: rtl" value="this text field has a lot of text in it so that it needs to scrol">
+<input id="c" type="text" value="this text field has a lot of text in it so that it needs to scrol">
+<p>Tests scrolling back to the beginning when a text field blurs. The first field should be scrolled to the left, the second and third scrolled to the right.</p>
 <script>
 var a = document.getElementById("a");
 a.focus();
@@ -8,11 +9,16 @@ a.setSelectionRange(66, 66);
 if (window.eventSender) {
     eventSender.keyDown("l");
 }
-a.blur();
 var b = document.getElementById("b");
 b.focus();
 b.setSelectionRange(66, 66);
 if (window.eventSender) {
     eventSender.keyDown("l");
 }
+var c = document.getElementById("c");
+c.focus();
+c.setSelectionRange(66, 66);
+if (window.eventSender) {
+    eventSender.keyDown("l");
+}
 </script>
index 5ec9730c6d3bb536fc72ed1342aa40c82e8292d3..ddf3d12ddd5c9e42f2cd4e8451fb405831140164 100644 (file)
@@ -1,3 +1,13 @@
+2006-04-03  Darin Adler  <darin@apple.com>
+
+        Reviewed by Maciej.
+
+        - get RTL right for bug http://bugzilla.opendarwin.org/show_bug.cgi?id=8106
+          REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
+
+        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
+        Scroll to the right if RTL.
+
 2006-04-03  Darin Adler  <darin@apple.com>
 
         Reviewed by Maciej.
index 5cbd4f48c65d8c86c3d2a7af60b03b859cc25dff..5db86d851b32097be8aec97d19259c347da572d0 100644 (file)
@@ -235,7 +235,7 @@ void RenderTextField::forwardEvent(Event* evt)
         if (innerRenderer) {
             RenderLayer* innerLayer = innerRenderer->layer();
             if (innerLayer)
-                innerLayer->scrollToOffset(0, 0);
+                innerLayer->scrollToOffset(style()->direction() == RTL ? innerLayer->scrollWidth() : 0, 0);
         }
     } else
         m_div->defaultEventHandler(evt);