WebCore:
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Apr 2008 20:42:02 +0000 (20:42 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Apr 2008 20:42:02 +0000 (20:42 +0000)
        Reviewed by Sam Weinig.

        - preparation https://bugs.webkit.org/show_bug.cgi?id=3729
          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
        trailing white space a bidi level consistent with its position.

LayoutTests:

        Reviewed by Sam Weinig.

        - updated results with the trailing space having the right directionality

        * platform/mac/fast/text/trailing-white-space-2-expected.txt:

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

LayoutTests/ChangeLog
LayoutTests/platform/mac/fast/text/trailing-white-space-2-expected.txt
WebCore/ChangeLog
WebCore/rendering/bidi.cpp

index 9c96eb2..32ea8a4 100644 (file)
@@ -1,3 +1,11 @@
+2008-04-22  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Sam Weinig.
+
+        - updated results with the trailing space having the right directionality
+
+        * platform/mac/fast/text/trailing-white-space-2-expected.txt:
+
 2008-04-22  Alice Liu  <alice.liu@apple.com>
 
         Reviewed by John Sullivan and Adam Roben.
index dc78dae..b4f366d 100644 (file)
@@ -40,7 +40,7 @@ layer at (0,0) size 800x600
           text run at (0,0) width 185: "Lorem ipsum dolor"
         RenderInline {SPAN} at (0,0) size 79x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (0,0) size 79x46
-            text run at (0,0) width 0: " "
+            text run at (0,0) width 0 RTL: " "
             text run at (0,23) width 79: "sit amet"
         RenderText {#text} at (0,0) size 0x0
       RenderBlock (floating) {DIV} at (440,70) size 200x46 [bgcolor=#FFFFE0]
@@ -48,7 +48,7 @@ layer at (0,0) size 800x600
           text run at (7,0) width 185: "Lorem ipsum dolor"
         RenderInline {SPAN} at (0,0) size 138x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (1,0) size 138x46
-            text run at (1,0) width 6: " "
+            text run at (1,0) width 6 RTL: " "
             text run at (60,23) width 79: "sit amet"
         RenderText {#text} at (0,0) size 0x0
       RenderBlock (floating) {DIV} at (8,132) size 200x46 [bgcolor=#FFFFE0]
@@ -56,7 +56,7 @@ layer at (0,0) size 800x600
           text run at (15,0) width 185: "Lorem ipsum dolor"
         RenderInline {SPAN} at (0,0) size 191x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (9,0) size 191x46
-            text run at (9,0) width 6: " "
+            text run at (9,0) width 6 RTL: " "
             text run at (121,23) width 79: "sit amet"
         RenderText {#text} at (0,0) size 0x0
       RenderBlock (floating) {DIV} at (224,132) size 200x46 [bgcolor=#FFFFE0]
@@ -64,7 +64,7 @@ layer at (0,0) size 800x600
           text run at (0,0) width 200: "Lorem ipsum dolor"
         RenderInline {SPAN} at (0,0) size 200x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (0,0) size 200x46
-            text run at (0,0) width 0: " "
+            text run at (0,0) width 0 RTL: " "
             text run at (121,23) width 79: "sit amet"
         RenderText {#text} at (0,0) size 0x0
       RenderBlock (floating) {DIV} at (440,132) size 200x46 [bgcolor=#FFFFE0]
@@ -73,7 +73,7 @@ layer at (0,0) size 800x600
           text run at (133,0) width 45 RTL: "\x{5D0}\x{5E0}\x{5D8}\x{5E3}"
         RenderInline {SPAN} at (0,0) size 184x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (178,0) size 184x46
-            text run at (178,0) width 6 RTL: " "
+            text run at (178,0) width 6: " "
             text run at (0,23) width 40 RTL: "\x{5E9}\x{5DC}\x{5D2}\x{5D9}"
             text run at (40,23) width 55: " amet"
         RenderText {#text} at (0,0) size 0x0
@@ -83,7 +83,7 @@ layer at (0,0) size 800x600
           text run at (144,0) width 45 RTL: "\x{5D0}\x{5E0}\x{5D8}\x{5E3}"
         RenderInline {SPAN} at (0,0) size 143x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (189,0) size 143x46
-            text run at (189,0) width 6 RTL: " "
+            text run at (189,0) width 6: " "
             text run at (52,23) width 40 RTL: "\x{5E9}\x{5DC}\x{5D2}\x{5D9}"
             text run at (92,23) width 55: " amet"
         RenderText {#text} at (0,0) size 0x0
@@ -93,7 +93,7 @@ layer at (0,0) size 800x600
           text run at (155,0) width 45 RTL: "\x{5D0}\x{5E0}\x{5D8}\x{5E3}"
         RenderInline {SPAN} at (0,0) size 95x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (200,0) size 95x46
-            text run at (200,0) width 0 RTL: " "
+            text run at (200,0) width 0: " "
             text run at (105,23) width 40 RTL: "\x{5E9}\x{5DC}\x{5D2}\x{5D9}"
             text run at (145,23) width 55: " amet"
         RenderText {#text} at (0,0) size 0x0
@@ -103,7 +103,7 @@ layer at (0,0) size 800x600
           text run at (155,0) width 45 RTL: "\x{5D0}\x{5E0}\x{5D8}\x{5E3}"
         RenderInline {SPAN} at (0,0) size 200x46 [bgcolor=#FFC0CB]
           RenderText {#text} at (200,0) size 200x46
-            text run at (200,0) width 0 RTL: " "
+            text run at (200,0) width 0: " "
             text run at (0,23) width 40 RTL: "\x{5E9}\x{5DC}\x{5D2}\x{5D9}"
             text run at (40,23) width 55: " amet"
         RenderText {#text} at (0,0) size 0x0
index 0f509ff..fce79d4 100644 (file)
@@ -1,3 +1,14 @@
+2008-04-22  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Sam Weinig.
+
+        - preparation https://bugs.webkit.org/show_bug.cgi?id=3729
+          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
+
+        * rendering/bidi.cpp:
+        (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
+        trailing white space a bidi level consistent with its position.
+
 2008-04-22  Timothy Hatcher  <timothy@apple.com>
 
         Remove many unused Web Inspector images.
index d79a93a..f14ec70 100644 (file)
@@ -991,10 +991,13 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, i
                                 }
                             }
                             if (shouldReorder) {
-                                if (direction == LTR)
+                                if (direction == LTR) {
                                     start.moveRunToEnd(trailingSpaceRun);
-                                else
+                                    trailingSpaceRun->m_level = 0;
+                                } else {
                                     start.moveRunToBeginning(trailingSpaceRun);
+                                    trailingSpaceRun->m_level = 1;
+                                }
                             }
                         }
                     } else