LayoutTests:
authorjusting <justing@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 25 Feb 2006 01:07:53 +0000 (01:07 +0000)
committerjusting <justing@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 25 Feb 2006 01:07:53 +0000 (01:07 +0000)
        <http://bugzilla.opendarwin.org/show_bug.cgi?id=7245>
        caret does not display at the end of some lines in contenteditable divs

        Reviewed by justin

        * editing/deleting/delete-block-merge-contents-018-expected.txt:
        * editing/deleting/delete-block-merge-contents-021-expected.txt:
        * editing/deleting/delete-line-end-ws-001-expected.txt:
        * editing/deleting/delete-line-end-ws-002-expected.txt:
        * editing/deleting/forward-delete-expected.txt:
        * editing/execCommand/boldSelection-expected.txt:
        * editing/execCommand/italicizeByCharacter-expected.txt:
        * editing/execCommand/modifyForeColorByCharacter-expected.txt:
        * editing/execCommand/print-expected.txt:
        * editing/execCommand/selectAll-expected.txt:
        * editing/execCommand/strikethroughSelection-expected.txt:
        * editing/inserting/insert-div-019-expected.txt:
        * editing/inserting/insert-div-027-expected.txt:
        * editing/inserting/typing-003-expected.txt:
        * editing/pasteboard/paste-text-012-expected.txt:
        * editing/pasteboard/paste-text-013-expected.txt:
        * editing/pasteboard/paste-text-014-expected.txt:
        * editing/selection/extend-by-character-003-expected.txt:
        * editing/selection/extend-by-character-005-expected.txt:
        * editing/selection/extend-by-word-002-expected.checksum:
        * editing/selection/extend-by-word-002-expected.png:
        * editing/selection/extend-by-word-002-expected.txt:
        * editing/selection/move-by-character-003-expected.txt:
        * editing/selection/move-by-character-005-expected.txt:
        * editing/selection/select-all-001-expected.txt:
        * editing/selection/select-all-002-expected.checksum:
        * editing/selection/select-all-002-expected.png:
        * editing/selection/select-all-002-expected.txt:
        * editing/selection/select-all-003-expected.txt:
        * editing/style/create-block-for-style-001-expected.txt:
        * editing/style/create-block-for-style-002-expected.txt:
        * editing/style/create-block-for-style-003-expected.txt:
        * editing/style/create-block-for-style-004-expected.txt:
        * editing/style/create-block-for-style-005-expected.txt:
        * editing/style/create-block-for-style-006-expected.txt:
        * editing/style/create-block-for-style-007-expected.txt:
        * editing/style/create-block-for-style-008-expected.txt:
        * editing/style/create-block-for-style-009-expected.txt:
        * editing/style/create-block-for-style-010-expected.txt:
        * editing/style/create-block-for-style-011-expected.txt:
        * editing/style/create-block-for-style-012-expected.txt:
        * editing/style/create-block-for-style-013-expected.txt:
        * editing/style/relative-font-size-change-001-expected.txt:
        * editing/style/relative-font-size-change-002-expected.txt:
        * editing/style/relative-font-size-change-003-expected.txt:
        * editing/style/relative-font-size-change-004-expected.txt:
        * fast/clip/outline-overflowClip-expected.txt:
        * fast/overflow/overflow-focus-ring-expected.checksum:
        * fast/overflow/overflow-focus-ring-expected.png:
        * fast/overflow/overflow-focus-ring-expected.txt:
        * fast/text/justified-text-rect-expected.checksum:
        * fast/text/justified-text-rect-expected.png:
        * fast/text/justified-text-rect-expected.txt:
        * fast/text/justified-text-rect.html:

WebCore:

        <http://bugzilla.opendarwin.org/show_bug.cgi?id=7245>
        caret does not display at the end of some lines in contenteditable divs

        Reviewed by justin

        * khtml/html/HTMLElementImpl.cpp:
        (WebCore::HTMLElementImpl::setContentEditable):
        * page/Frame.cpp:
        (WebCore::Frame::applyEditingStyleToElement):
        (WebCore::Frame::removeEditingStyleFromElement):

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

58 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/deleting/delete-block-merge-contents-018-expected.txt
LayoutTests/editing/deleting/delete-block-merge-contents-021-expected.txt
LayoutTests/editing/deleting/delete-line-end-ws-001-expected.txt
LayoutTests/editing/deleting/delete-line-end-ws-002-expected.txt
LayoutTests/editing/deleting/forward-delete-expected.txt
LayoutTests/editing/execCommand/boldSelection-expected.txt
LayoutTests/editing/execCommand/italicizeByCharacter-expected.txt
LayoutTests/editing/execCommand/modifyForeColorByCharacter-expected.txt
LayoutTests/editing/execCommand/print-expected.txt
LayoutTests/editing/execCommand/selectAll-expected.txt
LayoutTests/editing/execCommand/strikethroughSelection-expected.txt
LayoutTests/editing/inserting/insert-div-019-expected.txt
LayoutTests/editing/inserting/insert-div-027-expected.txt
LayoutTests/editing/inserting/typing-003-expected.txt
LayoutTests/editing/pasteboard/paste-text-012-expected.txt
LayoutTests/editing/pasteboard/paste-text-013-expected.txt
LayoutTests/editing/pasteboard/paste-text-014-expected.txt
LayoutTests/editing/selection/extend-by-character-003-expected.txt
LayoutTests/editing/selection/extend-by-character-005-expected.txt
LayoutTests/editing/selection/extend-by-word-002-expected.checksum
LayoutTests/editing/selection/extend-by-word-002-expected.png
LayoutTests/editing/selection/extend-by-word-002-expected.txt
LayoutTests/editing/selection/move-by-character-003-expected.txt
LayoutTests/editing/selection/move-by-character-005-expected.txt
LayoutTests/editing/selection/select-all-001-expected.txt
LayoutTests/editing/selection/select-all-002-expected.checksum
LayoutTests/editing/selection/select-all-002-expected.png
LayoutTests/editing/selection/select-all-002-expected.txt
LayoutTests/editing/selection/select-all-003-expected.txt
LayoutTests/editing/style/create-block-for-style-001-expected.txt
LayoutTests/editing/style/create-block-for-style-002-expected.txt
LayoutTests/editing/style/create-block-for-style-003-expected.txt
LayoutTests/editing/style/create-block-for-style-004-expected.txt
LayoutTests/editing/style/create-block-for-style-005-expected.txt
LayoutTests/editing/style/create-block-for-style-006-expected.txt
LayoutTests/editing/style/create-block-for-style-007-expected.txt
LayoutTests/editing/style/create-block-for-style-008-expected.txt
LayoutTests/editing/style/create-block-for-style-009-expected.txt
LayoutTests/editing/style/create-block-for-style-010-expected.txt
LayoutTests/editing/style/create-block-for-style-011-expected.txt
LayoutTests/editing/style/create-block-for-style-012-expected.txt
LayoutTests/editing/style/create-block-for-style-013-expected.txt
LayoutTests/editing/style/relative-font-size-change-001-expected.txt
LayoutTests/editing/style/relative-font-size-change-002-expected.txt
LayoutTests/editing/style/relative-font-size-change-003-expected.txt
LayoutTests/editing/style/relative-font-size-change-004-expected.txt
LayoutTests/fast/clip/outline-overflowClip-expected.txt
LayoutTests/fast/overflow/overflow-focus-ring-expected.checksum
LayoutTests/fast/overflow/overflow-focus-ring-expected.png
LayoutTests/fast/overflow/overflow-focus-ring-expected.txt
LayoutTests/fast/text/justified-text-rect-expected.checksum
LayoutTests/fast/text/justified-text-rect-expected.png
LayoutTests/fast/text/justified-text-rect-expected.txt
LayoutTests/fast/text/justified-text-rect.html
WebCore/ChangeLog
WebCore/khtml/html/HTMLElementImpl.cpp
WebCore/page/Frame.cpp

index 2a2b097..5f9b86b 100644 (file)
@@ -1,3 +1,65 @@
+2006-02-24  Graham Dennis  <Graham.Dennis@gmail.com>
+        
+        <http://bugzilla.opendarwin.org/show_bug.cgi?id=7245>
+        caret does not display at the end of some lines in contenteditable divs
+
+        Reviewed by justin
+
+        * editing/deleting/delete-block-merge-contents-018-expected.txt:
+        * editing/deleting/delete-block-merge-contents-021-expected.txt:
+        * editing/deleting/delete-line-end-ws-001-expected.txt:
+        * editing/deleting/delete-line-end-ws-002-expected.txt:
+        * editing/deleting/forward-delete-expected.txt:
+        * editing/execCommand/boldSelection-expected.txt:
+        * editing/execCommand/italicizeByCharacter-expected.txt:
+        * editing/execCommand/modifyForeColorByCharacter-expected.txt:
+        * editing/execCommand/print-expected.txt:
+        * editing/execCommand/selectAll-expected.txt:
+        * editing/execCommand/strikethroughSelection-expected.txt:
+        * editing/inserting/insert-div-019-expected.txt:
+        * editing/inserting/insert-div-027-expected.txt:
+        * editing/inserting/typing-003-expected.txt:
+        * editing/pasteboard/paste-text-012-expected.txt:
+        * editing/pasteboard/paste-text-013-expected.txt:
+        * editing/pasteboard/paste-text-014-expected.txt:
+        * editing/selection/extend-by-character-003-expected.txt:
+        * editing/selection/extend-by-character-005-expected.txt:
+        * editing/selection/extend-by-word-002-expected.checksum:
+        * editing/selection/extend-by-word-002-expected.png:
+        * editing/selection/extend-by-word-002-expected.txt:
+        * editing/selection/move-by-character-003-expected.txt:
+        * editing/selection/move-by-character-005-expected.txt:
+        * editing/selection/select-all-001-expected.txt:
+        * editing/selection/select-all-002-expected.checksum:
+        * editing/selection/select-all-002-expected.png:
+        * editing/selection/select-all-002-expected.txt:
+        * editing/selection/select-all-003-expected.txt:
+        * editing/style/create-block-for-style-001-expected.txt:
+        * editing/style/create-block-for-style-002-expected.txt:
+        * editing/style/create-block-for-style-003-expected.txt:
+        * editing/style/create-block-for-style-004-expected.txt:
+        * editing/style/create-block-for-style-005-expected.txt:
+        * editing/style/create-block-for-style-006-expected.txt:
+        * editing/style/create-block-for-style-007-expected.txt:
+        * editing/style/create-block-for-style-008-expected.txt:
+        * editing/style/create-block-for-style-009-expected.txt:
+        * editing/style/create-block-for-style-010-expected.txt:
+        * editing/style/create-block-for-style-011-expected.txt:
+        * editing/style/create-block-for-style-012-expected.txt:
+        * editing/style/create-block-for-style-013-expected.txt:
+        * editing/style/relative-font-size-change-001-expected.txt:
+        * editing/style/relative-font-size-change-002-expected.txt:
+        * editing/style/relative-font-size-change-003-expected.txt:
+        * editing/style/relative-font-size-change-004-expected.txt:
+        * fast/clip/outline-overflowClip-expected.txt:
+        * fast/overflow/overflow-focus-ring-expected.checksum:
+        * fast/overflow/overflow-focus-ring-expected.png:
+        * fast/overflow/overflow-focus-ring-expected.txt:
+        * fast/text/justified-text-rect-expected.checksum:
+        * fast/text/justified-text-rect-expected.png:
+        * fast/text/justified-text-rect-expected.txt:
+        * fast/text/justified-text-rect.html:
+
 2006-02-24  Sam Weinig  <sam.weinig@gmail.com>
 
         Reviewed by Hyatt.
index 68a3c9e..4851872 100644 (file)
@@ -13,8 +13,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 726x56
-          text run at (14,14) width 726: "Should see \"Test OK\" in top red box, followed by \"...more text\", in its own"
+        RenderText {TEXT} at (14,14) size 732x56
+          text run at (14,14) width 732: "Should see \"Test OK\" in top red box, followed by \"...more text\", in its own "
           text run at (14,42) width 79: "red box."
       RenderBlock {DIV} at (0,108) size 784x112
         RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
index 4ae1e3d..fd3fb9b 100644 (file)
@@ -14,8 +14,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 730x56
-          text run at (14,14) width 730: "Should see \"XX\" in a top red box, and another \"XX\" in a red box inside the"
+        RenderText {TEXT} at (14,14) size 736x56
+          text run at (14,14) width 736: "Should see \"XX\" in a top red box, and another \"XX\" in a red box inside the "
           text run at (14,42) width 45: "first."
       RenderBlock {DIV} at (0,108) size 784x112
         RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
index b343c21..4e209e1 100644 (file)
@@ -69,9 +69,9 @@ layer at (0,0) size 820x585
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x244 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 540x76
-          RenderText {TEXT} at (74,84) size 540x96
-            text run at (74,84) width 540: "Fourscore and seven years ago our fathers brought forth"
+        RenderInline {SPAN} at (0,0) size 546x76
+          RenderText {TEXT} at (74,84) size 546x96
+            text run at (74,84) width 546: "Fourscore and seven years ago our fathers brought forth "
             text run at (74,132) width 304: "onthis continent a new nation..."
         RenderText {TEXT} at (0,0) size 0x0
 caret: position 58 of child 0 {TEXT} of child 1 {SPAN} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
index 2d3ad4d..b0044af 100644 (file)
@@ -69,9 +69,9 @@ layer at (0,0) size 820x585
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x244 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 540x76
-          RenderText {TEXT} at (74,84) size 540x96
-            text run at (74,84) width 540: "Fourscore and seven years ago our fathers brought forth"
+        RenderInline {SPAN} at (0,0) size 546x76
+          RenderText {TEXT} at (74,84) size 546x96
+            text run at (74,84) width 546: "Fourscore and seven years ago our fathers brought forth "
             text run at (74,132) width 304: "onthis continent a new nation..."
         RenderText {TEXT} at (0,0) size 0x0
 caret: position 58 of child 0 {TEXT} of child 1 {SPAN} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
index 8ba074a..62488cf 100644 (file)
@@ -15,8 +15,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 725x56
-          text run at (14,14) width 725: "Should see \"bar\" in the red box. Insertion point should be at the start of the"
+        RenderText {TEXT} at (14,14) size 731x56
+          text run at (14,14) width 731: "Should see \"bar\" in the red box. Insertion point should be at the start of the "
           text run at (14,42) width 102: "document."
       RenderBlock {DIV} at (0,108) size 784x56
         RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
index aacfaee..ed3c236 100644 (file)
@@ -92,7 +92,7 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x56
-          RenderInline {SPAN} at (0,0) size 700x56
+          RenderInline {SPAN} at (0,0) size 706x56
             RenderInline {B} at (0,0) size 232x28
               RenderText {TEXT} at (0,0) size 13x28
                 text run at (0,0) width 13: "\""
@@ -136,31 +136,31 @@ layer at (0,0) size 800x600
                 text run at (214,0) width 12: "x"
               RenderText {TEXT} at (226,0) size 6x28
                 text run at (226,0) width 6: " "
-            RenderText {TEXT} at (232,0) size 700x56
-              text run at (232,0) width 468: "jumps over the lazy dog\" uses every letter in the"
+            RenderText {TEXT} at (232,0) size 706x56
+              text run at (232,0) width 474: "jumps over the lazy dog\" uses every letter in the "
               text run at (0,28) width 170: "english language."
         RenderBlock (anonymous) at (14,94) size 756x224
           RenderBlock {P} at (0,0) size 756x224
-            RenderText {TEXT} at (0,0) size 755x224
+            RenderText {TEXT} at (0,0) size 756x224
               text run at (0,0) width 462: "Here's to the crazy ones, the misfits, the rebels, "
               text run at (462,0) width 193: "the trouble makers, "
-              text run at (655,0) width 92: "the round"
+              text run at (655,0) width 98: "the round "
               text run at (0,28) width 243: "pegs in the square holes, "
               text run at (243,28) width 350: "the ones who see things differently. "
-              text run at (593,28) width 144: "There not fond"
+              text run at (593,28) width 150: "There not fond "
               text run at (0,56) width 510: "of rules, and they have no respect for the status quo, "
               text run at (510,56) width 190: "you can quote then,"
               text run at (0,84) width 197: "disagree with them, "
               text run at (197,84) width 218: "glorify or vilify them, "
-              text run at (415,84) width 340: "about the only thing you can't do is"
+              text run at (415,84) width 341: "about the only thing you can't do is "
               text run at (0,112) width 129: "ignore them. "
               text run at (129,112) width 281: "Because they change things. "
-              text run at (410,112) width 344: "They push the human race forward."
+              text run at (410,112) width 346: "They push the human race forward.  "
               text run at (0,140) width 481: "And while some may see them as the crazy ones, "
               text run at (481,140) width 146: "we see genius. "
-              text run at (627,140) width 117: "Because the"
+              text run at (627,140) width 123: "Because the "
               text run at (0,168) width 632: "people who are crazy enough to think they can change the world "
-              text run at (632,168) width 116: "are the ones"
+              text run at (632,168) width 122: "are the ones "
               text run at (0,196) width 77: "who do."
         RenderBlock (anonymous) at (14,342) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
index 675d314..15f0ffd 100644 (file)
@@ -12,35 +12,35 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x56
-          RenderInline {SPAN} at (0,0) size 687x56
+          RenderInline {SPAN} at (0,0) size 693x56
             RenderInline {I} at (0,0) size 10x28
               RenderText {TEXT} at (0,0) size 10x28
                 text run at (0,0) width 10: "\""
-            RenderText {TEXT} at (10,0) size 687x56
-              text run at (10,0) width 677: "The quick brown fox jumps over the lazy dog\" uses every letter in the"
+            RenderText {TEXT} at (10,0) size 693x56
+              text run at (10,0) width 683: "The quick brown fox jumps over the lazy dog\" uses every letter in the "
               text run at (0,28) width 170: "english language."
         RenderBlock (anonymous) at (14,94) size 756x224
           RenderBlock {P} at (0,0) size 756x224
-            RenderText {TEXT} at (0,0) size 755x224
+            RenderText {TEXT} at (0,0) size 756x224
               text run at (0,0) width 462: "Here's to the crazy ones, the misfits, the rebels, "
               text run at (462,0) width 193: "the trouble makers, "
-              text run at (655,0) width 92: "the round"
+              text run at (655,0) width 98: "the round "
               text run at (0,28) width 243: "pegs in the square holes, "
               text run at (243,28) width 350: "the ones who see things differently. "
-              text run at (593,28) width 144: "There not fond"
+              text run at (593,28) width 150: "There not fond "
               text run at (0,56) width 510: "of rules, and they have no respect for the status quo, "
               text run at (510,56) width 190: "you can quote then,"
               text run at (0,84) width 197: "disagree with them, "
               text run at (197,84) width 218: "glorify or vilify them, "
-              text run at (415,84) width 340: "about the only thing you can't do is"
+              text run at (415,84) width 341: "about the only thing you can't do is "
               text run at (0,112) width 129: "ignore them. "
               text run at (129,112) width 281: "Because they change things. "
-              text run at (410,112) width 344: "They push the human race forward."
+              text run at (410,112) width 346: "They push the human race forward.  "
               text run at (0,140) width 481: "And while some may see them as the crazy ones, "
               text run at (481,140) width 146: "we see genius. "
-              text run at (627,140) width 117: "Because the"
+              text run at (627,140) width 123: "Because the "
               text run at (0,168) width 632: "people who are crazy enough to think they can change the world "
-              text run at (632,168) width 116: "are the ones"
+              text run at (632,168) width 122: "are the ones "
               text run at (0,196) width 77: "who do."
         RenderBlock (anonymous) at (14,342) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
index 4fd0e12..9f0303b 100644 (file)
@@ -12,35 +12,35 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x56
-          RenderInline {SPAN} at (0,0) size 687x56
+          RenderInline {SPAN} at (0,0) size 693x56
             RenderInline {FONT} at (0,0) size 10x28 [color=#008000]
               RenderText {TEXT} at (0,0) size 10x28
                 text run at (0,0) width 10: "\""
-            RenderText {TEXT} at (10,0) size 687x56
-              text run at (10,0) width 677: "The quick brown fox jumps over the lazy dog\" uses every letter in the"
+            RenderText {TEXT} at (10,0) size 693x56
+              text run at (10,0) width 683: "The quick brown fox jumps over the lazy dog\" uses every letter in the "
               text run at (0,28) width 170: "english language."
         RenderBlock (anonymous) at (14,94) size 756x224
           RenderBlock {P} at (0,0) size 756x224
-            RenderText {TEXT} at (0,0) size 755x224
+            RenderText {TEXT} at (0,0) size 756x224
               text run at (0,0) width 462: "Here's to the crazy ones, the misfits, the rebels, "
               text run at (462,0) width 193: "the trouble makers, "
-              text run at (655,0) width 92: "the round"
+              text run at (655,0) width 98: "the round "
               text run at (0,28) width 243: "pegs in the square holes, "
               text run at (243,28) width 350: "the ones who see things differently. "
-              text run at (593,28) width 144: "There not fond"
+              text run at (593,28) width 150: "There not fond "
               text run at (0,56) width 510: "of rules, and they have no respect for the status quo, "
               text run at (510,56) width 190: "you can quote then,"
               text run at (0,84) width 197: "disagree with them, "
               text run at (197,84) width 218: "glorify or vilify them, "
-              text run at (415,84) width 340: "about the only thing you can't do is"
+              text run at (415,84) width 341: "about the only thing you can't do is "
               text run at (0,112) width 129: "ignore them. "
               text run at (129,112) width 281: "Because they change things. "
-              text run at (410,112) width 344: "They push the human race forward."
+              text run at (410,112) width 346: "They push the human race forward.  "
               text run at (0,140) width 481: "And while some may see them as the crazy ones, "
               text run at (481,140) width 146: "we see genius. "
-              text run at (627,140) width 117: "Because the"
+              text run at (627,140) width 123: "Because the "
               text run at (0,168) width 632: "people who are crazy enough to think they can change the world "
-              text run at (632,168) width 116: "are the ones"
+              text run at (632,168) width 122: "are the ones "
               text run at (0,196) width 77: "who do."
         RenderBlock (anonymous) at (14,342) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
index 831e3c3..cc4f70d 100644 (file)
@@ -8,32 +8,32 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x56
-          RenderInline {SPAN} at (0,0) size 687x56
-            RenderText {TEXT} at (0,0) size 687x56
-              text run at (0,0) width 687: "\"The quick brown fox jumps over the lazy dog\" uses every letter in the"
+          RenderInline {SPAN} at (0,0) size 693x56
+            RenderText {TEXT} at (0,0) size 693x56
+              text run at (0,0) width 693: "\"The quick brown fox jumps over the lazy dog\" uses every letter in the "
               text run at (0,28) width 170: "english language."
         RenderBlock (anonymous) at (14,94) size 756x224
           RenderBlock {P} at (0,0) size 756x224
-            RenderText {TEXT} at (0,0) size 755x224
+            RenderText {TEXT} at (0,0) size 756x224
               text run at (0,0) width 462: "Here's to the crazy ones, the misfits, the rebels, "
               text run at (462,0) width 193: "the trouble makers, "
-              text run at (655,0) width 92: "the round"
+              text run at (655,0) width 98: "the round "
               text run at (0,28) width 243: "pegs in the square holes, "
               text run at (243,28) width 350: "the ones who see things differently. "
-              text run at (593,28) width 144: "There not fond"
+              text run at (593,28) width 150: "There not fond "
               text run at (0,56) width 510: "of rules, and they have no respect for the status quo, "
               text run at (510,56) width 190: "you can quote then,"
               text run at (0,84) width 197: "disagree with them, "
               text run at (197,84) width 218: "glorify or vilify them, "
-              text run at (415,84) width 340: "about the only thing you can't do is"
+              text run at (415,84) width 341: "about the only thing you can't do is "
               text run at (0,112) width 129: "ignore them. "
               text run at (129,112) width 281: "Because they change things. "
-              text run at (410,112) width 344: "They push the human race forward."
+              text run at (410,112) width 346: "They push the human race forward.  "
               text run at (0,140) width 481: "And while some may see them as the crazy ones, "
               text run at (481,140) width 146: "we see genius. "
-              text run at (627,140) width 117: "Because the"
+              text run at (627,140) width 123: "Because the "
               text run at (0,168) width 632: "people who are crazy enough to think they can change the world "
-              text run at (632,168) width 116: "are the ones"
+              text run at (632,168) width 122: "are the ones "
               text run at (0,196) width 77: "who do."
         RenderBlock (anonymous) at (14,342) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
index 7f17fd6..a4004b3 100644 (file)
@@ -10,32 +10,32 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x56
-          RenderInline {SPAN} at (0,0) size 687x56
-            RenderText {TEXT} at (0,0) size 687x56
-              text run at (0,0) width 687: "\"The quick brown fox jumps over the lazy dog\" uses every letter in the"
+          RenderInline {SPAN} at (0,0) size 693x56
+            RenderText {TEXT} at (0,0) size 693x56
+              text run at (0,0) width 693: "\"The quick brown fox jumps over the lazy dog\" uses every letter in the "
               text run at (0,28) width 170: "english language."
         RenderBlock (anonymous) at (14,94) size 756x224
           RenderBlock {P} at (0,0) size 756x224
-            RenderText {TEXT} at (0,0) size 755x224
+            RenderText {TEXT} at (0,0) size 756x224
               text run at (0,0) width 462: "Here's to the crazy ones, the misfits, the rebels, "
               text run at (462,0) width 193: "the trouble makers, "
-              text run at (655,0) width 92: "the round"
+              text run at (655,0) width 98: "the round "
               text run at (0,28) width 243: "pegs in the square holes, "
               text run at (243,28) width 350: "the ones who see things differently. "
-              text run at (593,28) width 144: "There not fond"
+              text run at (593,28) width 150: "There not fond "
               text run at (0,56) width 510: "of rules, and they have no respect for the status quo, "
               text run at (510,56) width 190: "you can quote then,"
               text run at (0,84) width 197: "disagree with them, "
               text run at (197,84) width 218: "glorify or vilify them, "
-              text run at (415,84) width 340: "about the only thing you can't do is"
+              text run at (415,84) width 341: "about the only thing you can't do is "
               text run at (0,112) width 129: "ignore them. "
               text run at (129,112) width 281: "Because they change things. "
-              text run at (410,112) width 344: "They push the human race forward."
+              text run at (410,112) width 346: "They push the human race forward.  "
               text run at (0,140) width 481: "And while some may see them as the crazy ones, "
               text run at (481,140) width 146: "we see genius. "
-              text run at (627,140) width 117: "Because the"
+              text run at (627,140) width 123: "Because the "
               text run at (0,168) width 632: "people who are crazy enough to think they can change the world "
-              text run at (632,168) width 116: "are the ones"
+              text run at (632,168) width 122: "are the ones "
               text run at (0,196) width 77: "who do."
         RenderBlock (anonymous) at (14,342) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
index c830af9..940b5c9 100644 (file)
@@ -92,7 +92,7 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x56
-          RenderInline {SPAN} at (0,0) size 687x56
+          RenderInline {SPAN} at (0,0) size 693x56
             RenderInline {SPAN} at (0,0) size 219x28
               RenderText {TEXT} at (0,0) size 10x28
                 text run at (0,0) width 10: "\""
@@ -136,31 +136,31 @@ layer at (0,0) size 800x600
                 text run at (201,0) width 12: "x"
               RenderText {TEXT} at (213,0) size 6x28
                 text run at (213,0) width 6: " "
-            RenderText {TEXT} at (219,0) size 687x56
-              text run at (219,0) width 468: "jumps over the lazy dog\" uses every letter in the"
+            RenderText {TEXT} at (219,0) size 693x56
+              text run at (219,0) width 474: "jumps over the lazy dog\" uses every letter in the "
               text run at (0,28) width 170: "english language."
         RenderBlock (anonymous) at (14,94) size 756x224
           RenderBlock {P} at (0,0) size 756x224
-            RenderText {TEXT} at (0,0) size 755x224
+            RenderText {TEXT} at (0,0) size 756x224
               text run at (0,0) width 462: "Here's to the crazy ones, the misfits, the rebels, "
               text run at (462,0) width 193: "the trouble makers, "
-              text run at (655,0) width 92: "the round"
+              text run at (655,0) width 98: "the round "
               text run at (0,28) width 243: "pegs in the square holes, "
               text run at (243,28) width 350: "the ones who see things differently. "
-              text run at (593,28) width 144: "There not fond"
+              text run at (593,28) width 150: "There not fond "
               text run at (0,56) width 510: "of rules, and they have no respect for the status quo, "
               text run at (510,56) width 190: "you can quote then,"
               text run at (0,84) width 197: "disagree with them, "
               text run at (197,84) width 218: "glorify or vilify them, "
-              text run at (415,84) width 340: "about the only thing you can't do is"
+              text run at (415,84) width 341: "about the only thing you can't do is "
               text run at (0,112) width 129: "ignore them. "
               text run at (129,112) width 281: "Because they change things. "
-              text run at (410,112) width 344: "They push the human race forward."
+              text run at (410,112) width 346: "They push the human race forward.  "
               text run at (0,140) width 481: "And while some may see them as the crazy ones, "
               text run at (481,140) width 146: "we see genius. "
-              text run at (627,140) width 117: "Because the"
+              text run at (627,140) width 123: "Because the "
               text run at (0,168) width 632: "people who are crazy enough to think they can change the world "
-              text run at (632,168) width 116: "are the ones"
+              text run at (632,168) width 122: "are the ones "
               text run at (0,196) width 77: "who do."
         RenderBlock (anonymous) at (14,342) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
index 0d0b3dd..2a39661 100644 (file)
@@ -13,8 +13,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x568
       RenderBlock (anonymous) at (0,0) size 784x56
-        RenderText {TEXT} at (0,0) size 748x56
-          text run at (0,0) width 748: "Test inserting paragraphs: should see an empty blue box above an empty line"
+        RenderText {TEXT} at (0,0) size 754x56
+          text run at (0,0) width 754: "Test inserting paragraphs: should see an empty blue box above an empty line "
           text run at (0,28) width 237: "between \"foo\" and \"bar\""
       RenderBlock {DIV} at (0,56) size 784x36
       RenderBlock {P} at (0,116) size 784x56 [border: (2px solid #FF0000)]
index a286ecd..59055b9 100644 (file)
@@ -17,8 +17,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock (anonymous) at (0,0) size 784x56
-        RenderText {TEXT} at (0,0) size 781x56
-          text run at (0,0) width 781: "Test inserting paragraphs: should see two blue boxes, where the second blue box"
+        RenderText {TEXT} at (0,0) size 784x56
+          text run at (0,0) width 784: "Test inserting paragraphs: should see two blue boxes, where the second blue box "
           text run at (0,28) width 245: "starts with an empty line."
       RenderBlock {DIV} at (0,56) size 784x36
       RenderBlock {DIV} at (0,92) size 784x112 [border: (2px solid #0000FF)]
index 2d47ac2..12d0f32 100644 (file)
@@ -706,10 +706,10 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
-        RenderText {TEXT} at (14,14) size 732x112
-          text run at (14,14) width 696: "xxxx x xx xxxx xxxxxx xxxxx xxxxxx xxx xx xxxx xxx xxx xx x xxxxx"
-          text run at (14,42) width 732: "xxxxxxxxxxxx xxxxxxxx xxx xxxx xxxxx xx xxx xxxx xxxx xxxxx xxxxxx"
-          text run at (14,70) width 714: "xxx xx xxxx xxx xxx xx xxxxxx xxxxx xxxxxx xxx xx xxxx xxx xxx xx x"
+        RenderText {TEXT} at (14,14) size 738x112
+          text run at (14,14) width 702: "xxxx x xx xxxx xxxxxx xxxxx xxxxxx xxx xx xxxx xxx xxx xx x xxxxx "
+          text run at (14,42) width 738: "xxxxxxxxxxxx xxxxxxxx xxx xxxx xxxxx xx xxx xxxx xxxx xxxxx xxxxxx "
+          text run at (14,70) width 720: "xxx xx xxxx xxx xxx xx xxxxxx xxxxx xxxxxx xxx xx xxxx xxx xxx xx x "
           text run at (14,98) width 360: "xxxxx xxxxxxxxxxxx xxxxxxxx xxx "
         RenderInline {SPAN} at (0,0) size 0x28
         RenderText {TEXT} at (0,0) size 0x0
index 746785f..910d2c6 100644 (file)
@@ -20,8 +20,8 @@ layer at (0,0) size 800x600
         RenderInline {A} at (0,0) size 167x18 [color=#0000EE]
           RenderText {TEXT} at (85,0) size 167x18
             text run at (85,0) width 167: "<rdar://problem/3918712>"
-        RenderText {TEXT} at (252,0) size 736x36
-          text run at (252,0) width 484: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost)."
+        RenderText {TEXT} at (252,0) size 740x36
+          text run at (252,0) width 488: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost). "
           text run at (0,18) width 496: "Should see two boxes with blockquoted \"foo\" text, followed by an empty box."
       RenderBlock {DIV} at (0,36) size 784x24
       RenderBlock {DIV} at (0,60) size 784x104 [border: (2px solid #FF0000)]
index 36cdc97..0009e1e 100644 (file)
@@ -24,9 +24,9 @@ layer at (0,0) size 800x600
         RenderInline {A} at (0,0) size 167x18 [color=#0000EE]
           RenderText {TEXT} at (85,0) size 167x18
             text run at (85,0) width 167: "<rdar://problem/3918712>"
-        RenderText {TEXT} at (252,0) size 777x54
-          text run at (252,0) width 484: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost)."
-          text run at (0,18) width 777: "Should see one box with blockquoted \"foo\" text, followed by another box with an \"x\" (not in a blockquote) and \"foo\" (in a"
+        RenderText {TEXT} at (252,0) size 781x54
+          text run at (252,0) width 488: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost). "
+          text run at (0,18) width 781: "Should see one box with blockquoted \"foo\" text, followed by another box with an \"x\" (not in a blockquote) and \"foo\" (in a "
           text run at (0,36) width 79: "blockquote)."
       RenderBlock {DIV} at (0,54) size 784x24
       RenderBlock {DIV} at (0,78) size 784x104 [border: (2px solid #FF0000)]
index f83a11f..761f820 100644 (file)
@@ -24,8 +24,8 @@ layer at (0,0) size 800x600
         RenderInline {A} at (0,0) size 167x18 [color=#0000EE]
           RenderText {TEXT} at (85,0) size 167x18
             text run at (85,0) width 167: "<rdar://problem/3918712>"
-        RenderText {TEXT} at (252,0) size 736x36
-          text run at (252,0) width 484: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost)."
+        RenderText {TEXT} at (252,0) size 740x36
+          text run at (252,0) width 488: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost). "
           text run at (0,18) width 585: "Should see two boxes with blockquoted \"foo\" text, followed by a box with an unquoted \"x\"."
       RenderBlock {DIV} at (0,36) size 784x24
       RenderBlock {DIV} at (0,60) size 784x104 [border: (2px solid #FF0000)]
index 7bf88cf..3e25063 100644 (file)
@@ -166,7 +166,7 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 659x84
+        RenderInline {SPAN} at (0,0) size 665x84
           RenderInline {I} at (0,0) size 117x28
             RenderText {TEXT} at (14,14) size 117x28
               text run at (14,14) width 21: "F "
@@ -176,9 +176,9 @@ layer at (0,0) size 800x600
           RenderInline {B} at (0,0) size 27x28
             RenderText {TEXT} at (194,14) size 27x28
               text run at (194,14) width 27: "as "
-          RenderText {TEXT} at (221,14) size 659x56
+          RenderText {TEXT} at (221,14) size 665x56
             text run at (221,14) width 110: "our fathers "
-            text run at (331,14) width 342: "f upon this continent, a new nation,"
+            text run at (331,14) width 348: "f upon this continent, a new nation, "
             text run at (14,42) width 232: "conceived    in Liberty, "
             text run at (246,42) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
index c583e23..4a546cb 100644 (file)
@@ -324,7 +324,7 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 659x84
+        RenderInline {SPAN} at (0,0) size 665x84
           RenderInline {I} at (0,0) size 117x28
             RenderText {TEXT} at (14,14) size 117x28
               text run at (14,14) width 21: "F "
@@ -334,9 +334,9 @@ layer at (0,0) size 800x600
           RenderInline {B} at (0,0) size 27x28
             RenderText {TEXT} at (194,14) size 27x28
               text run at (194,14) width 27: "as "
-          RenderText {TEXT} at (221,14) size 659x56
+          RenderText {TEXT} at (221,14) size 665x56
             text run at (221,14) width 110: "our fathers "
-            text run at (331,14) width 342: "f upon this continent, a new nation,"
+            text run at (331,14) width 348: "f upon this continent, a new nation, "
             text run at (14,42) width 232: "conceived    in Liberty, "
             text run at (246,42) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
index 536ab8e..9732db7 100644 (file)
@@ -1 +1 @@
-2906d849ad00cc993528eb8b2484f5bd
\ No newline at end of file
+49e337e520c878c4fdb99a2ca47667a4
\ No newline at end of file
index 06d121c..133ecc5 100644 (file)
Binary files a/LayoutTests/editing/selection/extend-by-word-002-expected.png and b/LayoutTests/editing/selection/extend-by-word-002-expected.png differ
index ae2caf9..5998a29 100644 (file)
@@ -38,9 +38,9 @@ layer at (0,0) size 800x600
               RenderText {TEXT} at (5,-4) size 14x10
                 text run at (5,-4) width 14: "\x{B7} "
             RenderText {TEXT} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 72x24 [color=#0000EE]
-              RenderText {TEXT} at (19,6) size 72x24
-                text run at (19,6) width 69: "Sandwiches &"
+            RenderInline {A} at (0,0) size 76x24 [color=#0000EE]
+              RenderText {TEXT} at (19,6) size 76x24
+                text run at (19,6) width 73: "Sandwiches & "
                 text run at (16,18) width 38: "Burgers"
           RenderListItem {LI} at (0,75) size 120x21
             RenderListMarker at (5,6) size 0x10
index 64383cc..fb0b27e 100644 (file)
@@ -166,7 +166,7 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 659x84
+        RenderInline {SPAN} at (0,0) size 665x84
           RenderInline {I} at (0,0) size 117x28
             RenderText {TEXT} at (14,14) size 117x28
               text run at (14,14) width 21: "F "
@@ -176,9 +176,9 @@ layer at (0,0) size 800x600
           RenderInline {B} at (0,0) size 27x28
             RenderText {TEXT} at (194,14) size 27x28
               text run at (194,14) width 27: "as "
-          RenderText {TEXT} at (221,14) size 659x56
+          RenderText {TEXT} at (221,14) size 665x56
             text run at (221,14) width 110: "our fathers "
-            text run at (331,14) width 342: "f upon this continent, a new nation,"
+            text run at (331,14) width 348: "f upon this continent, a new nation, "
             text run at (14,42) width 232: "conceived    in Liberty, "
             text run at (246,42) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
index 7c4d638..2bb96ea 100644 (file)
@@ -324,7 +324,7 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 659x84
+        RenderInline {SPAN} at (0,0) size 665x84
           RenderInline {I} at (0,0) size 117x28
             RenderText {TEXT} at (14,14) size 117x28
               text run at (14,14) width 21: "F "
@@ -334,9 +334,9 @@ layer at (0,0) size 800x600
           RenderInline {B} at (0,0) size 27x28
             RenderText {TEXT} at (194,14) size 27x28
               text run at (194,14) width 27: "as "
-          RenderText {TEXT} at (221,14) size 659x56
+          RenderText {TEXT} at (221,14) size 665x56
             text run at (221,14) width 110: "our fathers "
-            text run at (331,14) width 342: "f upon this continent, a new nation,"
+            text run at (331,14) width 348: "f upon this continent, a new nation, "
             text run at (14,42) width 232: "conceived    in Liberty, "
             text run at (246,42) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
index d5d1190..7fb958c 100644 (file)
@@ -10,19 +10,19 @@ layer at (0,0) size 820x900
     RenderBody {BODY} at (8,64) size 769x772
       RenderBlock {DIV} at (64,0) size 748x772 [border: (50px solid #FF0000)]
         RenderBlock {DIV} at (74,74) size 600x624
-          RenderText {TEXT} at (0,10) size 598x624
-            text run at (0,10) width 552: "Four score and seven years ago our fathers brought forth,"
-            text run at (0,58) width 583: "upon this continent, a new nation, conceived in Liberty, and"
-            text run at (0,106) width 571: "dedicated to the proposition that all men are created equal."
-            text run at (0,154) width 596: "Now we are engaged in a great civil war, testing whether that"
-            text run at (0,202) width 559: "nation, or any nation, so conceived, and so dedicated, can"
-            text run at (0,250) width 565: "long endure. We are met here on a great battlefield of that"
-            text run at (0,298) width 539: "war. We have come to dedicate a portion of it as a final"
-            text run at (0,346) width 551: "resting place for those who here gave their lives that that"
-            text run at (0,394) width 573: "nation might live. It is altogether fitting and proper that we"
-            text run at (0,442) width 559: "should do this. Four score and seven years ago our fathers"
-            text run at (0,490) width 598: "brought forth, upon this continent, a new nation, conceived in"
-            text run at (0,538) width 554: "Liberty, and dedicated to the proposition that all men are"
+          RenderText {TEXT} at (0,10) size 600x624
+            text run at (0,10) width 558: "Four score and seven years ago our fathers brought forth, "
+            text run at (0,58) width 589: "upon this continent, a new nation, conceived in Liberty, and "
+            text run at (0,106) width 577: "dedicated to the proposition that all men are created equal. "
+            text run at (0,154) width 600: "Now we are engaged in a great civil war, testing whether that "
+            text run at (0,202) width 565: "nation, or any nation, so conceived, and so dedicated, can "
+            text run at (0,250) width 571: "long endure. We are met here on a great battlefield of that "
+            text run at (0,298) width 545: "war. We have come to dedicate a portion of it as a final "
+            text run at (0,346) width 557: "resting place for those who here gave their lives that that "
+            text run at (0,394) width 579: "nation might live. It is altogether fitting and proper that we "
+            text run at (0,442) width 565: "should do this. Four score and seven years ago our fathers "
+            text run at (0,490) width 600: "brought forth, upon this continent, a new nation, conceived in "
+            text run at (0,538) width 560: "Liberty, and dedicated to the proposition that all men are "
             text run at (0,586) width 136: "created equal."
 selection start: position 1 of child 0 {TEXT} of child 1 {DIV} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
 selection end:   position 737 of child 0 {TEXT} of child 1 {DIV} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
index 5d8e59e..42f27fc 100644 (file)
@@ -1 +1 @@
-0a3e90c78a3e6b2708c920e9521e25c8
\ No newline at end of file
+e0bec10b8b31a64b6b4c00ba121cc948
\ No newline at end of file
index 0079b5a..0a72621 100644 (file)
Binary files a/LayoutTests/editing/selection/select-all-002-expected.png and b/LayoutTests/editing/selection/select-all-002-expected.png differ
index a4c6456..9050d21 100644 (file)
@@ -10,25 +10,25 @@ layer at (0,0) size 820x900
     RenderBody {BODY} at (8,64) size 769x772
       RenderBlock {DIV} at (64,0) size 748x772 [border: (50px solid #FF0000)]
         RenderBlock {DIV} at (74,74) size 600x624
-          RenderText {TEXT} at (0,10) size 583x144
-            text run at (0,10) width 552: "Four score and seven years ago our fathers brought forth,"
-            text run at (0,58) width 583: "upon this continent, a new nation, conceived in Liberty, and"
+          RenderText {TEXT} at (0,10) size 589x144
+            text run at (0,10) width 558: "Four score and seven years ago our fathers brought forth, "
+            text run at (0,58) width 589: "upon this continent, a new nation, conceived in Liberty, and "
             text run at (0,106) width 399: "dedicated to the proposition that all men "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {TEXT} at (0,154) size 584x144
-            text run at (0,154) width 576: "are created equal. Now we are engaged in a great civil war,"
-            text run at (0,202) width 584: "testing whether that nation, or any nation, so conceived, and"
+          RenderText {TEXT} at (0,154) size 590x144
+            text run at (0,154) width 582: "are created equal. Now we are engaged in a great civil war, "
+            text run at (0,202) width 590: "testing whether that nation, or any nation, so conceived, and "
             text run at (0,250) width 569: "so dedicated, can long endure. We are met here on a great "
           RenderBR {BR} at (0,0) size 0x0
           RenderText {TEXT} at (0,298) size 600x192
-            text run at (0,298) width 600: "battlefield of that war. We have come to dedicate a portion of"
-            text run at (0,346) width 579: "it as a final resting place for those who here gave their lives"
-            text run at (0,394) width 582: "that that nation might live. It is altogether fitting and proper"
+            text run at (0,298) width 600: "battlefield of that war. We have come to dedicate a portion of "
+            text run at (0,346) width 585: "it as a final resting place for those who here gave their lives "
+            text run at (0,394) width 588: "that that nation might live. It is altogether fitting and proper "
             text run at (0,442) width 224: "that we should do this. "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {TEXT} at (0,490) size 583x144
-            text run at (0,490) width 552: "Four score and seven years ago our fathers brought forth,"
-            text run at (0,538) width 583: "upon this continent, a new nation, conceived in Liberty, and"
+          RenderText {TEXT} at (0,490) size 589x144
+            text run at (0,490) width 558: "Four score and seven years ago our fathers brought forth, "
+            text run at (0,538) width 589: "upon this continent, a new nation, conceived in Liberty, and "
             text run at (0,586) width 571: "dedicated to the proposition that all men are created equal."
 selection start: position 1 of child 0 {TEXT} of child 1 {DIV} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
 selection end:   position 180 of child 6 {TEXT} of child 1 {DIV} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
index 73fed90..049b3a7 100644 (file)
@@ -11,19 +11,19 @@ layer at (0,0) size 812x1044
       RenderBlock (anonymous) at (74,74) size 600x768
         RenderBR {BR} at (0,10) size 0x48
         RenderBR {BR} at (0,58) size 0x48
-        RenderText {TEXT} at (0,106) size 598x624
-          text run at (0,106) width 552: "Four score and seven years ago our fathers brought forth,"
-          text run at (0,154) width 583: "upon this continent, a new nation, conceived in Liberty, and"
-          text run at (0,202) width 571: "dedicated to the proposition that all men are created equal."
-          text run at (0,250) width 596: "Now we are engaged in a great civil war, testing whether that"
-          text run at (0,298) width 559: "nation, or any nation, so conceived, and so dedicated, can"
-          text run at (0,346) width 565: "long endure. We are met here on a great battlefield of that"
-          text run at (0,394) width 539: "war. We have come to dedicate a portion of it as a final"
-          text run at (0,442) width 551: "resting place for those who here gave their lives that that"
-          text run at (0,490) width 573: "nation might live. It is altogether fitting and proper that we"
-          text run at (0,538) width 559: "should do this. Four score and seven years ago our fathers"
-          text run at (0,586) width 598: "brought forth, upon this continent, a new nation, conceived in"
-          text run at (0,634) width 554: "Liberty, and dedicated to the proposition that all men are"
+        RenderText {TEXT} at (0,106) size 600x624
+          text run at (0,106) width 558: "Four score and seven years ago our fathers brought forth, "
+          text run at (0,154) width 589: "upon this continent, a new nation, conceived in Liberty, and "
+          text run at (0,202) width 577: "dedicated to the proposition that all men are created equal. "
+          text run at (0,250) width 600: "Now we are engaged in a great civil war, testing whether that "
+          text run at (0,298) width 565: "nation, or any nation, so conceived, and so dedicated, can "
+          text run at (0,346) width 571: "long endure. We are met here on a great battlefield of that "
+          text run at (0,394) width 545: "war. We have come to dedicate a portion of it as a final "
+          text run at (0,442) width 557: "resting place for those who here gave their lives that that "
+          text run at (0,490) width 579: "nation might live. It is altogether fitting and proper that we "
+          text run at (0,538) width 565: "should do this. Four score and seven years ago our fathers "
+          text run at (0,586) width 600: "brought forth, upon this continent, a new nation, conceived in "
+          text run at (0,634) width 560: "Liberty, and dedicated to the proposition that all men are "
           text run at (0,682) width 142: "created equal. "
         RenderBR {BR} at (0,0) size 0x0
         RenderBR {BR} at (0,730) size 0x48
index 1e9be9f..acb97fb 100644 (file)
@@ -10,8 +10,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 721x56
-          text run at (14,14) width 721: "Should see \"foo\" centered in its own red box, followed by left-aligned two"
+        RenderText {TEXT} at (14,14) size 727x56
+          text run at (14,14) width 727: "Should see \"foo\" centered in its own red box, followed by left-aligned two "
           text run at (14,42) width 424: "lines, \"bar\" and \"baz\", in their own red box."
       RenderBlock {DIV} at (0,108) size 784x112
         RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
index 4cb8a65..18e7239 100644 (file)
@@ -11,8 +11,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 723x56
-          text run at (14,14) width 723: "Should see \"bar\" centered in its own red box, with a left-aligned \"foo\" line"
+        RenderText {TEXT} at (14,14) size 729x56
+          text run at (14,14) width 729: "Should see \"bar\" centered in its own red box, with a left-aligned \"foo\" line "
           text run at (14,42) width 409: "above and a left-aligned \"baz\" line below."
       RenderBlock {DIV} at (0,108) size 784x112
         RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
index a7b6583..b2b883b 100644 (file)
@@ -12,8 +12,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 719x56
-          text run at (14,14) width 719: "Should see \"baz\" centered in its own red box, with a two left-aligned lines"
+        RenderText {TEXT} at (14,14) size 725x56
+          text run at (14,14) width 725: "Should see \"baz\" centered in its own red box, with a two left-aligned lines "
           text run at (14,42) width 226: "above, \"foo\" and \"bar\"."
       RenderBlock {DIV} at (0,108) size 784x112
         RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
index e96928f..e251963 100644 (file)
@@ -15,8 +15,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 725x56
-          text run at (14,14) width 725: "Should see \"foo\" and \"baz\" centered in their own red boxes. The \"bar\" line"
+        RenderText {TEXT} at (14,14) size 731x56
+          text run at (14,14) width 731: "Should see \"foo\" and \"baz\" centered in their own red boxes. The \"bar\" line "
           text run at (14,42) width 225: "should not be centered."
       RenderBlock {DIV} at (0,108) size 784x112
         RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #FF0000)]
index 3c665d0..545154e 100644 (file)
@@ -11,8 +11,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 725x56
-          text run at (14,14) width 725: "Should see \"foo\" and \"bar\" centered in their own red boxes. The \"baz\" line"
+        RenderText {TEXT} at (14,14) size 731x56
+          text run at (14,14) width 731: "Should see \"foo\" and \"bar\" centered in their own red boxes. The \"baz\" line "
           text run at (14,42) width 448: "should be in its own red box, but not centered."
       RenderBlock {DIV} at (0,108) size 784x168
         RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
index 209a3f6..a99a762 100644 (file)
@@ -12,8 +12,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 725x56
-          text run at (14,14) width 725: "Should see \"bar\" and \"baz\" centered in their own red boxes. The \"foo\" line"
+        RenderText {TEXT} at (14,14) size 731x56
+          text run at (14,14) width 731: "Should see \"bar\" and \"baz\" centered in their own red boxes. The \"foo\" line "
           text run at (14,42) width 448: "should be in its own red box, but not centered."
       RenderBlock {DIV} at (0,108) size 784x168
         RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
index 2b30816..cb399a8 100644 (file)
@@ -10,8 +10,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 692x56
-          text run at (14,14) width 692: "Should see \"foo\" centered in its own red box. The \"bar\" and \"baz\" lines"
+        RenderText {TEXT} at (14,14) size 698x56
+          text run at (14,14) width 698: "Should see \"foo\" centered in its own red box. The \"bar\" and \"baz\" lines "
           text run at (14,42) width 225: "should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index c309aca..00a0a9f 100644 (file)
@@ -10,8 +10,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 692x56
-          text run at (14,14) width 692: "Should see \"bar\" centered in its own red box. The \"foo\" and \"baz\" lines"
+        RenderText {TEXT} at (14,14) size 698x56
+          text run at (14,14) width 698: "Should see \"bar\" centered in its own red box. The \"foo\" and \"baz\" lines "
           text run at (14,42) width 225: "should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index 652cf60..13a9227 100644 (file)
@@ -12,8 +12,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 749x56
-          text run at (14,14) width 749: "Should see \"baz\" centered in its own red box inside the box containing \"foo\"."
+        RenderText {TEXT} at (14,14) size 755x56
+          text run at (14,14) width 755: "Should see \"baz\" centered in its own red box inside the box containing \"foo\". "
           text run at (14,42) width 477: "The \"foo\" and \"bar\" lines should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index 2f045bb..d223aa8 100644 (file)
@@ -12,8 +12,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 713x56
-          text run at (14,14) width 713: "Should see the \"foo\" and \"baz\" lines centered in their own red boxes. The"
+        RenderText {TEXT} at (14,14) size 719x56
+          text run at (14,14) width 719: "Should see the \"foo\" and \"baz\" lines centered in their own red boxes. The "
           text run at (14,42) width 328: "\"baz\" line should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index 3e0ac03..16eb73e 100644 (file)
@@ -13,8 +13,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 712x56
-          text run at (14,14) width 712: "Should see the \"bar\" and \"baz\" lines centered in their own red boxes. The"
+        RenderText {TEXT} at (14,14) size 718x56
+          text run at (14,14) width 718: "Should see the \"bar\" and \"baz\" lines centered in their own red boxes. The "
           text run at (14,42) width 326: "\"foo\" line should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index 4de8264..c5d4ce7 100644 (file)
@@ -13,8 +13,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 712x56
-          text run at (14,14) width 712: "Should see the \"bar\" and \"baz\" lines centered in their own red boxes. The"
+        RenderText {TEXT} at (14,14) size 718x56
+          text run at (14,14) width 718: "Should see the \"bar\" and \"baz\" lines centered in their own red boxes. The "
           text run at (14,42) width 326: "\"foo\" line should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index bf6a92b..b830367 100644 (file)
@@ -12,8 +12,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 717x56
-          text run at (14,14) width 717: "Should see the \"baz\" line centered in its red box inside the box containing"
+        RenderText {TEXT} at (14,14) size 723x56
+          text run at (14,14) width 723: "Should see the \"baz\" line centered in its red box inside the box containing "
           text run at (14,42) width 540: "\"bar\". The \"foo\" and \"bar\" lines should not be centered."
       RenderBlock {DIV} at (0,108) size 784x140
         RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
index e4b9834..63ab8f2 100644 (file)
@@ -32,8 +32,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 715x56
-          text run at (14,14) width 715: "Size check should say: 30px. All text in the red boxes should appear to be"
+        RenderText {TEXT} at (14,14) size 721x56
+          text run at (14,14) width 721: "Size check should say: 30px. All text in the red boxes should appear to be "
           text run at (14,42) width 54: "30px."
       RenderBlock {DIV} at (0,108) size 784x28
         RenderText {TEXT} at (0,0) size 118x28
index 08c73b8..7cbeb7f 100644 (file)
@@ -23,8 +23,8 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 748x56
-          text run at (14,14) width 748: "Size check should say: 30px. All text on the first line, and the first two words"
+        RenderText {TEXT} at (14,14) size 754x56
+          text run at (14,14) width 754: "Size check should say: 30px. All text on the first line, and the first two words "
           text run at (14,42) width 433: "of the second line, should appear to be 30px."
       RenderBlock {DIV} at (0,108) size 784x28
         RenderText {TEXT} at (0,0) size 118x28
index 499a439..43050c4 100644 (file)
@@ -41,10 +41,10 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 738x84
-          text run at (14,14) width 723: "Size check should say: 24px. The first two words of the second line should"
+        RenderText {TEXT} at (14,14) size 744x84
+          text run at (14,14) width 729: "Size check should say: 24px. The first two words of the second line should "
           text run at (14,42) width 332: "appear to be 24px. The rest of the "
-          text run at (346,42) width 406: "words on the second line should appear to"
+          text run at (346,42) width 412: "words on the second line should appear to "
           text run at (14,70) width 83: "be 30px."
       RenderBlock {DIV} at (0,136) size 784x28
         RenderText {TEXT} at (0,0) size 118x28
index 754a0ad..ed1e19e 100644 (file)
@@ -37,9 +37,9 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x112 [border: (2px solid #0000FF)]
-        RenderText {TEXT} at (14,14) size 715x84
-          text run at (14,14) width 715: "Size check should say: 30px. All text in the red boxes should appear to be"
-          text run at (14,42) width 688: "24px. This test checks removing font size tags when they are no longer"
+        RenderText {TEXT} at (14,14) size 721x84
+          text run at (14,14) width 721: "Size check should say: 30px. All text in the red boxes should appear to be "
+          text run at (14,42) width 694: "24px. This test checks removing font size tags when they are no longer "
           text run at (14,70) width 100: "necessary."
       RenderBlock {DIV} at (0,136) size 784x28
         RenderText {TEXT} at (0,0) size 118x28
index 8da8b53..fcd93e6 100644 (file)
@@ -18,4 +18,4 @@ layer at (8,44) size 304x204 backgroundClip at (83,44) size 229x204 clip at (83,
 layer at (60,64) size 105x24 backgroundClip at (83,64) size 82x24 clip at (83,67) size 79x18 outlineClip at (83,44) size 229x204
   RenderBlock (positioned) {DIV} at (52,20) size 105x24 [bgcolor=#EEEEEE] [border: (3px solid #FF0000)]
     RenderText {TEXT} at (3,3) size 99x18
-      text run at (3,3) width 99: "text in inner div"
+      text run at (3,3) width 99: "text in inner div "
index c8b61d0..7f3b054 100644 (file)
@@ -1 +1 @@
-76d6416d7ad830cf379330fe604af838
\ No newline at end of file
+c381bb5e2b8425552673903fa4cdfcc8
\ No newline at end of file
index 9bf6acf..975a508 100644 (file)
Binary files a/LayoutTests/fast/overflow/overflow-focus-ring-expected.png and b/LayoutTests/fast/overflow/overflow-focus-ring-expected.png differ
index 33cc127..5cc2b2a 100644 (file)
@@ -10,9 +10,44 @@ layer at (0,0) size 800x600
       RenderBlock (anonymous) at (0,0) size 784x18
         RenderText {TEXT} at (0,0) size 507x18
           text run at (0,0) width 507: "The focus ring of the following div should not extend beyond the size of the div."
-layer at (8,26) size 500x400 scrollWidth 17712
+layer at (8,26) size 500x400 scrollHeight 648
   RenderBlock {DIV} at (0,18) size 500x400
-    RenderText {TEXT} at (0,0) size 17712x18
-      text run at (0,0) width 17712: "............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................"
+    RenderText {TEXT} at (0,0) size 500x648
+      text run at (0,0) width 500: "............................................................................................................................."
+      text run at (0,18) width 500: "............................................................................................................................."
+      text run at (0,36) width 500: "............................................................................................................................."
+      text run at (0,54) width 500: "............................................................................................................................."
+      text run at (0,72) width 500: "............................................................................................................................."
+      text run at (0,90) width 500: "............................................................................................................................."
+      text run at (0,108) width 500: "............................................................................................................................."
+      text run at (0,126) width 500: "............................................................................................................................."
+      text run at (0,144) width 500: "............................................................................................................................."
+      text run at (0,162) width 500: "............................................................................................................................."
+      text run at (0,180) width 500: "............................................................................................................................."
+      text run at (0,198) width 500: "............................................................................................................................."
+      text run at (0,216) width 500: "............................................................................................................................."
+      text run at (0,234) width 500: "............................................................................................................................."
+      text run at (0,252) width 500: "............................................................................................................................."
+      text run at (0,270) width 500: "............................................................................................................................."
+      text run at (0,288) width 500: "............................................................................................................................."
+      text run at (0,306) width 500: "............................................................................................................................."
+      text run at (0,324) width 500: "............................................................................................................................."
+      text run at (0,342) width 500: "............................................................................................................................."
+      text run at (0,360) width 500: "............................................................................................................................."
+      text run at (0,378) width 500: "............................................................................................................................."
+      text run at (0,396) width 500: "............................................................................................................................."
+      text run at (0,414) width 500: "............................................................................................................................."
+      text run at (0,432) width 500: "............................................................................................................................."
+      text run at (0,450) width 500: "............................................................................................................................."
+      text run at (0,468) width 500: "............................................................................................................................."
+      text run at (0,486) width 500: "............................................................................................................................."
+      text run at (0,504) width 500: "............................................................................................................................."
+      text run at (0,522) width 500: "............................................................................................................................."
+      text run at (0,540) width 500: "............................................................................................................................."
+      text run at (0,558) width 500: "............................................................................................................................."
+      text run at (0,576) width 500: "............................................................................................................................."
+      text run at (0,594) width 500: "............................................................................................................................."
+      text run at (0,612) width 500: "............................................................................................................................."
+      text run at (0,630) width 212: "....................................................."
 selection start: position 0 of child 0 {TEXT} of child 1 {DIV} of child 0 {BODY} of child 0 {HTML} of document
 selection end:   position 4428 of child 0 {TEXT} of child 1 {DIV} of child 0 {BODY} of child 0 {HTML} of document
index 1082199..c676cfd 100644 (file)
@@ -1 +1 @@
-8448f4e0bb76b0bab564a71d6c4d5391
\ No newline at end of file
+baeab894eca3d0890315e313e3bb73a3
\ No newline at end of file
index d6368ed..34bc8f5 100644 (file)
Binary files a/LayoutTests/fast/text/justified-text-rect-expected.png and b/LayoutTests/fast/text/justified-text-rect-expected.png differ
index b3457c9..b5eceda 100644 (file)
@@ -1,19 +1,31 @@
-EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of P > BODY > HTML > #document to 1 of P > BODY > HTML > #document
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of P > BODY > HTML > #document to 3 of P > BODY > HTML > #document
 EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 layer at (0,0) size 800x600
   RenderCanvas at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (0,0) size 800x584
-      RenderBlock {P} at (0,0) size 70x50 [bgcolor=#008000]
-        RenderText {TEXT} at (0,0) size 70x36
-          text run at (0,0) width 70: "a         a"
-          text run at (0,18) width 39: "        a"
-      RenderBlock (anonymous) at (0,66) size 800x18
+    RenderBody {BODY} at (0,0) size 800x600
+      RenderBlock {P} at (0,0) size 800x54
+        RenderText {TEXT} at (0,0) size 791x54
+          text run at (0,0) width 760: "This is a testcase for a problem where caret rects and the rects returned by firstRectForCharacterRange were incorrect for"
+          text run at (0,18) width 85: "justified text. "
+          text run at (85,18) width 518: "The test sets a caret selection just before the word 'is' in the editable region below. "
+          text run at (603,18) width 188: "The pixel output should show"
+          text run at (0,36) width 158: "the caret in that position. "
+          text run at (158,36) width 470: "The test also writes out the rect returned from firstRectForCharacterRange."
+      RenderBlock {P} at (0,70) size 70x50 [bgcolor=#008000]
+        RenderText {TEXT} at (0,0) size 38x18
+          text run at (0,0) width 38: "this    "
+        RenderInline {SPAN} at (0,0) size 10x18
+          RenderText {TEXT} at (38,0) size 10x18
+            text run at (38,0) width 10: "is"
+        RenderText {TEXT} at (48,0) size 70x36
+          text run at (48,0) width 22: " "
+          text run at (0,18) width 50: "justified"
+      RenderBlock (anonymous) at (0,136) size 800x18
         RenderText {TEXT} at (0,0) size 76x18
-          text run at (0,0) width 76: "63,582,6,18"
-      RenderBlock {P} at (0,100) size 800x18
-        RenderText {TEXT} at (0,0) size 54x18
-          text run at (0,0) width 54: "Success."
-caret: position 0 of child 0 {TEXT} of child 1 {P} of child 1 {BODY} of child 0 {HTML} of document
+          text run at (0,0) width 76: "53,582,4,18"
+        RenderText {TEXT} at (0,0) size 0x0
+        RenderText {TEXT} at (0,0) size 0x0
+caret: position 8 of child 0 {TEXT} of child 3 {P} of child 1 {BODY} of child 0 {HTML} of document
index dd6f2cb..93248aa 100644 (file)
@@ -1,27 +1,23 @@
-<html>
+<html>
 <head>
 <style>
 body { margin: 0; padding: 0 }
 </style>
 </head>
 <body>
-<p contenteditable id='test' STYLE="width: 70px; height: 50px; background-color: green; text-align: justify;">a         a         a</p>
+<p>This is a testcase for a problem where caret rects and the rects returned by firstRectForCharacterRange were incorrect for justified text.  The test sets a caret selection just before the word 'is' in the editable region below.  The pixel output should show the caret in that position.  The test also writes out the rect returned from firstRectForCharacterRange.</p> 
+<p contenteditable id='test' STYLE="width: 70px; height: 50px; background-color: green; text-align: justify;">this&nbsp;&nbsp;&nbsp;&nbsp;<span id="testspan">is</span> justified</p>
 <script type="text/javascript">
 
     if (window.layoutTestController) {
         
         try {
         
-            window.getSelection().setPosition(document.getElementById("test"), 0);
-                       
-                       rect = textInputController.firstRectForCharacterRange(10, 1);
+            var s = window.getSelection();
+            var e = document.getElementById("testspan");
+            s.setPosition(e, 0);
+            rect = textInputController.firstRectForCharacterRange(9, 1);
             document.write(rect);
-        
-            // the second character 'a' should be at the right border of the box
-            if (rect[0] > 60)
-               document.write("<p>Success.</p>");
-            else
-               document.write("<p>Failure (rect: " + rect + ")</p>");
 
                } catch (ex) {
                        document.write("Exception: " + ex.description);
index 105bf51..6ac63f5 100644 (file)
@@ -1,3 +1,16 @@
+2006-02-24  Graham Dennis  <Graham.Dennis@gmail.com>
+
+        <http://bugzilla.opendarwin.org/show_bug.cgi?id=7245>
+        caret does not display at the end of some lines in contenteditable divs
+
+        Reviewed by justin
+
+        * khtml/html/HTMLElementImpl.cpp:
+        (WebCore::HTMLElementImpl::setContentEditable):
+        * page/Frame.cpp:
+        (WebCore::Frame::applyEditingStyleToElement):
+        (WebCore::Frame::removeEditingStyleFromElement):
+
 2006-02-24  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by mjs.
index 1ed6178..7b06f18 100644 (file)
@@ -471,20 +471,22 @@ DOMString HTMLElementImpl::contentEditable() const
 
 void HTMLElementImpl::setContentEditable(MappedAttributeImpl* attr) 
 {
-    Frame *frame = getDocument()->frame();
     const AtomicString& enabled = attr->value();
     if (enabled.isEmpty() || equalIgnoringCase(enabled, "true")) {
         addCSSProperty(attr, CSS_PROP__KHTML_USER_MODIFY, CSS_VAL_READ_WRITE);
-        if (frame)
-            frame->applyEditingStyleToElement(this);    
+        addCSSProperty(attr, CSS_PROP_WORD_WRAP, CSS_VAL_BREAK_WORD);
+        addCSSProperty(attr, CSS_PROP__KHTML_NBSP_MODE, CSS_VAL_SPACE);
+        addCSSProperty(attr, CSS_PROP__KHTML_LINE_BREAK, CSS_VAL_AFTER_WHITE_SPACE);
     } else if (equalIgnoringCase(enabled, "false")) {
         addCSSProperty(attr, CSS_PROP__KHTML_USER_MODIFY, CSS_VAL_READ_ONLY);
-        if (frame)
-            frame->removeEditingStyleFromElement(this);    
+        attr->decl()->removeProperty(CSS_PROP_WORD_WRAP, false);
+        attr->decl()->removeProperty(CSS_PROP__KHTML_NBSP_MODE, false);
+        attr->decl()->removeProperty(CSS_PROP__KHTML_LINE_BREAK, false);
     } else if (equalIgnoringCase(enabled, "inherit")) {
         addCSSProperty(attr, CSS_PROP__KHTML_USER_MODIFY, CSS_VAL_INHERIT);
-        if (frame)
-            frame->removeEditingStyleFromElement(this);    
+        attr->decl()->removeProperty(CSS_PROP_WORD_WRAP, false);
+        attr->decl()->removeProperty(CSS_PROP__KHTML_NBSP_MODE, false);
+        attr->decl()->removeProperty(CSS_PROP__KHTML_LINE_BREAK, false);
     }
 }
 
index 285d2d3..e64c282 100644 (file)
@@ -2407,17 +2407,6 @@ CSSComputedStyleDeclarationImpl *Frame::selectionComputedStyle(NodeImpl *&nodeTo
     return new CSSComputedStyleDeclarationImpl(styleElement);
 }
 
-static CSSMutableStyleDeclarationImpl *editingStyle()
-{
-    static CSSMutableStyleDeclarationImpl *editingStyle = 0;
-    if (!editingStyle) {
-        editingStyle = new CSSMutableStyleDeclarationImpl;
-        int exceptionCode;
-        editingStyle->setCssText("word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space;", exceptionCode);
-    }
-    return editingStyle;
-}
-
 void Frame::applyEditingStyleToBodyElement() const
 {
     if (!d->m_doc)
@@ -2446,17 +2435,8 @@ void Frame::applyEditingStyleToElement(ElementImpl *element) const
 {
     if (!element || !element->isHTMLElement())
         return;
-        
-    RenderObject *renderer = element->renderer();
-    if (!renderer || !renderer->isBlockFlow())
-        return;
     
-    CSSMutableStyleDeclarationImpl *currentStyle = static_cast<HTMLElementImpl *>(element)->getInlineStyleDecl();
-    CSSMutableStyleDeclarationImpl *mergeStyle = editingStyle();
-    if (mergeStyle) {
-        currentStyle->merge(mergeStyle);
-        element->setAttribute(styleAttr, currentStyle->cssText());
-    }
+    static_cast<HTMLElementImpl *>(element)->setContentEditable("true");
 }
 
 void Frame::removeEditingStyleFromElement(ElementImpl *element) const
@@ -2464,19 +2444,7 @@ void Frame::removeEditingStyleFromElement(ElementImpl *element) const
     if (!element || !element->isHTMLElement())
         return;
         
-    RenderObject *renderer = element->renderer();
-    if (!renderer || !renderer->isBlockFlow())
-        return;
-    
-    CSSMutableStyleDeclarationImpl *currentStyle = static_cast<HTMLElementImpl *>(element)->getInlineStyleDecl();
-    bool changed = false;
-    changed |= !currentStyle->removeProperty(CSS_PROP_WORD_WRAP, false).isNull();
-    changed |= !currentStyle->removeProperty(CSS_PROP__KHTML_NBSP_MODE, false).isNull();
-    changed |= !currentStyle->removeProperty(CSS_PROP__KHTML_LINE_BREAK, false).isNull();
-    if (changed)
-        currentStyle->setChanged();
-
-    element->setAttribute(styleAttr, currentStyle->cssText());
+    static_cast<HTMLElementImpl *>(element)->setContentEditable("false");        
 }