Unreviewed GTK gardening. Updating baselines for editing tests after enabling subpixel layout for the GTK port.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/platform/gtk/editing/deleting/4922367-expected.png b/LayoutTests/platform/gtk/editing/deleting/4922367-expected.png
new file mode 100644
index 0000000..5f93327
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/4922367-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/4922367-expected.txt b/LayoutTests/platform/gtk/editing/deleting/4922367-expected.txt
index 3fe22c1..38db855 100644
--- a/LayoutTests/platform/gtk/editing/deleting/4922367-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/4922367-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 386: "This tests selecting and deleting the paragraph before a table. "
           text run at (386,0) width 390: "You should see only a table in the editable region below, with"
-          text run at (0,18) width 139: "the caret just before it."
-      RenderBlock {DIV} at (0,52) size 784x28
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderTable {TABLE} at (0,0) size 32x28 [border: (1px solid #BBBBBB)]
-            RenderTableSection {TBODY} at (1,1) size 30x26
-              RenderTableRow {TR} at (0,2) size 30x22
-                RenderTableCell {TD} at (2,2) size 12x22 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+          text run at (0,17) width 139: "the caret just before it."
+      RenderBlock {DIV} at (0,50) size 784x27
+        RenderBlock {DIV} at (0,0) size 784x27
+          RenderTable {TABLE} at (0,0) size 32x27 [border: (1px solid #BBBBBB)]
+            RenderTableSection {TBODY} at (1,1) size 30x25
+              RenderTableRow {TR} at (0,2) size 30x21
+                RenderTableCell {TD} at (2,2) size 12x21 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "1"
-                RenderTableCell {TD} at (16,2) size 12x22 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,2) size 12x21 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "2"
-          RenderBlock (anonymous) at (0,28) size 784x0
-        RenderBlock (anonymous) at (0,28) size 784x0
-      RenderBlock {UL} at (0,96) size 784x0
+          RenderBlock (anonymous) at (0,27) size 784x0
+        RenderBlock (anonymous) at (0,27) size 784x0
+      RenderBlock {UL} at (0,93) size 784x0
 caret: position 0 of child 0 {TABLE} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5099303-expected.png b/LayoutTests/platform/gtk/editing/deleting/5099303-expected.png
new file mode 100644
index 0000000..b9cafc4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5099303-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5099303-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5099303-expected.txt
index 0fea82c..21277a4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5099303-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5099303-expected.txt
@@ -3,18 +3,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 756x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 756x17
           text run at (0,0) width 756: "This tests for a bug where deleting from the start of a paragraph after a table would leave the caret in the wrong position."
-      RenderBlock {DIV} at (0,34) size 784x46
-        RenderTable {TABLE} at (0,0) size 348x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 346x26
-            RenderTableRow {TR} at (0,2) size 346x22
-              RenderTableCell {TD} at (2,2) size 336x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 332x19
+      RenderBlock {DIV} at (0,33) size 784x44
+        RenderTable {TABLE} at (0,0) size 348x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 346x25
+            RenderTableRow {TR} at (0,2) size 346x21
+              RenderTableCell {TD} at (2,2) size 336x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 332x17
                   text run at (2,2) width 332: "The caret should be between these two parenthesis: ("
-              RenderTableCell {TD} at (340,11) size 4x4 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-        RenderBlock {DIV} at (0,28) size 784x18
-          RenderText {#text} at (0,0) size 9x19
+              RenderTableCell {TD} at (340,10) size 4x4 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+        RenderBlock {DIV} at (0,27) size 784x17
+          RenderText {#text} at (0,0) size 9x17
             text run at (0,0) width 9: ")."
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5126166-expected.png b/LayoutTests/platform/gtk/editing/deleting/5126166-expected.png
new file mode 100644
index 0000000..56c3d44
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5126166-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5126166-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5126166-expected.txt
index 3391514..f25e87f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5126166-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5126166-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 779x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 779x34
           text run at (0,0) width 414: "This tests deleting a selection that ends inside an empty table cell. "
           text run at (414,0) width 365: "No merging should happen, only editable selected content"
-          text run at (0,18) width 124: "should be removed."
-      RenderBlock {DIV} at (0,52) size 784x56
-        RenderTable {TABLE} at (0,0) size 16x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 14x26
-            RenderTableRow {TR} at (0,2) size 14x22
-              RenderTableCell {TD} at (2,11) size 4x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              RenderTableCell {TD} at (8,2) size 4x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-        RenderTable {TABLE} at (0,28) size 351x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 349x26
-            RenderTableRow {TR} at (0,2) size 349x22
-              RenderTableCell {TD} at (2,11) size 4x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              RenderTableCell {TD} at (8,2) size 339x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 335x19
+          text run at (0,17) width 124: "should be removed."
+      RenderBlock {DIV} at (0,50) size 784x54
+        RenderTable {TABLE} at (0,0) size 16x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 14x25
+            RenderTableRow {TR} at (0,2) size 14x21
+              RenderTableCell {TD} at (2,10) size 4x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderTableCell {TD} at (8,2) size 4x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+        RenderTable {TABLE} at (0,27) size 351x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 349x25
+            RenderTableRow {TR} at (0,2) size 349x21
+              RenderTableCell {TD} at (2,10) size 4x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderTableCell {TD} at (8,2) size 339x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 335x17
                   text run at (2,2) width 335: "There should be one empty cell to the left of this one."
 caret: position 0 of child 0 {BR} of child 3 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.png b/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.png
index 12d1cec..482af1f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.txt
index 68c8dfd..a2930f8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5144139-2-expected.txt
@@ -3,34 +3,34 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 771x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 771x51
           text run at (0,0) width 769: "This tests to see that deleting a selection that starts just before a table and ends inside the table"
-          text run at (0,18) width 379: "does not insert a placeholder br unnecessarily. "
-          text run at (379,18) width 315: "You should see two ToDos, one empty. "
-          text run at (694,18) width 77: "The caret"
-          text run at (0,36) width 266: "should be just before the second."
-      RenderBlock {DIV} at (0,70) size 784x48
-        RenderTable {TABLE} at (0,0) size 150x24
-          RenderTableSection {TBODY} at (0,0) size 150x24
-            RenderTableRow {TR} at (0,2) size 150x20
-              RenderTableCell {TD} at (2,2) size 15x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 13x19
+          text run at (0,17) width 379: "does not insert a placeholder br unnecessarily. "
+          text run at (379,17) width 315: "You should see two ToDos, one empty. "
+          text run at (694,17) width 77: "The caret"
+          text run at (0,34) width 266: "should be just before the second."
+      RenderBlock {DIV} at (0,67) size 784x46
+        RenderTable {TABLE} at (0,0) size 150x23
+          RenderTableSection {TBODY} at (0,0) size 150x23
+            RenderTableRow {TR} at (0,2) size 150x19
+              RenderTableCell {TD} at (2,2) size 15x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 13x17
                   text run at (1,1) width 13: "\x{21D2}"
-              RenderTableCell {TD} at (19,2) size 112x20 [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 110x19
+              RenderTableCell {TD} at (19,2) size 112x19 [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 110x17
                   text run at (1,1) width 110: "ToDo Content"
-              RenderTableCell {TD} at (133,2) size 15x20 [r=0 c=2 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 13x19
+              RenderTableCell {TD} at (133,2) size 15x19 [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 13x17
                   text run at (1,1) width 13: "\x{21E3}"
-        RenderTable {TABLE} at (0,24) size 40x24
-          RenderTableSection {TBODY} at (0,0) size 40x24
-            RenderTableRow {TR} at (0,2) size 40x20
-              RenderTableCell {TD} at (2,2) size 15x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 13x19
+        RenderTable {TABLE} at (0,23) size 40x23
+          RenderTableSection {TBODY} at (0,0) size 40x23
+            RenderTableRow {TR} at (0,2) size 40x19
+              RenderTableCell {TD} at (2,2) size 15x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 13x17
                   text run at (1,1) width 13: "\x{21D2}"
-              RenderTableCell {TD} at (19,2) size 2x20 [r=0 c=1 rs=1 cs=1]
-              RenderTableCell {TD} at (23,2) size 15x20 [r=0 c=2 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 13x19
+              RenderTableCell {TD} at (19,2) size 2x19 [r=0 c=1 rs=1 cs=1]
+              RenderTableCell {TD} at (23,2) size 15x19 [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 13x17
                   text run at (1,1) width 13: "\x{21E3}"
 caret: position 0 of child 3 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.png b/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.png
new file mode 100644
index 0000000..3fff6f6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.txt
index ec21b9c..289e678 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5206311-1-expected.txt
@@ -3,92 +3,92 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 350x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 350x17
           text run at (0,0) width 209: "This empties a row (the second). "
           text run at (209,0) width 141: "It should be removed. "
-        RenderInline {B} at (0,0) size 768x37
-          RenderText {#text} at (350,0) size 768x37
+        RenderInline {B} at (0,0) size 768x34
+          RenderText {#text} at (350,0) size 768x34
             text run at (350,0) width 418: "This demonstrates a bug: the two cells that contained the ends"
-            text run at (0,18) width 646: "of the selection aren't given a placeholder and so appear differently than the other emptied cells."
-      RenderBlock {DIV} at (0,52) size 784x52
-        RenderTable {TABLE} at (0,0) size 38x52 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 36x50
-            RenderTableRow {TR} at (0,2) size 36x22
-              RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            text run at (0,17) width 646: "of the selection aren't given a placeholder and so appear differently than the other emptied cells."
+      RenderBlock {DIV} at (0,50) size 784x50
+        RenderTable {TABLE} at (0,0) size 38x50 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 36x48
+            RenderTableRow {TR} at (0,2) size 36x21
+              RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "1"
-              RenderTableCell {TD} at (16,2) size 4x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (22,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-            RenderTableRow {TR} at (0,26) size 36x22
-              RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (16,26) size 4x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (22,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,2) size 4x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (22,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+            RenderTableRow {TR} at (0,25) size 36x21
+              RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (16,25) size 4x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (22,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "9"
-      RenderBlock {P} at (0,120) size 784x18
-        RenderText {#text} at (0,0) size 593x19
+      RenderBlock {P} at (0,116) size 784x17
+        RenderText {#text} at (0,0) size 593x17
           text run at (0,0) width 593: "This empties a row (the second), but it still contains the selection and so shouldn't be removed."
-      RenderBlock {DIV} at (0,154) size 784x76
-        RenderTable {TABLE} at (0,0) size 46x76 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 44x74
-            RenderTableRow {TR} at (0,2) size 44x22
-              RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+      RenderBlock {DIV} at (0,149) size 784x73
+        RenderTable {TABLE} at (0,0) size 46x73 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 44x71
+            RenderTableRow {TR} at (0,2) size 44x21
+              RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "1"
-              RenderTableCell {TD} at (16,2) size 12x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,2) size 12x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "2"
-              RenderTableCell {TD} at (30,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "3"
-            RenderTableRow {TR} at (0,26) size 44x22
-              RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (16,26) size 12x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (30,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-            RenderTableRow {TR} at (0,50) size 44x22
-              RenderTableCell {TD} at (2,50) size 12x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            RenderTableRow {TR} at (0,25) size 44x21
+              RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (16,25) size 12x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (30,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+            RenderTableRow {TR} at (0,48) size 44x21
+              RenderTableCell {TD} at (2,48) size 12x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "7"
-              RenderTableCell {TD} at (16,50) size 12x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,48) size 12x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "8"
-              RenderTableCell {TD} at (30,50) size 12x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,48) size 12x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "9"
-      RenderBlock {P} at (0,246) size 784x18
-        RenderText {#text} at (0,0) size 304x19
+      RenderBlock {P} at (0,238) size 784x17
+        RenderText {#text} at (0,0) size 304x17
           text run at (0,0) width 304: "This empties the first row, it should be removed."
-      RenderBlock {DIV} at (0,280) size 784x70
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 39x19
+      RenderBlock {DIV} at (0,271) size 784x67
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 39x17
             text run at (0,0) width 35: "Hello"
             text run at (35,0) width 4: " "
-        RenderTable {TABLE} at (0,18) size 46x52 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 44x50
-            RenderTableRow {TR} at (0,2) size 44x22
-              RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (16,2) size 12x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderBR {BR} at (2,2) size 0x19
-              RenderTableCell {TD} at (30,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+        RenderTable {TABLE} at (0,17) size 46x50 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 44x48
+            RenderTableRow {TR} at (0,2) size 44x21
+              RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (16,2) size 12x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderBR {BR} at (2,2) size 0x17
+              RenderTableCell {TD} at (30,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "6"
-            RenderTableRow {TR} at (0,26) size 44x22
-              RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            RenderTableRow {TR} at (0,25) size 44x21
+              RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "7"
-              RenderTableCell {TD} at (16,26) size 12x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,25) size 12x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "8"
-              RenderTableCell {TD} at (30,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "9"
 caret: position 6 of child 0 {#text} of child 1 {DIV} of child 14 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5272440-expected.png b/LayoutTests/platform/gtk/editing/deleting/5272440-expected.png
new file mode 100644
index 0000000..2e7aa28
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5272440-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5272440-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5272440-expected.txt
index eb45208..d8f4004 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5272440-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5272440-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 669x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 669x17
           text run at (0,0) width 669: "This tests for a bug where deleting the contents of an editable root that's inline would introduce a new line."
-      RenderBlock {DIV} at (0,34) size 784x20 [border: (1px solid #000000)]
-        RenderInline {SPAN} at (0,0) size 387x19
-          RenderText {#text} at (1,1) size 387x19
+      RenderBlock {DIV} at (0,33) size 784x19 [border: (1px solid #000000)]
+        RenderInline {SPAN} at (0,0) size 387x17
+          RenderText {#text} at (1,1) size 387x17
             text run at (1,1) width 387: "There shouldn't be any blank lines in the black bordered area."
-          RenderBR {BR} at (388,16) size 0x0
+          RenderBR {BR} at (388,15) size 0x0
 caret: position 62 of child 0 {#text} of child 0 {SPAN} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5369009-expected.png b/LayoutTests/platform/gtk/editing/deleting/5369009-expected.png
new file mode 100644
index 0000000..10c9484
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5369009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5369009-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5369009-expected.txt
index e0790c7..a79ebf6 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5369009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5369009-expected.txt
@@ -3,20 +3,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 783x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 783x34
           text run at (0,0) width 783: "This tests for a hang on delete where a style rule would cause style spans in content moved after the delete to be displayed as"
-          text run at (0,18) width 186: "blocks. You should see Hello"
-        RenderInline {B} at (0,0) size 44x19
-          RenderText {#text} at (186,18) size 44x19
-            text run at (186,18) width 44: "World"
-        RenderText {#text} at (230,18) size 47x19
-          text run at (230,18) width 47: " below."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 35x19
+          text run at (0,17) width 186: "blocks. You should see Hello"
+        RenderInline {B} at (0,0) size 44x17
+          RenderText {#text} at (186,17) size 44x17
+            text run at (186,17) width 44: "World"
+        RenderText {#text} at (230,17) size 47x17
+          text run at (230,17) width 47: " below."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 35x17
             text run at (0,0) width 35: "Hello"
-          RenderInline {SPAN} at (0,0) size 44x19
-            RenderText {#text} at (35,0) size 44x19
+          RenderInline {SPAN} at (0,0) size 44x17
+            RenderText {#text} at (35,0) size 44x17
               text run at (35,0) width 44: "World"
 caret: position 5 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.png b/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.png
new file mode 100644
index 0000000..5d0210b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.txt
index 3135502..35e7464 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5433862-2-expected.txt
@@ -3,43 +3,43 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 783x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 783x34
           text run at (0,0) width 579: "This tests for a bug where empty table rows well after the selection to delete were removed. "
           text run at (579,0) width 204: "There should be five rows in the"
-          text run at (0,18) width 261: "table below, before and after the deletion."
-      RenderBlock {DIV} at (0,52) size 784x132
-        RenderTable {TABLE} at (0,0) size 109x132 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 107x130
-            RenderTableRow {TR} at (0,2) size 107x30
-              RenderTableCell {TD} at (2,2) size 33x30 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-              RenderTableCell {TD} at (37,2) size 32x30 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-              RenderTableCell {TD} at (71,2) size 34x30 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-            RenderTableRow {TR} at (0,34) size 107x30
-              RenderTableCell {TD} at (2,34) size 33x30 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (6,6) size 21x19
+          text run at (0,17) width 261: "table below, before and after the deletion."
+      RenderBlock {DIV} at (0,50) size 784x128
+        RenderTable {TABLE} at (0,0) size 109x128 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 107x126
+            RenderTableRow {TR} at (0,2) size 107x29
+              RenderTableCell {TD} at (2,2) size 33x29 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+              RenderTableCell {TD} at (37,2) size 32x29 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+              RenderTableCell {TD} at (71,2) size 34x29 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+            RenderTableRow {TR} at (0,33) size 107x29
+              RenderTableCell {TD} at (2,33) size 33x29 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (6,6) size 21x17
                   text run at (6,6) width 21: "foo"
-              RenderTableCell {TD} at (37,34) size 32x30 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                RenderText {#text} at (6,6) size 20x19
+              RenderTableCell {TD} at (37,33) size 32x29 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                RenderText {#text} at (6,6) size 20x17
                   text run at (6,6) width 20: "bar"
-              RenderTableCell {TD} at (71,34) size 34x30 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                RenderText {#text} at (6,6) size 22x19
+              RenderTableCell {TD} at (71,33) size 34x29 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                RenderText {#text} at (6,6) size 22x17
                   text run at (6,6) width 22: "baz"
-            RenderTableRow {TR} at (0,66) size 107x30
-              RenderTableCell {TD} at (2,66) size 33x30 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-              RenderTableCell {TD} at (37,66) size 32x30 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-              RenderTableCell {TD} at (71,66) size 34x30 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-            RenderTableRow {TR} at (0,98) size 107x30
-              RenderTableCell {TD} at (2,98) size 33x30 [border: (1px inset #808080)] [r=3 c=0 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-              RenderTableCell {TD} at (37,98) size 32x30 [border: (1px inset #808080)] [r=3 c=1 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
-              RenderTableCell {TD} at (71,98) size 34x30 [border: (1px inset #808080)] [r=3 c=2 rs=1 cs=1]
-                RenderBR {BR} at (6,6) size 0x19
+            RenderTableRow {TR} at (0,64) size 107x29
+              RenderTableCell {TD} at (2,64) size 33x29 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+              RenderTableCell {TD} at (37,64) size 32x29 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+              RenderTableCell {TD} at (71,64) size 34x29 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+            RenderTableRow {TR} at (0,95) size 107x29
+              RenderTableCell {TD} at (2,95) size 33x29 [border: (1px inset #808080)] [r=3 c=0 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+              RenderTableCell {TD} at (37,95) size 32x29 [border: (1px inset #808080)] [r=3 c=1 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
+              RenderTableCell {TD} at (71,95) size 34x29 [border: (1px inset #808080)] [r=3 c=2 rs=1 cs=1]
+                RenderBR {BR} at (6,6) size 0x17
 caret: position 0 of child 0 {BR} of child 0 {TD} of child 0 {TR} of child 1 {TBODY} of child 1 {TABLE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/5483370-expected.png b/LayoutTests/platform/gtk/editing/deleting/5483370-expected.png
new file mode 100644
index 0000000..cc3b2d7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/5483370-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/5483370-expected.txt b/LayoutTests/platform/gtk/editing/deleting/5483370-expected.txt
index ef452c6..bcc49cf 100644
--- a/LayoutTests/platform/gtk/editing/deleting/5483370-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/5483370-expected.txt
@@ -3,20 +3,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 761x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 761x34
           text run at (0,0) width 706: "This tests for a problem where empty table rows after the selection being deleted would be removed incorrectly. "
           text run at (706,0) width 55: "Only the"
-          text run at (0,18) width 343: "last letter in 'foo' should be removed during this delete."
-      RenderBlock {DIV} at (0,52) size 784x34
-        RenderTable {TABLE} at (0,0) size 29x34 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 27x32
-            RenderTableRow {TR} at (0,2) size 27x22
-              RenderTableCell {TD} at (2,2) size 17x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 13x19
+          text run at (0,17) width 343: "last letter in 'foo' should be removed during this delete."
+      RenderBlock {DIV} at (0,50) size 784x33
+        RenderTable {TABLE} at (0,0) size 29x33 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 27x31
+            RenderTableRow {TR} at (0,2) size 27x21
+              RenderTableCell {TD} at (2,2) size 17x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 13x17
                   text run at (2,2) width 13: "fo"
-              RenderTableCell {TD} at (21,11) size 4x4 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-            RenderTableRow {TR} at (0,26) size 27x4
-              RenderTableCell {TD} at (2,26) size 17x4 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-              RenderTableCell {TD} at (21,26) size 4x4 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+              RenderTableCell {TD} at (21,10) size 4x4 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            RenderTableRow {TR} at (0,25) size 27x4
+              RenderTableCell {TD} at (2,25) size 17x4 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderTableCell {TD} at (21,25) size 4x4 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
 caret: position 2 of child 0 {#text} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.png
new file mode 100644
index 0000000..cb8d82a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.txt
index 1fac1de..3e8776b 100644
--- a/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/collapse-whitespace-3587601-fix-expected.txt
@@ -51,6 +51,6 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.png
new file mode 100644
index 0000000..2b9a650
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.txt
index f7cd297..26d9e33 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3608445-fix-expected.txt
@@ -30,14 +30,14 @@
 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 205x84
-          RenderText {#text} at (14,14) size 15x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 205x78
+          RenderText {#text} at (14,14) size 15x26
             text run at (14,14) width 15: "s "
-          RenderBR {BR} at (29,36) size 0x0
-          RenderBR {BR} at (14,42) size 0x28
-          RenderText {#text} at (14,70) size 205x28
-            text run at (14,70) width 94: " war. We "
-            text run at (108,70) width 111: "of that war."
+          RenderBR {BR} at (29,35) size 0x0
+          RenderBR {BR} at (14,40) size 0x26
+          RenderText {#text} at (14,66) size 205x26
+            text run at (14,66) width 94: " war. We "
+            text run at (108,66) width 111: "of that war."
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 4 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.png
new file mode 100644
index 0000000..26a93bc
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.txt
index 854c719..86051bb 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3608462-fix-expected.txt
@@ -34,16 +34,16 @@
 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 784x246 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 181x137
-          RenderText {#text} at (14,95) size 11x28
-            text run at (14,95) width 11: "a"
+      RenderBlock {DIV} at (0,0) size 784x244 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 181x134
+          RenderText {#text} at (14,96) size 11x26
+            text run at (14,96) width 11: "a"
           RenderImage {IMG} at (25,14) size 76x103
-          RenderText {#text} at (101,95) size 46x28
-            text run at (101,95) width 46: "new "
+          RenderText {#text} at (101,96) size 46x26
+            text run at (101,96) width 46: "new "
           RenderBR {BR} at (0,0) size 0x0
-          RenderImage {IMG} at (14,123) size 76x103
-          RenderText {#text} at (90,204) size 105x28
+          RenderImage {IMG} at (14,122) size 76x103
+          RenderText {#text} at (90,204) size 105x26
             text run at (90,204) width 105: " conceived"
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 4 {IMG} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.png
new file mode 100644
index 0000000..b8f7017
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.txt
index 0ad85bd..4f35265 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3775172-fix-expected.txt
@@ -14,9 +14,9 @@
 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 784x18
-        RenderBR {BR} at (0,0) size 0x19
-      RenderBlock {DIV} at (0,18) size 784x0
+      RenderBlock (anonymous) at (0,0) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
+      RenderBlock {DIV} at (0,17) size 784x0
         RenderInline {SPAN} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {BR} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3800834-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3800834-fix-expected.png
new file mode 100644
index 0000000..0b53bca
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3800834-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.png
index e8ca452..b995d39 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.txt
index c96c6c3..c40b762 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3857753-fix-expected.txt
@@ -17,18 +17,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584 [border: (2px solid #FF0000)]
-      RenderBlock {DIV} at (14,14) size 756x28
-        RenderInline {B} at (0,0) size 25x28
-          RenderText {#text} at (0,0) size 25x28
+      RenderBlock {DIV} at (14,14) size 756x26
+        RenderInline {B} at (0,0) size 25x26
+          RenderText {#text} at (0,0) size 25x26
             text run at (0,0) width 25: "on"
-        RenderInline {I} at (0,0) size 12x28
-          RenderText {#text} at (25,0) size 12x28
+        RenderInline {I} at (0,0) size 12x26
+          RenderText {#text} at (25,0) size 12x26
             text run at (25,0) width 12: "o"
-      RenderBlock {DIV} at (14,42) size 756x28
-        RenderInline {B} at (0,0) size 54x28
-          RenderText {#text} at (0,0) size 54x28
+      RenderBlock {DIV} at (14,40) size 756x26
+        RenderInline {B} at (0,0) size 54x26
+          RenderText {#text} at (0,0) size 54x26
             text run at (0,0) width 54: "three"
-        RenderInline {I} at (0,0) size 40x28
-          RenderText {#text} at (54,0) size 40x28
+        RenderInline {I} at (0,0) size 40x26
+          RenderText {#text} at (54,0) size 40x26
             text run at (54,0) width 40: "four"
 caret: position 2 of child 0 {#text} of child 0 {B} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.png
index 6accadf..af1ff2b 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.txt
index 51a02bc..3b8dcf5 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3865854-fix-expected.txt
@@ -14,17 +14,17 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderInline {B} at (0,0) size 36x28
-            RenderText {#text} at (0,0) size 36x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderInline {B} at (0,0) size 36x26
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "one"
-        RenderBlock {DIV} at (14,42) size 756x28
-          RenderInline {B} at (0,0) size 54x28
-            RenderText {#text} at (0,0) size 54x28
+        RenderBlock {DIV} at (14,40) size 756x26
+          RenderInline {B} at (0,0) size 54x26
+            RenderText {#text} at (0,0) size 54x26
               text run at (0,0) width 54: "three"
-        RenderBlock {DIV} at (14,70) size 756x28
-          RenderInline {I} at (0,0) size 40x28
-            RenderText {#text} at (0,0) size 40x28
+        RenderBlock {DIV} at (14,66) size 756x26
+          RenderInline {I} at (0,0) size 40x26
+            RenderText {#text} at (0,0) size 40x26
               text run at (0,0) width 40: "four"
 caret: position 3 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.png
index 64d084e..a101bc3 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.txt
index a5f519f..305a220 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-3928305-fix-expected.txt
@@ -18,17 +18,17 @@
 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 784x18
-        RenderText {#text} at (0,0) size 309x19
+      RenderBlock (anonymous) at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 309x17
           text run at (0,0) width 309: "Should see a blank line between \"foo\" and \"baz\""
-      RenderBlock {DIV} at (0,18) size 784x24
-      RenderBlock {DIV} at (0,42) size 784x112 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,17) size 784x24
+      RenderBlock {DIV} at (0,41) size 784x106 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 32x26
             text run at (0,0) width 32: "foo"
-        RenderBlock (anonymous) at (14,42) size 756x28
-          RenderBR {BR} at (0,0) size 0x28
-        RenderBlock {DIV} at (14,70) size 756x28
-          RenderText {#text} at (0,0) size 34x28
+        RenderBlock (anonymous) at (14,40) size 756x26
+          RenderBR {BR} at (0,0) size 0x26
+        RenderBlock {DIV} at (14,66) size 756x26
+          RenderText {#text} at (0,0) size 34x26
             text run at (0,0) width 34: "baz"
 caret: position 0 of child 2 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.png
index 624acf4..1a00119 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.txt
index 2311519..e262cc4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-4083333-fix-expected.txt
@@ -11,11 +11,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 106x28
-          RenderText {#text} at (14,14) size 80x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 106x26
+          RenderText {#text} at (14,14) size 80x26
             text run at (14,14) width 80: "this is a "
-          RenderInline {A} at (0,0) size 26x28 [color=#0000EE]
-            RenderText {#text} at (94,14) size 26x28
+          RenderInline {A} at (0,0) size 26x26 [color=#0000EE]
+            RenderText {#text} at (94,14) size 26x26
               text run at (94,14) width 26: "lin"
 caret: position 3 of child 0 {#text} of child 1 {A} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.png
index 5b2d8ac..682cf8f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.txt
index 5feea98..596a77c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-001-expected.txt
@@ -16,9 +16,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 34x28
-          text run at (106,84) width 34: "baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 34x26
+          text run at (106,85) width 34: "baz"
 caret: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.png
index 5b2d8ac..682cf8f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.txt
index 5feea98..596a77c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-002-expected.txt
@@ -16,9 +16,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 34x28
-          text run at (106,84) width 34: "baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 34x26
+          text run at (106,85) width 34: "baz"
 caret: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.png
index 5b2d8ac..682cf8f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.txt
index 5feea98..596a77c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-after-span-ws-003-expected.txt
@@ -16,9 +16,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 34x28
-          text run at (106,84) width 34: "baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 34x26
+          text run at (106,85) width 34: "baz"
 caret: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.png
new file mode 100644
index 0000000..716ecb5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.txt
index 4030d3e..aacf39b 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-and-undo-expected.txt
@@ -39,12 +39,12 @@
 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 756x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 756x52
           text run at (14,14) width 756: "Should see \"foo bar baz\" in the red box. Insertion point should be between the"
-          text run at (14,42) width 202: "\"b\" and \"a\" of \"baz\"."
-      RenderBlock {DIV} at (0,108) size 784x56
-        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 109x28
+          text run at (14,40) width 202: "\"b\" and \"a\" of \"baz\"."
+      RenderBlock {DIV} at (0,104) size 784x54
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 109x26
             text run at (14,14) width 109: "foo bar baz"
 caret: position 9 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.png
index fe51f38..51c06f7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
index fd7d26d..062e6b2 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
@@ -13,29 +13,29 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 741x56
-            text run at (0,28) width 741: "Deleting when a selection starts in a blank line created by a BR element and"
-            text run at (0,56) width 285: "extends to the end of a block."
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 741x52
+            text run at (0,26) width 741: "Deleting when a selection starts in a blank line created by a BR element and"
+            text run at (0,52) width 285: "extends to the end of a block."
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 734x84
-            text run at (0,28) width 730: "Should see the three lines in the red box. First line should be \"A\". Next two"
-            text run at (0,56) width 734: "lines should be empty. Insertion point should be blinking on the second line"
-            text run at (0,84) width 198: "(the first blank one)."
-      RenderBlock {DIV} at (0,264) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x88 [border: (2px solid #FF0000)]
-          RenderBlock {P} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 734x78
+            text run at (0,26) width 730: "Should see the three lines in the red box. First line should be \"A\". Next two"
+            text run at (0,52) width 734: "lines should be empty. Insertion point should be blinking on the second line"
+            text run at (0,78) width 198: "(the first blank one)."
+      RenderBlock {DIV} at (0,250) size 784x82
+        RenderBlock {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
+          RenderBlock {P} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
-          RenderBlock (anonymous) at (2,30) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {P} at (2,58) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
+          RenderBlock (anonymous) at (2,28) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {P} at (2,54) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
 caret: position 0 of child 3 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.png
index 174981e..fb41ec8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt
index 39d3bd0..4db04cb 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt
@@ -14,28 +14,28 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 742x84
-            text run at (0,28) width 742: "Deleting when a selection starts in a blank line created by a block with a BR"
-            text run at (0,56) width 730: "placeholder in it and extends to a character that is not at the end of a block."
-            text run at (0,84) width 735: "This ensures that some of our \"special-case\" code does not run for this case."
-        RenderBlock {DIV} at (14,142) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 742x78
+            text run at (0,26) width 742: "Deleting when a selection starts in a blank line created by a block with a BR"
+            text run at (0,52) width 730: "placeholder in it and extends to a character that is not at the end of a block."
+            text run at (0,78) width 735: "This ensures that some of our \"special-case\" code does not run for this case."
+        RenderBlock {DIV} at (14,134) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 682x56
-            text run at (0,28) width 682: "Should see the two lines in the red box. Each should contain \"A\" only."
-            text run at (0,56) width 620: "Insertion point should be blinking at the start of the second line."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {P} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 682x52
+            text run at (0,26) width 682: "Should see the two lines in the red box. Each should contain \"A\" only."
+            text run at (0,52) width 620: "Insertion point should be blinking at the start of the second line."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {P} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
-          RenderBlock {P} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBlock {P} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
 caret: position 0 of child 0 {#text} of child 3 {P} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.png
index 23b6c83..8b4e5fa 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt
index edd2182..d45f80d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt
@@ -14,29 +14,29 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 751x84
-            text run at (0,28) width 741: "Deleting when a selection starts in a blank line created by a BR element and"
-            text run at (0,56) width 751: "extends to a character that is not at the end of a block. This ensures that some"
-            text run at (0,84) width 508: "of our \"special-case\" code does not run for this case."
-        RenderBlock {DIV} at (14,142) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 751x78
+            text run at (0,26) width 741: "Deleting when a selection starts in a blank line created by a BR element and"
+            text run at (0,52) width 751: "extends to a character that is not at the end of a block. This ensures that some"
+            text run at (0,78) width 508: "of our \"special-case\" code does not run for this case."
+        RenderBlock {DIV} at (14,134) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 682x56
-            text run at (0,28) width 682: "Should see the two lines in the red box. Each should contain \"A\" only."
-            text run at (0,56) width 620: "Insertion point should be blinking at the start of the second line."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {P} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 682x52
+            text run at (0,26) width 682: "Should see the two lines in the red box. Each should contain \"A\" only."
+            text run at (0,52) width 620: "Insertion point should be blinking at the start of the second line."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {P} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
-          RenderBlock (anonymous) at (2,30) size 780x0
-          RenderBlock {P} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBlock (anonymous) at (2,28) size 780x0
+          RenderBlock {P} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
 caret: position 0 of child 0 {#text} of child 3 {P} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.png
index 4c0ce56..0eebb51 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt
index 553f876..c722b32 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt
@@ -13,27 +13,27 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 741x56
-            text run at (0,28) width 741: "Deleting when a selection starts in a blank line created by a BR element and"
-            text run at (0,56) width 346: "extends to the end of the document."
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 741x52
+            text run at (0,26) width 741: "Deleting when a selection starts in a blank line created by a BR element and"
+            text run at (0,52) width 346: "extends to the end of the document."
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 743x84
-            text run at (0,28) width 716: "Should see the two lines in the red box. First line should be \"A\". Next one"
-            text run at (0,56) width 743: "should be empty. Insertion point should be blinking at the start of the second"
-            text run at (0,84) width 43: "line."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {P} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 743x78
+            text run at (0,26) width 716: "Should see the two lines in the red box. First line should be \"A\". Next one"
+            text run at (0,52) width 743: "should be empty. Insertion point should be blinking at the start of the second"
+            text run at (0,78) width 43: "line."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {P} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
-          RenderBlock (anonymous) at (2,30) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
+          RenderBlock (anonymous) at (2,28) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
 caret: position 0 of child 3 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.png
index 92de77f..e5a4753 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt
index 19fa45f..2a9734e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt
@@ -13,27 +13,27 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 742x56
-            text run at (0,28) width 742: "Deleting when a selection starts in a blank line created by a block with a BR"
-            text run at (0,56) width 552: "placeholder in it and extends to the end of the document."
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 742x52
+            text run at (0,26) width 742: "Deleting when a selection starts in a blank line created by a block with a BR"
+            text run at (0,52) width 552: "placeholder in it and extends to the end of the document."
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 743x84
-            text run at (0,28) width 716: "Should see the two lines in the red box. First line should be \"A\". Next one"
-            text run at (0,56) width 743: "should be empty. Insertion point should be blinking at the start of the second"
-            text run at (0,84) width 43: "line."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {P} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 17x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 743x78
+            text run at (0,26) width 716: "Should see the two lines in the red box. First line should be \"A\". Next one"
+            text run at (0,52) width 743: "should be empty. Insertion point should be blinking at the start of the second"
+            text run at (0,78) width 43: "line."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {P} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 17x26
               text run at (0,0) width 17: "A"
-          RenderBlock {P} at (2,30) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
+          RenderBlock {P} at (2,28) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
 caret: position 0 of child 0 {BR} of child 3 {P} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.png
index 318f936..0c1b19f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt
index f6f5847..ef5dac3 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt
@@ -16,32 +16,32 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 742x56
-            text run at (0,28) width 742: "Deleting when a selection starts at the beginning of a paragraph preceded by"
-            text run at (0,56) width 660: "another block and extends into the middle of a following paragraph."
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 742x52
+            text run at (0,26) width 742: "Deleting when a selection starts at the beginning of a paragraph preceded by"
+            text run at (0,52) width 660: "another block and extends into the middle of a following paragraph."
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 747: "Should see the three lines in the red box. First line should be \"one\". Next one"
-            text run at (0,56) width 167: "should be \"two\". "
-            text run at (167,56) width 573: "Next one should be \"ur\". Insertion point should be blinking"
-            text run at (0,84) width 265: "at the start of the third line."
-      RenderBlock {DIV} at (0,264) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x88 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 35x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 747: "Should see the three lines in the red box. First line should be \"one\". Next one"
+            text run at (0,52) width 167: "should be \"two\". "
+            text run at (167,52) width 573: "Next one should be \"ur\". Insertion point should be blinking"
+            text run at (0,78) width 265: "at the start of the third line."
+      RenderBlock {DIV} at (0,250) size 784x82
+        RenderBlock {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 35x26
               text run at (0,0) width 35: "one"
-          RenderBlock {P} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 36x28
+          RenderBlock {P} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "two"
-          RenderBlock {P} at (2,58) size 780x28
-            RenderText {#text} at (0,0) size 20x28
+          RenderBlock {P} at (2,54) size 780x26
+            RenderText {#text} at (0,0) size 20x26
               text run at (0,0) width 20: "ur"
 caret: position 0 of child 0 {#text} of child 3 {P} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.png
index 4ec91a2..acf8649 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt
index 3d0ca3d..b88c928e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt
@@ -17,35 +17,35 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 690x56
-            text run at (0,28) width 690: "Deleting when a selection starts in the middle of the last paragraph and"
-            text run at (0,56) width 348: "extends to the end of that paragraph"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 690x52
+            text run at (0,26) width 690: "Deleting when a selection starts in the middle of the last paragraph and"
+            text run at (0,52) width 348: "extends to the end of that paragraph"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 738x84
-            text run at (0,28) width 738: "Should see the four lines in the red box. First line should be \"one\". Next one"
-            text run at (0,56) width 167: "should be \"two\". "
-            text run at (167,56) width 508: "Next one should be \"three\". Last one should be \"fo\"."
-            text run at (0,84) width 668: "Insertion point should be blinking at the start of the fourth (last) line."
-      RenderBlock {DIV} at (0,264) size 784x116
-        RenderBlock {DIV} at (0,0) size 784x116 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 35x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 738x78
+            text run at (0,26) width 738: "Should see the four lines in the red box. First line should be \"one\". Next one"
+            text run at (0,52) width 167: "should be \"two\". "
+            text run at (167,52) width 508: "Next one should be \"three\". Last one should be \"fo\"."
+            text run at (0,78) width 668: "Insertion point should be blinking at the start of the fourth (last) line."
+      RenderBlock {DIV} at (0,250) size 784x108
+        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 35x26
               text run at (0,0) width 35: "one"
-          RenderBlock {P} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 36x28
+          RenderBlock {P} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "two"
-          RenderBlock {P} at (2,58) size 780x28
-            RenderText {#text} at (0,0) size 49x28
+          RenderBlock {P} at (2,54) size 780x26
+            RenderText {#text} at (0,0) size 49x26
               text run at (0,0) width 49: "three"
-          RenderBlock {P} at (2,86) size 780x28
-            RenderText {#text} at (0,0) size 20x28
+          RenderBlock {P} at (2,80) size 780x26
+            RenderText {#text} at (0,0) size 20x26
               text run at (0,0) width 20: "fo"
 caret: position 2 of child 0 {#text} of child 5 {P} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.png
index 3cdaed3..a4f9b44 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt
index 7523eb8..d6c9ef5 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt
@@ -16,32 +16,32 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 742x56
-            text run at (0,28) width 742: "Deleting when a selection starts at the beginning of a paragraph preceded by"
-            text run at (0,56) width 665: "a text element and extends into the middle of a following paragraph."
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 742x52
+            text run at (0,26) width 742: "Deleting when a selection starts at the beginning of a paragraph preceded by"
+            text run at (0,52) width 665: "a text element and extends into the middle of a following paragraph."
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 747: "Should see the three lines in the red box. First line should be \"one\". Next one"
-            text run at (0,56) width 153: "should be \"ee\". "
-            text run at (153,56) width 593: "Next one should be \"four\". Insertion point should be blinking"
-            text run at (0,84) width 286: "at the start of the second line."
-      RenderBlock {DIV} at (0,264) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x88 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 35x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 747: "Should see the three lines in the red box. First line should be \"one\". Next one"
+            text run at (0,52) width 153: "should be \"ee\". "
+            text run at (153,52) width 593: "Next one should be \"four\". Insertion point should be blinking"
+            text run at (0,78) width 286: "at the start of the second line."
+      RenderBlock {DIV} at (0,250) size 784x82
+        RenderBlock {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 35x26
               text run at (0,0) width 35: "one"
-          RenderBlock {P} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 22x28
+          RenderBlock {P} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 22x26
               text run at (0,0) width 22: "ee"
-          RenderBlock {P} at (2,58) size 780x28
-            RenderText {#text} at (0,0) size 40x28
+          RenderBlock {P} at (2,54) size 780x26
+            RenderText {#text} at (0,0) size 40x26
               text run at (0,0) width 40: "four"
 caret: position 0 of child 0 {#text} of child 1 {P} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.png
index af08ef0..ca41927 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt
index 51c47bd..600b474 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt
@@ -17,48 +17,48 @@
 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 784x324 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x304 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 743x56
-            text run at (0,28) width 743: "Deleting when a selection starts at the beginning of a text following a nested"
-            text run at (0,56) width 691: "block, and extends out of the enclosing block into the following block. "
-          RenderBR {BR} at (691,78) size 0x0
-          RenderText {#text} at (0,84) size 553x28
-            text run at (0,84) width 267: "FIXME: Currently broken! "
-            text run at (267,84) width 286: "See rdar://problem/4099839/."
-        RenderBlock {DIV} at (14,142) size 756x168
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 743x52
+            text run at (0,26) width 743: "Deleting when a selection starts at the beginning of a text following a nested"
+            text run at (0,52) width 691: "block, and extends out of the enclosing block into the following block. "
+          RenderBR {BR} at (691,73) size 0x0
+          RenderText {#text} at (0,78) size 553x26
+            text run at (0,78) width 267: "FIXME: Currently broken! "
+            text run at (267,78) width 286: "See rdar://problem/4099839/."
+        RenderBlock {DIV} at (14,134) size 756x156
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 752x140
-            text run at (0,28) width 727: "Should see a total of five lines in the red box, with the third line inside of a"
-            text run at (0,56) width 675: "nested red box. First line should be \"one\". Next line should be \"two\". "
-            text run at (675,56) width 47: "Next"
-            text run at (0,84) width 737: "line should be \"cha cha cha\", inside of a nested red box. Next line should be"
-            text run at (0,112) width 52: "\"ur\". "
-            text run at (52,112) width 372: "The last line should be \"cha cha cha\". "
-            text run at (424,112) width 328: "Insertion point should be blinking"
-            text run at (0,140) width 340: "at the start of the fourth line (\"ur\")."
-      RenderBlock {DIV} at (0,348) size 784x148
-        RenderBlock {DIV} at (0,0) size 784x148 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 35x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 752x130
+            text run at (0,26) width 727: "Should see a total of five lines in the red box, with the third line inside of a"
+            text run at (0,52) width 675: "nested red box. First line should be \"one\". Next line should be \"two\". "
+            text run at (675,52) width 47: "Next"
+            text run at (0,78) width 737: "line should be \"cha cha cha\", inside of a nested red box. Next line should be"
+            text run at (0,104) width 52: "\"ur\". "
+            text run at (52,104) width 372: "The last line should be \"cha cha cha\". "
+            text run at (424,104) width 328: "Insertion point should be blinking"
+            text run at (0,130) width 340: "at the start of the fourth line (\"ur\")."
+      RenderBlock {DIV} at (0,328) size 784x138
+        RenderBlock {DIV} at (0,0) size 784x138 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 35x26
               text run at (0,0) width 35: "one"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 36x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "two"
-          RenderBlock {DIV} at (2,58) size 780x32 [border: (2px solid #FF0000)]
-            RenderBlock {DIV} at (2,2) size 776x28
-              RenderText {#text} at (0,0) size 114x28
+          RenderBlock {DIV} at (2,54) size 780x30 [border: (2px solid #FF0000)]
+            RenderBlock {DIV} at (2,2) size 776x26
+              RenderText {#text} at (0,0) size 114x26
                 text run at (0,0) width 114: "cha cha cha"
-            RenderBlock (anonymous) at (2,30) size 776x0
-          RenderBlock {DIV} at (2,90) size 780x28
-            RenderText {#text} at (0,0) size 20x28
+            RenderBlock (anonymous) at (2,28) size 776x0
+          RenderBlock {DIV} at (2,84) size 780x26
+            RenderText {#text} at (0,0) size 20x26
               text run at (0,0) width 20: "ur"
-          RenderBlock {DIV} at (2,118) size 780x28
-            RenderText {#text} at (0,0) size 114x28
+          RenderBlock {DIV} at (2,110) size 780x26
+            RenderText {#text} at (0,0) size 114x26
               text run at (0,0) width 114: "cha cha cha"
 caret: position 0 of child 0 {#text} of child 4 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
index 2c1cb6e..4d0fec7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt
index f84f323..1e9e600 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt
@@ -12,33 +12,33 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 631x28
-            text run at (0,28) width 631: "Delete at the end of document when there is a BR following a P. "
-          RenderBR {BR} at (631,50) size 0x0
-          RenderText {#text} at (0,56) size 442x28
-            text run at (0,56) width 442: "This is a test case for rdar://problem/4110366"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 631x26
+            text run at (0,26) width 631: "Delete at the end of document when there is a BR following a P. "
+          RenderBR {BR} at (631,47) size 0x0
+          RenderText {#text} at (0,52) size 442x26
+            text run at (0,52) width 442: "This is a test case for rdar://problem/4110366"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 720x56
-            text run at (0,28) width 240: "Red box with four lines. "
-            text run at (240,28) width 480: "The second line is a nested red box with the word"
-            text run at (0,56) width 81: "\"hello\". "
-            text run at (81,56) width 316: "The other three lines are empty. "
-          RenderBR {BR} at (397,78) size 0x0
-          RenderText {#text} at (0,84) size 468x28
-            text run at (0,84) width 468: "Selection is a caret at the start of the fourth line."
-      RenderBlock {DIV} at (0,264) size 784x140 [border: (2px solid #FF0000)]
-        RenderBlock {P} at (2,26) size 780x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 49x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 720x52
+            text run at (0,26) width 240: "Red box with four lines. "
+            text run at (240,26) width 480: "The second line is a nested red box with the word"
+            text run at (0,52) width 81: "\"hello\". "
+            text run at (81,52) width 316: "The other three lines are empty. "
+          RenderBR {BR} at (397,73) size 0x0
+          RenderText {#text} at (0,78) size 468x26
+            text run at (0,78) width 468: "Selection is a caret at the start of the fourth line."
+      RenderBlock {DIV} at (0,250) size 784x136 [border: (2px solid #FF0000)]
+        RenderBlock {P} at (2,26) size 780x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 49x26
             text run at (2,2) width 49: "hello"
-        RenderBlock {P} at (2,82) size 780x32 [border: (2px solid #FF0000)]
-          RenderBR {BR} at (2,2) size 0x28
-        RenderBlock (anonymous) at (2,138) size 780x0
+        RenderBlock {P} at (2,80) size 780x30 [border: (2px solid #FF0000)]
+          RenderBR {BR} at (2,2) size 0x26
+        RenderBlock (anonymous) at (2,134) size 780x0
 caret: position 0 of child 0 {BR} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.png
index b6be8bf..aba1d30 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.txt
index 6cbd6f7..f9c2a5d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-at-start-or-end-expected.txt
@@ -8,5 +8,5 @@
 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 784x18
+      RenderBlock {DIV} at (0,0) size 784x17
 caret: position 0 of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.png
new file mode 100644
index 0000000..cb8d82a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.txt
index 797f0c5..c7f0a65 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-001-expected.txt
@@ -12,6 +12,6 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.png
new file mode 100644
index 0000000..cb8d82a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.txt
index dd2c988..916e942 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-002-expected.txt
@@ -21,6 +21,6 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.png
new file mode 100644
index 0000000..18ca5d9
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.txt
index a3bb934..d955114 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-contents-003-expected.txt
@@ -21,13 +21,13 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 109x28
-          RenderText {#text} at (14,14) size 109x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 109x26
+          RenderText {#text} at (14,14) size 109x26
             text run at (14,14) width 38: "foo "
             text run at (52,14) width 37: "bar "
             text run at (89,14) width 34: "baz"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.png
index 97b1363..2035eb7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.txt
index 925b810..bd4b881 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-001-expected.txt
@@ -14,9 +14,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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 84x26
             text run at (0,0) width 84: "OneTwo"
           RenderText {#text} at (0,0) size 0x0
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.png
index 7dbec55..f9bc8de 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.txt
index 13a88e1..da3ecc4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.txt
@@ -14,11 +14,11 @@
 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 #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 84x26
             text run at (0,0) width 84: "OneTwo"
-          RenderBR {BR} at (84,22) size 0x0
-          RenderText {#text} at (0,28) size 57x28
-            text run at (0,28) width 57: "Three"
+          RenderBR {BR} at (84,21) size 0x0
+          RenderText {#text} at (0,26) size 57x26
+            text run at (0,26) width 57: "Three"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.png
index 7dbec55..f9bc8de 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.txt
index 13a88e1..da3ecc4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.txt
@@ -14,11 +14,11 @@
 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 #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 84x26
             text run at (0,0) width 84: "OneTwo"
-          RenderBR {BR} at (84,22) size 0x0
-          RenderText {#text} at (0,28) size 57x28
-            text run at (0,28) width 57: "Three"
+          RenderBR {BR} at (84,21) size 0x0
+          RenderText {#text} at (0,26) size 57x26
+            text run at (0,26) width 57: "Three"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.png
index 7dbec55..f9bc8de 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.txt
index 13a88e1..da3ecc4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.txt
@@ -14,11 +14,11 @@
 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 #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 84x26
             text run at (0,0) width 84: "OneTwo"
-          RenderBR {BR} at (84,22) size 0x0
-          RenderText {#text} at (0,28) size 57x28
-            text run at (0,28) width 57: "Three"
+          RenderBR {BR} at (84,21) size 0x0
+          RenderText {#text} at (0,26) size 57x26
+            text run at (0,26) width 57: "Three"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.png
index 38e68bd..2fa23b4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.txt
index 058289c..e261473 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.txt
@@ -14,17 +14,17 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 84x26
               text run at (0,0) width 84: "OneTwo"
-          RenderBlock {DIV} at (0,28) size 756x28
+          RenderBlock {DIV} at (0,26) size 756x26
             RenderBlock (anonymous) at (0,0) size 756x0
-            RenderBlock {DIV} at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 57x28
+            RenderBlock {DIV} at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 57x26
                 text run at (0,0) width 57: "Three"
-          RenderBlock (anonymous) at (0,56) size 756x28
-            RenderText {#text} at (0,0) size 45x28
+          RenderBlock (anonymous) at (0,52) size 756x26
+            RenderText {#text} at (0,0) size 45x26
               text run at (0,0) width 45: "Four"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.png
index 38e68bd..2fa23b4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt
index 17e51bc..b8089b4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt
@@ -14,18 +14,18 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 84x26
               text run at (0,0) width 84: "OneTwo"
-          RenderBlock {DIV} at (0,28) size 756x28
+          RenderBlock {DIV} at (0,26) size 756x26
             RenderBlock (anonymous) at (0,0) size 756x0
-            RenderBlock {DIV} at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 57x28
+            RenderBlock {DIV} at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 57x26
                 text run at (0,0) width 57: "Three"
-              RenderBR {BR} at (57,22) size 0x0
-          RenderBlock (anonymous) at (0,56) size 756x28
-            RenderText {#text} at (0,0) size 45x28
+              RenderBR {BR} at (57,21) size 0x0
+          RenderBlock (anonymous) at (0,52) size 756x26
+            RenderText {#text} at (0,0) size 45x26
               text run at (0,0) width 45: "Four"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.png
index 38e68bd..2fa23b4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt
index 17e51bc..b8089b4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt
@@ -14,18 +14,18 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 84x26
               text run at (0,0) width 84: "OneTwo"
-          RenderBlock {DIV} at (0,28) size 756x28
+          RenderBlock {DIV} at (0,26) size 756x26
             RenderBlock (anonymous) at (0,0) size 756x0
-            RenderBlock {DIV} at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 57x28
+            RenderBlock {DIV} at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 57x26
                 text run at (0,0) width 57: "Three"
-              RenderBR {BR} at (57,22) size 0x0
-          RenderBlock (anonymous) at (0,56) size 756x28
-            RenderText {#text} at (0,0) size 45x28
+              RenderBR {BR} at (57,21) size 0x0
+          RenderBlock (anonymous) at (0,52) size 756x26
+            RenderText {#text} at (0,0) size 45x26
               text run at (0,0) width 45: "Four"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.png
index 38e68bd..2fa23b4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.txt
index 9104e4d..58d9c0b 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.txt
@@ -14,18 +14,18 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 84x26
               text run at (0,0) width 84: "OneTwo"
-          RenderBlock {DIV} at (0,28) size 756x56
-            RenderBlock {DIV} at (0,0) size 756x28
+          RenderBlock {DIV} at (0,26) size 756x52
+            RenderBlock {DIV} at (0,0) size 756x26
               RenderBlock (anonymous) at (0,0) size 756x0
-              RenderBlock {DIV} at (0,0) size 756x28
-                RenderText {#text} at (0,0) size 57x28
+              RenderBlock {DIV} at (0,0) size 756x26
+                RenderText {#text} at (0,0) size 57x26
                   text run at (0,0) width 57: "Three"
-            RenderBlock (anonymous) at (0,28) size 756x28
-              RenderText {#text} at (0,0) size 45x28
+            RenderBlock (anonymous) at (0,26) size 756x26
+              RenderText {#text} at (0,0) size 45x26
                 text run at (0,0) width 45: "Four"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.png
index 4dd9b47..7cd7deb 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.txt
index a62e186..edfa99e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.txt
@@ -18,18 +18,18 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 40x28
+      RenderBlock {DIV} at (0,0) size 784x132 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 40x26
               text run at (0,0) width 40: "One"
-          RenderBlock {DIV} at (0,28) size 756x56
-            RenderText {#text} at (0,0) size 101x28
+          RenderBlock {DIV} at (0,26) size 756x52
+            RenderText {#text} at (0,0) size 101x26
               text run at (0,0) width 101: "TwoThree"
-            RenderBR {BR} at (101,22) size 0x0
-            RenderText {#text} at (0,28) size 45x28
-              text run at (0,28) width 45: "Four"
-          RenderBlock (anonymous) at (0,84) size 756x28
-            RenderText {#text} at (0,0) size 43x28
+            RenderBR {BR} at (101,21) size 0x0
+            RenderText {#text} at (0,26) size 45x26
+              text run at (0,26) width 45: "Four"
+          RenderBlock (anonymous) at (0,78) size 756x26
+            RenderText {#text} at (0,0) size 43x26
               text run at (0,0) width 43: "Five"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.png
new file mode 100644
index 0000000..30500db
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.txt
index a04dabe..fb52bcc 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-010-expected.txt
@@ -33,10 +33,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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 141x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 141x26
             text run at (0,0) width 141: "OneTwoThree"
-          RenderText {#text} at (141,0) size 45x28
+          RenderText {#text} at (141,0) size 45x26
             text run at (141,0) width 45: "Four"
 caret: position 12 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.png
index af00083..e46e9de 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.txt
index 364adac..bd2bcd1 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.txt
@@ -6,17 +6,17 @@
 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)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 40x28
+      RenderBlock {DIV} at (0,0) size 784x132 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 40x26
               text run at (0,0) width 40: "One"
-          RenderBlock {DIV} at (0,28) size 756x56
-            RenderText {#text} at (0,0) size 44x28
+          RenderBlock {DIV} at (0,26) size 756x52
+            RenderText {#text} at (0,0) size 44x26
               text run at (0,0) width 44: "Two"
-            RenderBR {BR} at (44,22) size 0x0
-            RenderBR {BR} at (0,28) size 0x28
-          RenderBlock (anonymous) at (0,84) size 756x28
-            RenderText {#text} at (0,0) size 57x28
+            RenderBR {BR} at (44,21) size 0x0
+            RenderBR {BR} at (0,26) size 0x26
+          RenderBlock (anonymous) at (0,78) size 756x26
+            RenderText {#text} at (0,0) size 57x26
               text run at (0,0) width 57: "Three"
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.png
new file mode 100644
index 0000000..2b30ef8
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.txt
index f2c2d3f..5fbd6b5 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-012-expected.txt
@@ -38,9 +38,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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderBlock {DIV} at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 177x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderBlock {DIV} at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 177x26
               text run at (0,0) width 177: "This is  some text."
 caret: position 8 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.png
new file mode 100644
index 0000000..8254d18
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.txt
index d4428f4..27d5c69 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-013-expected.txt
@@ -39,9 +39,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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderBlock {DIV} at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 171x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderBlock {DIV} at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 171x26
               text run at (0,0) width 171: "This is some text."
 caret: position 8 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.png
new file mode 100644
index 0000000..4e8eaf3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.txt
index ea1fb95..52239e7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-014-expected.txt
@@ -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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderBlock {DIV} at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 171x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderBlock {DIV} at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 171x26
               text run at (0,0) width 171: "This is some text."
 caret: position 7 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.png
new file mode 100644
index 0000000..4e8eaf3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.txt
index ea1fb95..52239e7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-015-expected.txt
@@ -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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderBlock {DIV} at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 171x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderBlock {DIV} at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 171x26
               text run at (0,0) width 171: "This is some text."
 caret: position 7 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.png
new file mode 100644
index 0000000..4e8eaf3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.txt
index ea1fb95..52239e7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-016-expected.txt
@@ -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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderBlock {DIV} at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 171x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderBlock {DIV} at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 171x26
               text run at (0,0) width 171: "This is some text."
 caret: position 7 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.png
new file mode 100644
index 0000000..2b30ef8
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.txt
index b09cf78..7039f91 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-017-expected.txt
@@ -39,9 +39,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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderBlock {DIV} at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 177x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderBlock {DIV} at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 177x26
               text run at (0,0) width 177: "This is  some text."
 caret: position 8 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.png
index 89f22a9..40ad7a0 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.txt
index 6fd6ec1..1f363e8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-018-expected.txt
@@ -15,17 +15,17 @@
 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 732x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 732x52
           text run at (14,14) width 726: "Should see \"Test OK\" in top red box, followed by \"...more text\", in its own"
           text run at (740,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 82x28
+          text run at (14,40) width 79: "red box."
+      RenderBlock {DIV} at (0,104) size 784x108
+        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 82x26
               text run at (0,0) width 82: "Test OK"
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (14,14) size 111x28
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 111x26
               text run at (14,14) width 111: "...more text"
 caret: position 2 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.png
index fd9f8c3..ee8b07e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt
index c3a5a86..813fd92 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-019-expected.txt
@@ -14,12 +14,12 @@
 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 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 292x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 292x26
           text run at (14,14) width 292: "Should see \"XX\" in a red box."
-      RenderBlock {DIV} at (0,80) size 784x56
-        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,78) size 784x54
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "XX"
           RenderText {#text} at (0,0) size 0x0
 caret: position 2 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.png
index d2520f0..a1574caf 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt
index e80f20e..7ecff9f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-020-expected.txt
@@ -16,12 +16,12 @@
 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 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 356x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 356x26
           text run at (14,14) width 356: "Should see \"XX\" in a single red box."
-      RenderBlock {DIV} at (0,80) size 784x56
-        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,78) size 784x54
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "XX"
           RenderText {#text} at (0,0) size 0x0
 caret: position 2 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.png
index 6fb2bcb..cb047cd 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.txt
index 77d2a32..97b00be 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-021-expected.txt
@@ -16,17 +16,17 @@
 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 736x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 736x52
           text run at (14,14) width 730: "Should see \"XX\" in a top red box, and another \"XX\" in a red box inside the"
           text run at (744,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          text run at (14,40) width 45: "first."
+      RenderBlock {DIV} at (0,104) size 784x108
+        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "XX"
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (14,14) size 34x28
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 34x26
               text run at (14,14) width 34: "XX"
 caret: position 2 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.png
index cf01c4f..c21c3ce 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.txt
index fe11d5e..fa37394 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-022-expected.txt
@@ -16,18 +16,18 @@
 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 753x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 753x52
           text run at (14,14) width 747: "Should see \"XX\" in outer red box, and another \"XX\" in an orange box nested"
           text run at (761,14) width 6: " "
-          text run at (14,42) width 144: "in a green box."
-      RenderBlock {DIV} at (0,108) size 784x140
-        RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          text run at (14,40) width 144: "in a green box."
+      RenderBlock {DIV} at (0,104) size 784x136
+        RenderBlock {DIV} at (0,0) size 784x136 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "XX"
-          RenderBlock {DIV} at (14,42) size 756x84 [border: (2px solid #008000)]
-            RenderBlock {DIV} at (14,14) size 728x56 [border: (2px solid #FFA500)]
-              RenderText {#text} at (14,14) size 34x28
+          RenderBlock {DIV} at (14,40) size 756x82 [border: (2px solid #008000)]
+            RenderBlock {DIV} at (14,14) size 728x54 [border: (2px solid #FFA500)]
+              RenderText {#text} at (14,14) size 34x26
                 text run at (14,14) width 34: "XX"
 caret: position 2 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.png
index f375ef4..1b08ad4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.txt
index 8d95e15..c8d3924 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.txt
@@ -12,15 +12,15 @@
 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 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 516x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 516x26
           text run at (14,14) width 516: "Should see \"XX\" in a yellow box nested in a red box."
-      RenderBlock {DIV} at (0,80) size 784x62
-        RenderBlock {DIV} at (0,0) size 784x62 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,78) size 784x60
+        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
           RenderBlock (anonymous) at (14,14) size 756x0
-          RenderBlock {DIV} at (14,14) size 756x34 [border: (3px solid #FFFF00)]
+          RenderBlock {DIV} at (14,14) size 756x32 [border: (3px solid #FFFF00)]
             RenderBlock (anonymous) at (3,3) size 750x0
-            RenderBlock {DIV} at (3,3) size 750x28
-              RenderText {#text} at (0,0) size 34x28
+            RenderBlock {DIV} at (3,3) size 750x26
+              RenderText {#text} at (0,0) size 34x26
                 text run at (0,0) width 34: "XX"
 caret: position 0 of child 0 {#text} of child 0 {DIV} of child 0 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.png
index 2943f9c..97c1ee1 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.txt
index 71bf640..b9bce47 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.txt
@@ -14,15 +14,15 @@
 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 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 499x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 499x26
           text run at (14,14) width 499: "Should see \"X\" in a yellow box nested in a red box."
-      RenderBlock {DIV} at (0,80) size 784x62
-        RenderBlock {DIV} at (0,0) size 784x62 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,78) size 784x60
+        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
           RenderBlock (anonymous) at (14,14) size 756x0
-          RenderBlock {DIV} at (14,14) size 756x34 [border: (3px solid #FFFF00)]
+          RenderBlock {DIV} at (14,14) size 756x32 [border: (3px solid #FFFF00)]
             RenderBlock (anonymous) at (3,3) size 750x0
-            RenderBlock {DIV} at (3,3) size 750x28
-              RenderText {#text} at (0,0) size 17x28
+            RenderBlock {DIV} at (3,3) size 750x26
+              RenderText {#text} at (0,0) size 17x26
                 text run at (0,0) width 17: "X"
 caret: position 0 of child 0 {#text} of child 0 {DIV} of child 0 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.png
new file mode 100644
index 0000000..78b8e73
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.txt
index aae5391..a63a6ba 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-001-expected.txt
@@ -31,13 +31,13 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 296x28
-          RenderText {#text} at (14,14) size 204x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 296x26
+          RenderText {#text} at (14,14) size 204x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 61: "seven "
-          RenderText {#text} at (218,14) size 92x28
+          RenderText {#text} at (218,14) size 92x26
             text run at (218,14) width 92: "years ago"
         RenderText {#text} at (0,0) size 0x0
 caret: position 23 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.png
new file mode 100644
index 0000000..5a07290
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.txt
index 82e27c0d..0b97921 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-002-expected.txt
@@ -32,15 +32,15 @@
 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 628x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 204x84
-          RenderText {#text} at (14,14) size 204x28
+      RenderBlock {DIV} at (0,0) size 628x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 204x78
+          RenderText {#text} at (14,14) size 204x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 61: "seven "
-          RenderBR {BR} at (218,36) size 0x0
-          RenderBR {BR} at (14,42) size 0x28
-          RenderText {#text} at (14,70) size 92x28
-            text run at (14,70) width 92: "years ago"
+          RenderBR {BR} at (218,35) size 0x0
+          RenderBR {BR} at (14,40) size 0x26
+          RenderText {#text} at (14,66) size 92x26
+            text run at (14,66) width 92: "years ago"
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 2 {BR} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.png
new file mode 100644
index 0000000..190f67f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.txt
index e82d6a3..15a9a0e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-003-expected.txt
@@ -31,15 +31,15 @@
 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 628x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 204x84
-          RenderText {#text} at (14,14) size 204x28
+      RenderBlock {DIV} at (0,0) size 628x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 204x78
+          RenderText {#text} at (14,14) size 204x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 61: "seven "
-          RenderBR {BR} at (218,36) size 0x0
-          RenderBR {BR} at (14,42) size 0x28
-          RenderText {#text} at (14,70) size 92x28
-            text run at (14,70) width 92: "years ago"
+          RenderBR {BR} at (218,35) size 0x0
+          RenderBR {BR} at (14,40) size 0x26
+          RenderText {#text} at (14,66) size 92x26
+            text run at (14,66) width 92: "years ago"
         RenderText {#text} at (0,0) size 0x0
 caret: position 23 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.png
new file mode 100644
index 0000000..055e487
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.txt
index 7e60bc4..7716b68 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-004-expected.txt
@@ -33,14 +33,14 @@
 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 628x112 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 204x84
-          RenderText {#text} at (14,14) size 204x28
+      RenderBlock {DIV} at (0,0) size 628x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 204x78
+          RenderText {#text} at (14,14) size 204x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 61: "seven "
-          RenderBR {BR} at (218,36) size 0x0
-          RenderBR {BR} at (14,42) size 0x28
-          RenderText {#text} at (14,70) size 92x28
-            text run at (14,70) width 92: "years ago"
+          RenderBR {BR} at (218,35) size 0x0
+          RenderBR {BR} at (14,40) size 0x26
+          RenderText {#text} at (14,66) size 92x26
+            text run at (14,66) width 92: "years ago"
 caret: position 0 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.png
new file mode 100644
index 0000000..f787b03
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.txt
index 63c0400..dd2a2f9 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-005-expected.txt
@@ -37,13 +37,13 @@
 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 628x84 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 204x56
-          RenderText {#text} at (14,14) size 204x28
+      RenderBlock {DIV} at (0,0) size 628x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 204x52
+          RenderText {#text} at (14,14) size 204x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 61: "seven "
-          RenderBR {BR} at (218,36) size 0x0
-          RenderText {#text} at (14,42) size 92x28
-            text run at (14,42) width 92: "years ago"
+          RenderBR {BR} at (218,35) size 0x0
+          RenderText {#text} at (14,40) size 92x26
+            text run at (14,40) width 92: "years ago"
 caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.png
new file mode 100644
index 0000000..09b11a2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.txt
index f59c452..5732c1d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-006-expected.txt
@@ -41,12 +41,12 @@
 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 628x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 296x28
-          RenderText {#text} at (14,14) size 204x28
+      RenderBlock {DIV} at (0,0) size 628x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 296x26
+          RenderText {#text} at (14,14) size 204x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 61: "seven "
-          RenderText {#text} at (218,14) size 92x28
+          RenderText {#text} at (218,14) size 92x26
             text run at (218,14) width 92: "years ago"
 caret: position 23 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.png
new file mode 100644
index 0000000..4805f8a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.txt
index 30a4dd8..218c599 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-007-expected.txt
@@ -35,13 +35,13 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 290x28
-          RenderText {#text} at (14,14) size 198x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 290x26
+          RenderText {#text} at (14,14) size 198x26
             text run at (14,14) width 102: "Fourscore "
             text run at (116,14) width 41: "and "
             text run at (157,14) width 55: "seven"
-          RenderText {#text} at (212,14) size 92x28
+          RenderText {#text} at (212,14) size 92x26
             text run at (212,14) width 92: "years ago"
         RenderText {#text} at (0,0) size 0x0
 caret: position 22 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.png
index 64b8802..35cbc3f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.txt
index 125f4e6..45d230a 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-008-expected.txt
@@ -14,11 +14,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 40x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 40x26
           text run at (14,14) width 40: "One"
-      RenderBlock (anonymous) at (0,56) size 784x0
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 44x28
+      RenderBlock (anonymous) at (0,54) size 784x0
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 44x26
           text run at (14,14) width 44: "Two"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.png
index f11782b..6257387 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.txt
index e3f4195..75297b6 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-009-expected.txt
@@ -14,11 +14,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 40x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 40x26
           text run at (14,14) width 40: "One"
-      RenderBlock (anonymous) at (0,56) size 784x0
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 44x28
+      RenderBlock (anonymous) at (0,54) size 784x0
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 44x26
           text run at (14,14) width 44: "Two"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.png
new file mode 100644
index 0000000..144d35c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.txt
index 0d60cbd..174f6d6 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-010-expected.txt
@@ -18,8 +18,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 84x26
           text run at (14,14) width 84: "OneTwo"
-      RenderBlock (anonymous) at (0,56) size 784x0
+      RenderBlock (anonymous) at (0,54) size 784x0
 caret: position 3 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.png
new file mode 100644
index 0000000..012557a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.txt
index 5baa985..32b135f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-br-013-expected.txt
@@ -3,17 +3,17 @@
 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 784x36
-        RenderText {#text} at (0,0) size 751x37
+      RenderBlock {DIV} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 751x34
           text run at (0,0) width 751: "This tests that we only preserve an empty paragraph's style when moving paragraphs around if the selection is still in an"
-          text run at (0,18) width 249: "empty paragraph after the move occurs."
-      RenderBlock {DIV} at (0,36) size 784x18
-        RenderText {#text} at (0,0) size 315x19
+          text run at (0,17) width 249: "empty paragraph after the move occurs."
+      RenderBlock {DIV} at (0,34) size 784x17
+        RenderText {#text} at (0,0) size 315x17
           text run at (0,0) width 315: "The test passes if the text below is still underlined."
-      RenderBlock (anonymous) at (0,54) size 784x18
-        RenderBR {BR} at (0,0) size 0x19
-      RenderBlock {DIV} at (0,72) size 784x18
-        RenderInline {SPAN} at (0,0) size 191x19
-          RenderText {#text} at (0,0) size 191x19
+      RenderBlock (anonymous) at (0,51) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
+      RenderBlock {DIV} at (0,68) size 784x17
+        RenderInline {SPAN} at (0,0) size 191x17
+          RenderText {#text} at (0,0) size 191x17
             text run at (0,0) width 191: "This text should be underlined"
 caret: position 30 of child 0 {#text} of child 0 {SPAN} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.png
index d0c617e..454cb64 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.txt
index c86c390..30950a7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-character-001-expected.txt
@@ -12,9 +12,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 97x28
-          RenderText {#text} at (14,14) size 97x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 97x26
+          RenderText {#text} at (14,14) size 97x26
             text run at (14,14) width 26: "fo "
             text run at (40,14) width 37: "bar "
             text run at (77,14) width 34: "baz"
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.png
new file mode 100644
index 0000000..ffa7889
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.txt
index c57ede7..48ab102 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-contiguous-ws-001-expected.txt
@@ -17,9 +17,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 78x28
-          RenderText {#text} at (14,14) size 78x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 78x26
+          RenderText {#text} at (14,14) size 78x26
             text run at (14,14) width 78: "foo  baz"
         RenderText {#text} at (0,0) size 0x0
 caret: position 4 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.png
index cdcd363..dd0e930 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.txt
index 4f6e075..eca2332 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-first-list-item-expected.txt
@@ -12,24 +12,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 768x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 768x34
           text run at (0,0) width 768: "This tests deletion when the caret is in an empty list item at the beginning of the document. It also makes sure that the style"
-          text run at (0,18) width 232: "inside the empty list item is retained. "
-          text run at (232,18) width 105: "You should see '"
-        RenderInline {B} at (0,0) size 21x19
-          RenderText {#text} at (337,18) size 21x19
-            text run at (337,18) width 21: "foo"
-        RenderText {#text} at (358,18) size 251x19
-          text run at (358,18) width 251: "' followed by a list item containing 'bar'."
-      RenderBlock {DIV} at (0,52) size 784x52
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderInline {B} at (0,0) size 21x19
-            RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 232: "inside the empty list item is retained. "
+          text run at (232,17) width 105: "You should see '"
+        RenderInline {B} at (0,0) size 21x17
+          RenderText {#text} at (337,17) size 21x17
+            text run at (337,17) width 21: "foo"
+        RenderText {#text} at (358,17) size 251x17
+          text run at (358,17) width 251: "' followed by a list item containing 'bar'."
+      RenderBlock {DIV} at (0,50) size 784x50
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderInline {B} at (0,0) size 21x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-        RenderBlock {UL} at (0,34) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 20x19
+        RenderBlock {UL} at (0,33) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 20x17
               text run at (0,0) width 20: "bar"
 caret: position 3 of child 0 {#text} of child 0 {B} of child 0 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.png
index eae411f..3572fa8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.txt
index ab89b95..baf2c7c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-hr-expected.txt
@@ -15,13 +15,13 @@
 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 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 43x19
+      RenderBlock {DIV} at (0,0) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 43x17
             text run at (0,0) width 43: "Before"
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderInline {SPAN} at (0,0) size 21x19
-            RenderText {#text} at (0,0) size 21x19
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderInline {SPAN} at (0,0) size 21x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "fter"
           RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {#text} of child 3 {SPAN} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.png
index 14706e0..9262e98 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.txt
index f542585..ec7ce3d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-001-expected.txt
@@ -14,18 +14,18 @@
 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 784x246 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 204x137
-          RenderText {#text} at (14,95) size 11x28
-            text run at (14,95) width 11: "a"
+      RenderBlock {DIV} at (0,0) size 784x244 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 204x134
+          RenderText {#text} at (14,96) size 11x26
+            text run at (14,96) width 11: "a"
           RenderImage {IMG} at (25,14) size 76x103
-          RenderText {#text} at (101,95) size 6x28
-            text run at (101,95) width 6: " "
-          RenderText {#text} at (107,95) size 111x28
-            text run at (107,95) width 111: " conceived "
+          RenderText {#text} at (101,96) size 6x26
+            text run at (101,96) width 6: " "
+          RenderText {#text} at (107,96) size 111x26
+            text run at (107,96) width 111: " conceived "
           RenderBR {BR} at (218,117) size 0x0
-          RenderText {#text} at (14,204) size 61x28
+          RenderText {#text} at (14,204) size 61x26
             text run at (14,204) width 61: "nation"
-          RenderImage {IMG} at (75,123) size 76x103
+          RenderImage {IMG} at (75,122) size 76x103
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.png
index c14532e..4f9f260 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.txt
index 6a0b34a..91c7d91 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-002-expected.txt
@@ -12,24 +12,24 @@
 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 784x274 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 254x246
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x270 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 254x242
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderText {#text} at (25,14) size 46x28
+          RenderText {#text} at (25,14) size 46x26
             text run at (25,14) width 46: "new "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,123) size 67x28
-            text run at (14,123) width 67: "nation "
+          RenderText {#text} at (14,122) size 67x26
+            text run at (14,122) width 67: "nation "
           RenderInline {I} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-          RenderImage {IMG} at (81,42) size 76x103
-          RenderText {#text} at (157,123) size 111x28
-            text run at (157,123) width 111: " conceived "
-          RenderBR {BR} at (268,145) size 0x0
-          RenderText {#text} at (14,232) size 61x28
-            text run at (14,232) width 61: "nation"
-          RenderImage {IMG} at (75,151) size 76x103
+          RenderImage {IMG} at (81,40) size 76x103
+          RenderText {#text} at (157,122) size 111x26
+            text run at (157,122) width 111: " conceived "
+          RenderBR {BR} at (268,143) size 0x0
+          RenderText {#text} at (14,230) size 61x26
+            text run at (14,230) width 61: "nation"
+          RenderImage {IMG} at (75,148) size 76x103
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.png
index 5bf6344..b41e199 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.txt
index db116e9..5d03214 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-003-expected.txt
@@ -13,11 +13,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 85x28
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 85x26
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderText {#text} at (25,14) size 74x28
+          RenderText {#text} at (25,14) size 74x26
             text run at (25,14) width 74: " lincoln"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.png
new file mode 100644
index 0000000..cb8d82a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.txt
index 5b47624..d1bad5c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-image-004-expected.txt
@@ -13,6 +13,6 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.png
new file mode 100644
index 0000000..3d79336
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.txt
index 75f20b5..8497430 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-leading-ws-001-expected.txt
@@ -17,9 +17,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 14x28
-          RenderText {#text} at (14,14) size 14x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 14x26
+          RenderText {#text} at (14,14) size 14x26
             text run at (14,14) width 8: "f"
             text run at (22,14) width 6: " "
 caret: position 2 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.png
new file mode 100644
index 0000000..20fbe7f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.txt
index 11fec08..f0afbef 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-001-expected.txt
@@ -11,7 +11,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 600x28
-        RenderText {#text} at (0,0) size 197x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 197x26
           text run at (0,0) width 197: "in the affairs of men"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.png
new file mode 100644
index 0000000..20fbe7f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.txt
index df59f06..a7ef0ec 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-002-expected.txt
@@ -11,7 +11,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 600x28
-        RenderText {#text} at (0,0) size 197x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 197x26
           text run at (0,0) width 197: "in the affairs of men"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.png
index 690ceae..c9ec466 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.txt
index 2518101..9648095 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-003-expected.txt
@@ -12,10 +12,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 600x56
-        RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (0,0) size 600x52
+        RenderText {#text} at (0,0) size 139x26
           text run at (0,0) width 139: "There is a tide"
-        RenderBR {BR} at (139,22) size 0x0
-        RenderText {#text} at (0,28) size 241x28
-          text run at (0,28) width 241: "Which taken at the flood"
+        RenderBR {BR} at (139,21) size 0x0
+        RenderText {#text} at (0,26) size 241x26
+          text run at (0,26) width 241: "Which taken at the flood"
 caret: position 0 of child 2 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.png
index 690ceae..c9ec466 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.txt
index 98bf1aa..9f8018b 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-004-expected.txt
@@ -12,10 +12,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 600x28
-        RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 139x26
           text run at (0,0) width 139: "There is a tide"
-      RenderBlock {DIV} at (0,28) size 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,26) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.png
new file mode 100644
index 0000000..4fbf17f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.txt
index c0e04e5..555dc22 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-005-expected.txt
@@ -12,7 +12,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 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.png
new file mode 100644
index 0000000..4fbf17f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.txt
index 3bc79a4..4ac2e8f 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-006-expected.txt
@@ -12,7 +12,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 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.png
new file mode 100644
index 0000000..4fbf17f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.txt
index 4eb2476c..a669ae5 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-007-expected.txt
@@ -12,7 +12,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 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.png
new file mode 100644
index 0000000..4fbf17f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.txt
index e9a9c90f..99cbb25 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-008-expected.txt
@@ -12,7 +12,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 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.png
new file mode 100644
index 0000000..ed14c59
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.txt
index 48df10c..5b0b422 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-009-expected.txt
@@ -13,9 +13,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 600x28
-        RenderBR {BR} at (0,0) size 0x28
-      RenderBlock {DIV} at (0,28) size 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderBR {BR} at (0,0) size 0x26
+      RenderBlock {DIV} at (0,26) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {BR} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.png
new file mode 100644
index 0000000..ed14c59
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.txt
index 48df10c..5b0b422 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-010-expected.txt
@@ -13,9 +13,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 600x28
-        RenderBR {BR} at (0,0) size 0x28
-      RenderBlock {DIV} at (0,28) size 600x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderBR {BR} at (0,0) size 0x26
+      RenderBlock {DIV} at (0,26) size 600x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {BR} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-011-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-011-expected.png
new file mode 100644
index 0000000..fe940f7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-011-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-011-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-011-expected.txt
new file mode 100644
index 0000000..0297539
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-011-expected.txt
@@ -0,0 +1,38 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 6 of BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 10 of #text > DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 10 of #text > DIV > BODY > HTML > #document to 2 of BODY > HTML > #document toDOMRange:range from 10 of #text > DIV > BODY > HTML > #document to 10 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 600x26
+        RenderText {#text} at (0,0) size 337x26
+          text run at (0,0) width 337: "There is aWhich taken at the flood"
+caret: position 10 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.png
new file mode 100644
index 0000000..fe940f7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.txt
index 6364098..d190f7c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-012-expected.txt
@@ -32,7 +32,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 600x28
-        RenderText {#text} at (0,0) size 337x28
+      RenderBlock {DIV} at (0,0) size 600x26
+        RenderText {#text} at (0,0) size 337x26
           text run at (0,0) width 337: "There is aWhich taken at the flood"
 caret: position 10 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.png
new file mode 100644
index 0000000..f21cdfb
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.txt
index 35f6e9c..d21f9cd 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-013-expected.txt
@@ -26,11 +26,11 @@
 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 784x28
-        RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 139x26
           text run at (0,0) width 139: "There is a tide"
-      RenderBlock (anonymous) at (0,28) size 784x28
-        RenderText {#text} at (0,0) size 197x28
+      RenderBlock (anonymous) at (0,26) size 784x26
+        RenderText {#text} at (0,0) size 197x26
           text run at (0,0) width 197: "in the affairs of men"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.png
new file mode 100644
index 0000000..eb60100
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.txt
index f5a9c34..7c31741 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-014-expected.txt
@@ -26,11 +26,11 @@
 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 784x28
-        RenderText {#text} at (0,0) size 15x28
+      RenderBlock {DIV} at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 15x26
           text run at (0,0) width 15: "T"
-      RenderBlock (anonymous) at (0,28) size 784x28
-        RenderText {#text} at (0,0) size 197x28
+      RenderBlock (anonymous) at (0,26) size 784x26
+        RenderText {#text} at (0,0) size 197x26
           text run at (0,0) width 197: "in the affairs of men"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.png
index ab10def..e04d4d3 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.txt
index 33a8b90..bcce1f4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-015-expected.txt
@@ -11,16 +11,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 778x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 778x51
           text run at (0,0) width 764: "This tests deletion of an empty line starting inside a <div> element, but ending outside that element (just before a <br>). If"
-          text run at (0,18) width 778: "the deletion is successful, the result should have two lines, and the insertion point should be on the second line, at the end of"
-          text run at (0,36) width 106: "the editable area."
-      RenderBlock {DIV} at (0,70) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 7x19
+          text run at (0,17) width 778: "the deletion is successful, the result should have two lines, and the insertion point should be on the second line, at the end of"
+          text run at (0,34) width 106: "the editable area."
+      RenderBlock {DIV} at (0,67) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 7x17
             text run at (0,0) width 7: "a"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock (anonymous) at (0,36) size 784x0
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock (anonymous) at (0,34) size 784x0
 caret: position 0 of child 0 {BR} of child 2 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.png
index a160fe3..77a04a6 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.txt
index b55a4ed..fa96dca 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-016-expected.txt
@@ -11,16 +11,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 767x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 767x51
           text run at (0,0) width 767: "This tests deletion of an empty line starting inside a <div> element, but ending outside that element (just before a <br>). In"
-          text run at (0,18) width 766: "this case, the <div> has no content inside it, but a min-height style prevents it from collapsing. If the deletion is successful,"
-          text run at (0,36) width 725: "the result should have two lines, and the insertion point should be on the second line, at the end of the editable area."
-      RenderBlock {DIV} at (0,70) size 784x68
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 7x19
+          text run at (0,17) width 766: "this case, the <div> has no content inside it, but a min-height style prevents it from collapsing. If the deletion is successful,"
+          text run at (0,34) width 725: "the result should have two lines, and the insertion point should be on the second line, at the end of the editable area."
+      RenderBlock {DIV} at (0,67) size 784x67
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 7x17
             text run at (0,0) width 7: "a"
-        RenderBlock {DIV} at (0,18) size 784x50
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock (anonymous) at (0,68) size 784x0
+        RenderBlock {DIV} at (0,17) size 784x50
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock (anonymous) at (0,67) size 784x0
 caret: position 0 of child 0 {BR} of child 2 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.png
index 38de304..91556a4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.txt
index 8970ea6..1683592 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-017-expected.txt
@@ -12,16 +12,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 781x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 781x34
           text run at (0,0) width 781: "This tests deletion of an empty line which is a <br> element just after a <div> element. If the deletion is successful, the result"
-          text run at (0,18) width 695: "should have two lines, and the insertion point should be at the start of the second line, just before the letter \"b\"."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 7x19
+          text run at (0,17) width 695: "should have two lines, and the insertion point should be at the start of the second line, just before the letter \"b\"."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 7x17
             text run at (0,0) width 7: "a"
-        RenderBlock (anonymous) at (0,18) size 784x0
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 8x19
+        RenderBlock (anonymous) at (0,17) size 784x0
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 8x17
             text run at (0,0) width 8: "b"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.png
index a3539b5..3c4103d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.txt
index dce4086..11ba3d8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-001-expected.txt
@@ -70,10 +70,10 @@
   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 546x76
-          RenderText {#text} at (74,84) size 546x76
-            text run at (74,84) width 540: "Fourscore and seven years ago our fathers brought forth"
-            text run at (614,84) width 6: " "
-            text run at (74,132) width 304: "onthis continent a new nation..."
+        RenderInline {SPAN} at (0,0) size 546x74
+          RenderText {#text} at (74,85) size 546x74
+            text run at (74,85) width 540: "Fourscore and seven years ago our fathers brought forth"
+            text run at (614,85) width 6: " "
+            text run at (74,133) 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 body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.png
index a3539b5..3c4103d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.txt
index dce4086..11ba3d8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-line-end-ws-002-expected.txt
@@ -70,10 +70,10 @@
   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 546x76
-          RenderText {#text} at (74,84) size 546x76
-            text run at (74,84) width 540: "Fourscore and seven years ago our fathers brought forth"
-            text run at (614,84) width 6: " "
-            text run at (74,132) width 304: "onthis continent a new nation..."
+        RenderInline {SPAN} at (0,0) size 546x74
+          RenderText {#text} at (74,85) size 546x74
+            text run at (74,85) width 540: "Fourscore and seven years ago our fathers brought forth"
+            text run at (614,85) width 6: " "
+            text run at (74,133) 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 body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.png
new file mode 100644
index 0000000..637cf3a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.txt
index 5d0801fc..12b5928 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-001-expected.txt
@@ -28,15 +28,15 @@
 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 784x160 [border: (2px solid #FF0000)]
-        RenderBlock {UL} at (14,38) size 756x84
-          RenderListItem {LI} at (40,0) size 716x28
-            RenderText {#text} at (0,0) size 84x28
+      RenderBlock {DIV} at (0,0) size 784x154 [border: (2px solid #FF0000)]
+        RenderBlock {UL} at (14,38) size 756x78
+          RenderListItem {LI} at (40,0) size 716x26
+            RenderText {#text} at (0,0) size 84x26
               text run at (0,0) width 84: "onethree"
-          RenderListItem {LI} at (40,28) size 716x28
-            RenderText {#text} at (0,0) size 40x28
+          RenderListItem {LI} at (40,26) size 716x26
+            RenderText {#text} at (0,0) size 40x26
               text run at (0,0) width 40: "four"
-          RenderListItem {LI} at (40,56) size 716x28
-            RenderText {#text} at (0,0) size 38x28
+          RenderListItem {LI} at (40,52) size 716x26
+            RenderText {#text} at (0,0) size 38x26
               text run at (0,0) width 38: "five"
 caret: position 3 of child 0 {#text} of child 1 {LI} of child 1 {UL} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.png
new file mode 100644
index 0000000..798d7d9
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.txt
index 9f7cd2d..877eba0 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-listitem-002-expected.txt
@@ -34,25 +34,25 @@
 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 784x216 [border: (2px solid #FF0000)]
-        RenderBlock {UL} at (14,38) size 756x140
-          RenderListItem {LI} at (40,0) size 716x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 35x28
+      RenderBlock {DIV} at (0,0) size 784x206 [border: (2px solid #FF0000)]
+        RenderBlock {UL} at (14,38) size 756x130
+          RenderListItem {LI} at (40,0) size 716x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 35x26
               text run at (0,0) width 35: "one"
-          RenderListItem {LI} at (40,28) size 716x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 36x28
+          RenderListItem {LI} at (40,26) size 716x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "two"
-          RenderListItem {LI} at (40,56) size 716x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderBR {BR} at (0,0) size 0x28
-          RenderListItem {LI} at (40,84) size 716x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 40x28
+          RenderListItem {LI} at (40,52) size 716x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderBR {BR} at (0,0) size 0x26
+          RenderListItem {LI} at (40,78) size 716x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 40x26
               text run at (0,0) width 40: "four"
-          RenderListItem {LI} at (40,112) size 716x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 38x28
+          RenderListItem {LI} at (40,104) size 716x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 38x26
               text run at (0,0) width 38: "five"
 caret: position 0 of child 0 {BR} of child 5 {LI} of child 1 {UL} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.png
index a5ac3a5..e3735e6 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.txt
index 1fed1f0..5cddf89 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-selection-001-expected.txt
@@ -13,9 +13,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 77x28
-          RenderText {#text} at (14,14) size 77x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 77x26
+          RenderText {#text} at (14,14) size 77x26
             text run at (14,14) width 43: " bar "
             text run at (57,14) width 34: "baz"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.png
index fba1bd8..07a3ff8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.txt
new file mode 100644
index 0000000..5fdabf4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-001-expected.txt
@@ -0,0 +1,27 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 2 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 2 of #text > SPAN > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 2 of #text > SPAN > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 80x26
+          RenderInline {SPAN} at (0,0) size 48x26
+            RenderText {#text} at (14,14) size 48x26
+              text run at (14,14) width 48: "\x{9}"
+          RenderText {#text} at (62,14) size 32x26
+            text run at (62,14) width 32: "foo"
+        RenderText {#text} at (0,0) size 0x0
+caret: position 1 of child 0 {#text} of child 0 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.png
new file mode 100644
index 0000000..e2a2bb6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.txt
index 5bc7d85..d2ea335 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-002-expected.txt
@@ -19,11 +19,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 48x28
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 48x26
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderInline {SPAN} at (0,0) size 16x28
-            RenderText {#text} at (46,14) size 16x28
+          RenderInline {SPAN} at (0,0) size 16x26
+            RenderText {#text} at (46,14) size 16x26
               text run at (46,14) width 16: "\x{9}"
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.png
index bb641bf..40a990c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.txt
index 36e585a..ede24e934 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-003-expected.txt
@@ -19,14 +19,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 60x28
-          RenderText {#text} at (14,14) size 20x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 60x26
+          RenderText {#text} at (14,14) size 20x26
             text run at (14,14) width 20: "fo"
-          RenderInline {SPAN} at (0,0) size 28x28
-            RenderText {#text} at (34,14) size 28x28
+          RenderInline {SPAN} at (0,0) size 28x26
+            RenderText {#text} at (34,14) size 28x26
               text run at (34,14) width 28: "\x{9}"
-          RenderText {#text} at (62,14) size 12x28
+          RenderText {#text} at (62,14) size 12x26
             text run at (62,14) width 12: "o"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-tab-004-expected.png
new file mode 100644
index 0000000..607b699
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-tab-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-tab-004-expected.txt
new file mode 100644
index 0000000..64df335
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-tab-004-expected.txt
@@ -0,0 +1,30 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 2 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 2 of #text > SPAN > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > SPAN > SPAN > DIV > BODY > HTML > #document to 2 of #text > SPAN > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 80x52
+          RenderBR {BR} at (14,14) size 0x26
+          RenderInline {SPAN} at (0,0) size 48x26
+            RenderText {#text} at (14,40) size 48x26
+              text run at (14,40) width 48: "\x{9}"
+          RenderText {#text} at (62,40) size 32x26
+            text run at (62,40) width 32: "foo"
+        RenderText {#text} at (0,0) size 0x0
+caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.png
new file mode 100644
index 0000000..cf4b620
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.txt
index ede608c..755c5a3 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-to-select-table-expected.txt
@@ -30,22 +30,22 @@
 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 784x52
-        RenderTable {TABLE} at (0,0) size 86x52 [border: (3px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (3,3) size 80x46
-            RenderTableRow {TR} at (0,2) size 80x20
-              RenderTableCell {TD} at (2,2) size 27x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 25x19
+      RenderBlock {DIV} at (0,0) size 784x50
+        RenderTable {TABLE} at (0,0) size 86x50 [border: (3px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (3,3) size 80x44
+            RenderTableRow {TR} at (0,2) size 80x19
+              RenderTableCell {TD} at (2,2) size 27x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 25x17
                   text run at (1,1) width 25: "Foo"
-              RenderTableCell {TD} at (31,2) size 47x20 [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 22x19
+              RenderTableCell {TD} at (31,2) size 47x19 [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 22x17
                   text run at (1,1) width 22: "baz"
-            RenderTableRow {TR} at (0,24) size 80x20
-              RenderTableCell {TD} at (2,24) size 27x20 [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 20x19
+            RenderTableRow {TR} at (0,23) size 80x19
+              RenderTableCell {TD} at (2,23) size 27x19 [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 20x17
                   text run at (1,1) width 20: "bar"
-              RenderTableCell {TD} at (31,24) size 47x20 [r=1 c=1 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 45x19
+              RenderTableCell {TD} at (31,23) size 47x19 [r=1 c=1 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 45x17
                   text run at (1,1) width 45: "buffalo"
 selection start: position 0 of child 1 {TABLE} of child 0 {DIV} of body
 selection end:   position 2 of child 1 {TABLE} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.png
index a5ac3a5..e3735e6 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.txt
index 1fed1f0..5cddf89 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-001-expected.txt
@@ -13,9 +13,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 77x28
-          RenderText {#text} at (14,14) size 77x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 77x26
+          RenderText {#text} at (14,14) size 77x26
             text run at (14,14) width 43: " bar "
             text run at (57,14) width 34: "baz"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.png
new file mode 100644
index 0000000..f68d540
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.txt
index 44d41a5..26f6632 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-trailing-ws-002-expected.txt
@@ -25,12 +25,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 40x56
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 40x52
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderBR {BR} at (46,36) size 0x0
-          RenderText {#text} at (14,42) size 40x28
-            text run at (14,42) width 40: " baz"
+          RenderBR {BR} at (46,35) size 0x0
+          RenderText {#text} at (14,40) size 40x26
+            text run at (14,40) width 40: " baz"
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.png
new file mode 100644
index 0000000..9f747d4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.txt
index 4e3772b..de04f1b 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-001-expected.txt
@@ -40,24 +40,24 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 750x56
-          RenderText {#text} at (14,14) size 97x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 750x52
+          RenderText {#text} at (14,14) size 97x26
             text run at (14,14) width 97: "in Liberty"
-          RenderInline {I} at (0,0) size 117x28
-            RenderText {#text} at (111,14) size 117x28
+          RenderInline {I} at (0,0) size 117x26
+            RenderText {#text} at (111,14) size 117x26
               text run at (111,14) width 21: "F "
               text run at (132,14) width 96: "and seven"
-          RenderText {#text} at (228,14) size 63x28
+          RenderText {#text} at (228,14) size 63x26
             text run at (228,14) width 63: " years "
-          RenderInline {B} at (0,0) size 15x28
-            RenderText {#text} at (291,14) size 15x28
+          RenderInline {B} at (0,0) size 15x26
+            RenderText {#text} at (291,14) size 15x26
               text run at (291,14) width 15: "s "
-          RenderText {#text} at (306,14) size 750x56
+          RenderText {#text} at (306,14) size 750x52
             text run at (306,14) width 110: "our fathers "
             text run at (416,14) width 342: "f upon this continent, a new nation,"
             text run at (758,14) width 6: " "
-            text run at (14,42) width 232: "conceived    in Liberty, "
-            text run at (246,42) width 386: "and dedicated to the proposition that all"
+            text run at (14,40) width 232: "conceived    in Liberty, "
+            text run at (246,40) width 386: "and dedicated to the proposition that all"
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.png
new file mode 100644
index 0000000..9bdb039
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.txt
index bdd82ea..8396a95 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-002-expected.txt
@@ -41,30 +41,30 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 751x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 751x34
           text run at (0,0) width 259: "This testcase demonstrates a bug (9441). "
           text run at (259,0) width 446: "When 'as' is deleted, there should be a space before and after the caret. "
           text run at (705,0) width 46: "Editing"
-          text run at (0,18) width 531: "produces a tree that should result in two spaces, but for some reason it isn't rendered."
-      RenderBlock {DIV} at (0,52) size 784x84 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 741x56
-          RenderText {#text} at (14,14) size 97x28
+          text run at (0,17) width 531: "produces a tree that should result in two spaces, but for some reason it isn't rendered."
+      RenderBlock {DIV} at (0,50) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 741x52
+          RenderText {#text} at (14,14) size 97x26
             text run at (14,14) width 97: "in Liberty"
-          RenderInline {I} at (0,0) size 117x28
-            RenderText {#text} at (111,14) size 117x28
+          RenderInline {I} at (0,0) size 117x26
+            RenderText {#text} at (111,14) size 117x26
               text run at (111,14) width 21: "F "
               text run at (132,14) width 96: "and seven"
-          RenderText {#text} at (228,14) size 63x28
+          RenderText {#text} at (228,14) size 63x26
             text run at (228,14) width 63: " years "
-          RenderInline {B} at (0,0) size 6x28
-            RenderText {#text} at (291,14) size 6x28
+          RenderInline {B} at (0,0) size 6x26
+            RenderText {#text} at (291,14) size 6x26
               text run at (291,14) width 6: " "
-          RenderText {#text} at (297,14) size 741x56
+          RenderText {#text} at (297,14) size 741x52
             text run at (297,14) width 110: "our fathers "
             text run at (407,14) width 342: "f upon this continent, a new nation,"
             text run at (749,14) width 6: " "
-            text run at (14,42) width 232: "conceived    in Liberty, "
-            text run at (246,42) width 386: "and dedicated to the proposition that all"
+            text run at (14,40) width 232: "conceived    in Liberty, "
+            text run at (246,40) width 386: "and dedicated to the proposition that all"
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 2 {#text} of child 1 {SPAN} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.png
index c03d30b..0d42eee 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.txt
index 6a84e46..6da0fc7 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-003-expected.txt
@@ -17,14 +17,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 75x28
-          RenderText {#text} at (14,14) size 37x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 75x26
+          RenderText {#text} at (14,14) size 37x26
             text run at (14,14) width 37: "bar "
-          RenderInline {SPAN} at (0,0) size 6x28
-            RenderText {#text} at (51,14) size 6x28
+          RenderInline {SPAN} at (0,0) size 6x26
+            RenderText {#text} at (51,14) size 6x26
               text run at (51,14) width 6: " "
-          RenderText {#text} at (57,14) size 32x28
+          RenderText {#text} at (57,14) size 32x26
             text run at (57,14) width 32: "foo"
         RenderText {#text} at (0,0) size 0x0
 caret: position 4 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.png
index 5d644be..f6578e8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.txt
index 182bd1f..8185cee 100644
--- a/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/delete-ws-fixup-004-expected.txt
@@ -17,14 +17,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 87x28
-          RenderText {#text} at (14,14) size 37x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 87x26
+          RenderText {#text} at (14,14) size 37x26
             text run at (14,14) width 37: "bar "
-          RenderInline {SPAN} at (0,0) size 18x28
-            RenderText {#text} at (51,14) size 18x28
+          RenderInline {SPAN} at (0,0) size 18x26
+            RenderText {#text} at (51,14) size 18x26
               text run at (51,14) width 18: "   "
-          RenderText {#text} at (69,14) size 32x28
+          RenderText {#text} at (69,14) size 32x26
             text run at (69,14) width 32: "foo"
         RenderText {#text} at (0,0) size 0x0
 caret: position 4 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.png b/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.png
new file mode 100644
index 0000000..4ed46bb
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.txt b/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.txt
index 5d1f38e..ad378e0 100644
--- a/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/forward-delete-expected.txt
@@ -18,13 +18,13 @@
 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 731x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 731x52
           text run at (14,14) width 725: "Should see \"bar\" in the red box. Insertion point should be at the start of the"
           text run at (739,14) width 6: " "
-          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)]
-          RenderText {#text} at (14,14) size 31x28
+          text run at (14,40) width 102: "document."
+      RenderBlock {DIV} at (0,104) size 784x54
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 31x26
             text run at (14,14) width 31: "bar"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.png b/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.png
index 11784f6..1caa415 100644
--- a/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.txt b/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.txt
index ffd8abb..790e6c9 100644
--- a/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/list-item-1-expected.txt
@@ -15,16 +15,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 713x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 713x17
           text run at (0,0) width 264: "This test deletes the contents of a sub-list. "
           text run at (264,0) width 449: "Then it deletes the empty list item. The list item below it should remain."
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock {UL} at (0,0) size 784x36
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderBR {BR} at (0,0) size 0x19
-          RenderListItem {LI} at (40,18) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderBR {BR} at (0,0) size 0x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock {UL} at (0,0) size 784x34
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderBR {BR} at (0,0) size 0x17
+          RenderListItem {LI} at (40,17) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 0 {BR} of child 0 {LI} of child 0 {UL} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.png b/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.png
index 68aa12c..1a54314 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.txt b/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.txt
index d5bd8c5..02691c8 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-different-styles-expected.txt
@@ -10,16 +10,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 749x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 749x34
           text run at (0,0) width 345: "This places the caret before the 'b' in 'bar' and Deletes. "
           text run at (345,0) width 404: "'foo' and 'bar' should end up on the same line, but neither should"
-          text run at (0,18) width 82: "change style."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 82: "change style."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderInline {SPAN} at (0,0) size 24x19
-            RenderText {#text} at (21,0) size 24x19
+          RenderInline {SPAN} at (0,0) size 24x17
+            RenderText {#text} at (21,0) size 24x17
               text run at (21,0) width 24: "bar"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.png b/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.png
index 8c54484..80ebf77 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.txt b/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.txt
index 6001da9..607d0756 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-endOfParagraph-expected.txt
@@ -12,22 +12,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 747x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 747x34
           text run at (0,0) width 747: "When the selection to delete ends at the end of a paragraph, that paragraph will be completely deleted, but a <br> or an"
-          text run at (0,18) width 555: "empty block will remain. Merging must happen to remove that <br> or prune that block."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 763x37
+          text run at (0,17) width 555: "empty block will remain. Merging must happen to remove that <br> or prune that block."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 763x34
           text run at (0,0) width 763: "This test illustrates a case where merging wasn't allowed to happen just because the end of the selection to delete was in a"
-          text run at (0,18) width 237: "fully selected line, which is nonsense."
-      RenderBlock {P} at (0,104) size 784x54
-        RenderText {#text} at (0,0) size 779x55
+          text run at (0,17) width 237: "fully selected line, which is nonsense."
+      RenderBlock {P} at (0,100) size 784x51
+        RenderText {#text} at (0,0) size 779x51
           text run at (0,0) width 315: "Fixing that bug exposed a problem with merging. "
           text run at (315,0) width 462: "If deletion empties out the block that contained the start of the selection to"
-          text run at (0,18) width 472: "delete, that block can collapse away and become impossible to merge into. "
-          text run at (472,18) width 307: "So we insert a placeholder to prop it open so that"
-          text run at (0,36) width 142: "the merge can happen."
-      RenderBlock {DIV} at (5,174) size 774x32 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (6,6) size 762x20 [border: (1px solid #FF0000)]
-          RenderBR {BR} at (1,1) size 0x19
+          text run at (0,17) width 472: "delete, that block can collapse away and become impossible to merge into. "
+          text run at (472,17) width 307: "So we insert a placeholder to prop it open so that"
+          text run at (0,34) width 142: "the merge can happen."
+      RenderBlock {DIV} at (5,167) size 774x31 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (6,6) size 762x19 [border: (1px solid #FF0000)]
+          RenderBR {BR} at (1,1) size 0x17
 caret: position 0 of child 0 {BR} of child 0 {DIV} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.png b/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.png
index c729805..414ec4c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.txt b/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.txt
index eb3e35f..3e26188 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-no-br-expected.txt
@@ -10,20 +10,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 782x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 782x34
           text run at (0,0) width 782: "This places the caret before the 'T' in 'Two' and Deletes. 'One' and 'Two' should be merged but the blocks containing 'Three'"
-          text run at (0,18) width 230: "and 'Four' should remain untouched."
-      RenderBlock {DIV} at (8,52) size 768x176
-        RenderBlock {DIV} at (16,16) size 736x40 [border: (3px solid #FF0000)]
-          RenderText {#text} at (11,11) size 57x19
+          text run at (0,17) width 230: "and 'Four' should remain untouched."
+      RenderBlock {DIV} at (8,50) size 768x173
+        RenderBlock {DIV} at (16,16) size 736x39 [border: (3px solid #FF0000)]
+          RenderText {#text} at (11,11) size 57x17
             text run at (11,11) width 57: "OneTwo"
-        RenderBlock {DIV} at (16,64) size 736x96 [border: (3px solid #008000)]
+        RenderBlock {DIV} at (16,63) size 736x94 [border: (3px solid #008000)]
           RenderBlock (anonymous) at (11,11) size 714x0
-          RenderBlock {DIV} at (19,19) size 698x40 [border: (3px solid #000000)]
-            RenderText {#text} at (11,11) size 37x19
+          RenderBlock {DIV} at (19,19) size 698x39 [border: (3px solid #000000)]
+            RenderText {#text} at (11,11) size 37x17
               text run at (11,11) width 37: "Three"
-          RenderBlock (anonymous) at (11,67) size 714x18
-            RenderText {#text} at (0,0) size 30x19
+          RenderBlock (anonymous) at (11,66) size 714x17
+            RenderText {#text} at (0,0) size 30x17
               text run at (0,0) width 30: "Four"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.png b/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.png
index cc62765..1587bce 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.txt b/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.txt
index 495413e..8b00021 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-unrendered-space-expected.txt
@@ -11,16 +11,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 534x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 534x17
           text run at (0,0) width 534: "This tests deleting the line break before a paragraph that ends with unrendered space."
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderText {#text} at (21,0) size 20x19
+          RenderText {#text} at (21,0) size 20x17
             text run at (21,0) width 20: "bar"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.png b/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.png
new file mode 100644
index 0000000..ce46ea3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.txt b/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.txt
index aa0b55f..7861dc1 100644
--- a/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/merge-whitespace-pre-expected.txt
@@ -3,16 +3,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x579
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 743x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 743x34
           text run at (0,0) width 364: "This test places the caret before the 'b' in 'bar' and Delete. "
           text run at (364,0) width 379: "Afterword, 'foobar' should be in the first paragraph and 'baz'"
-          text run at (0,18) width 152: "should be in the second."
-      RenderBlock {DIV} at (0,52) size 784x46
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 41x19
+          text run at (0,17) width 152: "should be in the second."
+      RenderBlock {DIV} at (0,50) size 784x45
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 41x17
             text run at (0,0) width 41: "foobar"
-        RenderBlock {PRE} at (0,31) size 784x15
+        RenderBlock {PRE} at (0,30) size 784x15
           RenderText {#text} at (0,0) size 24x15
             text run at (0,0) width 24: "baz"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.png
new file mode 100644
index 0000000..f65363c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.txt
index ae09705..2f7787c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/move-nodes-001-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x148
-  RenderBlock {HTML} at (0,0) size 800x148
-    RenderBody {BODY} at (8,8) size 784x132
-      RenderBlock {DIV} at (0,0) size 784x108 [border: (3px solid #FF0000)]
-        RenderBlock (anonymous) at (3,3) size 778x18
-          RenderText {#text} at (0,0) size 134x19
+layer at (0,0) size 800x144
+  RenderBlock {HTML} at (0,0) size 800x144
+    RenderBody {BODY} at (8,8) size 784x128
+      RenderBlock {DIV} at (0,0) size 784x105 [border: (3px solid #FF0000)]
+        RenderBlock (anonymous) at (3,3) size 778x17
+          RenderText {#text} at (0,0) size 134x17
             text run at (0,0) width 134: "Destination container"
-        RenderBlock {P} at (3,37) size 778x18
-          RenderText {#text} at (0,0) size 23x19
+        RenderBlock {P} at (3,36) size 778x17
+          RenderText {#text} at (0,0) size 23x17
             text run at (0,0) width 23: "one"
-        RenderBlock {P} at (3,71) size 778x18
-          RenderText {#text} at (0,0) size 24x19
+        RenderBlock {P} at (3,69) size 778x17
+          RenderText {#text} at (0,0) size 24x17
             text run at (0,0) width 24: "two"
-      RenderBlock {DIV} at (0,108) size 784x24 [border: (3px solid #0000FF)]
-        RenderText {#text} at (3,3) size 106x19
+      RenderBlock {DIV} at (0,105) size 784x23 [border: (3px solid #0000FF)]
+        RenderText {#text} at (3,3) size 106x17
           text run at (3,3) width 106: "Source container"
diff --git a/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.png b/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.png
index 57b5b43..e83f78e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.txt b/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.txt
index 3284754..82d5350 100644
--- a/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/non-smart-delete-expected.txt
@@ -12,25 +12,25 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 642x28
-            text run at (0,28) width 642: "Non-smart delete when deleting a word selected via the keyboard."
-        RenderBlock {DIV} at (14,86) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 642x26
+            text run at (0,26) width 642: "Non-smart delete when deleting a word selected via the keyboard."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 715x56
-            text run at (0,28) width 715: "The first word should be deleted. The space following it should remain. It"
-            text run at (0,56) width 210: "should look like this: "
-          RenderBR {BR} at (210,78) size 0x0
-          RenderText {#text} at (0,84) size 97x28
-            text run at (0,84) width 97: "\" bar baz\""
-      RenderBlock {DIV} at (0,236) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 77x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 715x52
+            text run at (0,26) width 715: "The first word should be deleted. The space following it should remain. It"
+            text run at (0,52) width 210: "should look like this: "
+          RenderBR {BR} at (210,73) size 0x0
+          RenderText {#text} at (0,78) size 97x26
+            text run at (0,78) width 97: "\" bar baz\""
+      RenderBlock {DIV} at (0,224) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 77x26
             text run at (2,2) width 77: " bar baz"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.png b/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.png
index 063b0ba..c78fd23 100644
--- a/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.txt b/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.txt
index 59a344b..eff675a 100644
--- a/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/pruning-after-merge-2-expected.txt
@@ -11,21 +11,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 760x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 760x34
           text run at (0,0) width 662: "This tests to see if deletion correctly prunes the containers of the paragraph being moved during a merge. "
           text run at (662,0) width 98: "You should see"
-          text run at (0,18) width 24: "'foo"
-        RenderInline {B} at (0,0) size 24x19
-          RenderText {#text} at (24,18) size 24x19
-            text run at (24,18) width 24: "bar"
-        RenderText {#text} at (48,18) size 50x19
-          text run at (48,18) width 50: "' below."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 24: "'foo"
+        RenderInline {B} at (0,0) size 24x17
+          RenderText {#text} at (24,17) size 24x17
+            text run at (24,17) width 24: "bar"
+        RenderText {#text} at (48,17) size 50x17
+          text run at (48,17) width 50: "' below."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderInline {SPAN} at (0,0) size 24x19
-            RenderText {#text} at (21,0) size 24x19
+          RenderInline {SPAN} at (0,0) size 24x17
+            RenderText {#text} at (21,0) size 24x17
               text run at (21,0) width 24: "bar"
 caret: position 3 of child 0 {#text} of child 0 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.png b/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.png
index 82dc75e..a86574d 100644
--- a/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.txt b/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.txt
index c7204bf..2e3078e 100644
--- a/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-001-expected.txt
@@ -12,25 +12,25 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 498x28
-            text run at (0,28) width 498: "Smart delete when deleting the first word on a line."
-        RenderBlock {DIV} at (14,86) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 498x26
+            text run at (0,26) width 498: "Smart delete when deleting the first word on a line."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 714x56
-            text run at (0,28) width 714: "The first word and the space following the first word should be deleted. It"
-            text run at (0,56) width 202: "should like this this: "
-          RenderBR {BR} at (202,78) size 0x0
-          RenderText {#text} at (0,84) size 71x28
-            text run at (0,84) width 71: "bar baz"
-      RenderBlock {DIV} at (0,236) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 71x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 714x52
+            text run at (0,26) width 714: "The first word and the space following the first word should be deleted. It"
+            text run at (0,52) width 202: "should like this this: "
+          RenderBR {BR} at (202,73) size 0x0
+          RenderText {#text} at (0,78) size 71x26
+            text run at (0,78) width 71: "bar baz"
+      RenderBlock {DIV} at (0,224) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 71x26
             text run at (2,2) width 71: "bar baz"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.png b/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.png
index d95e3b0..2cec0ac 100644
--- a/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.txt b/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.txt
new file mode 100644
index 0000000..26a5296
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-002-expected.txt
@@ -0,0 +1,38 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 5 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 8 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 5 of #text > DIV > DIV > BODY > HTML > #document to 8 of #text > DIV > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
+            text run at (0,0) width 67: "Tests: "
+          RenderBR {BR} at (0,0) size 0x0
+          RenderText {#text} at (0,26) size 522x26
+            text run at (0,26) width 522: "Smart delete when deleting the second word of a line."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderText {#text} at (0,0) size 189x26
+            text run at (0,0) width 189: "Expected Results: "
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 738x52
+            text run at (0,26) width 738: "The second word and the space before the second word should be deleted. It"
+            text run at (0,52) width 202: "should like this this: "
+          RenderBR {BR} at (202,73) size 0x0
+          RenderText {#text} at (0,78) size 72x26
+            text run at (0,78) width 72: "foo baz"
+      RenderBlock {DIV} at (0,224) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 72x26
+            text run at (2,2) width 72: "foo baz"
+caret: position 4 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.png b/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.png
new file mode 100644
index 0000000..e2b7eca
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.txt b/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.txt
index 835b86e..e28fb2c 100644
--- a/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.txt
@@ -13,15 +13,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 768x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 768x34
           text run at (0,0) width 392: "This tests deleting a selection created with a word granularity. "
           text run at (392,0) width 348: "To run it manually, double click on 'bar' and hit delete. "
           text run at (740,0) width 28: "You"
-          text run at (0,18) width 127: "should see 'foo baz'."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 127: "should see 'foo baz'."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "foo"
-        RenderText {#text} at (21,0) size 26x19
+        RenderText {#text} at (21,0) size 26x17
           text run at (21,0) width 26: " baz"
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.png b/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.png
new file mode 100644
index 0000000..5b69c5b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.txt b/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.txt
index 1b79a68..78500a4 100644
--- a/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.txt
@@ -13,15 +13,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 745x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 745x34
           text run at (0,0) width 392: "This tests deleting a selection created with a word granularity. "
           text run at (392,0) width 353: "To run it manually, double click on 'bar' and hit forward"
-          text run at (0,18) width 45: "delete. "
-          text run at (45,18) width 159: "You should see 'foo baz'."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 45: "delete. "
+          text run at (45,17) width 159: "You should see 'foo baz'."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "foo"
-        RenderText {#text} at (21,0) size 26x19
+        RenderText {#text} at (21,0) size 26x17
           text run at (21,0) width 26: " baz"
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.png b/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.png
index 292b31a..2df2fdc 100644
--- a/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.txt b/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.txt
index 0095e23..6a7eb32 100644
--- a/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/table-cells-expected.txt
@@ -10,20 +10,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 717x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 717x17
           text run at (0,0) width 361: "This tests deletion of a selection that spans multiple cells. "
           text run at (361,0) width 356: "Just table content should be removed, not table structure."
-      RenderBlock {DIV} at (0,34) size 784x28
-        RenderTable {TABLE} at (0,0) size 343x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 341x26
-            RenderTableRow {TR} at (0,2) size 341x22
-              RenderTableCell {TD} at (2,2) size 157x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {DIV} at (2,2) size 153x18
-                  RenderText {#text} at (0,0) size 153x19
+      RenderBlock {DIV} at (0,33) size 784x27
+        RenderTable {TABLE} at (0,0) size 343x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 341x25
+            RenderTableRow {TR} at (0,2) size 341x21
+              RenderTableCell {TD} at (2,2) size 157x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (2,2) size 153x17
+                  RenderText {#text} at (0,0) size 153x17
                     text run at (0,0) width 153: "These two pieces of text"
-              RenderTableCell {TD} at (161,2) size 178x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderBlock {DIV} at (2,2) size 174x18
-                  RenderText {#text} at (0,0) size 174x19
+              RenderTableCell {TD} at (161,2) size 178x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderBlock {DIV} at (2,2) size 174x17
+                  RenderText {#text} at (0,0) size 174x17
                     text run at (0,0) width 174: " should be in different cells."
 caret: position 24 of child 0 {#text} of child 0 {DIV} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/deleting/transpose-empty-expected.png b/LayoutTests/platform/gtk/editing/deleting/transpose-empty-expected.png
index ed60b13c..b8f7017 100644
--- a/LayoutTests/platform/gtk/editing/deleting/transpose-empty-expected.png
+++ b/LayoutTests/platform/gtk/editing/deleting/transpose-empty-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.png b/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.png
new file mode 100644
index 0000000..46c54b4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.txt b/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.txt
index 7924466..cb2e31a 100644
--- a/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.txt
+++ b/LayoutTests/platform/gtk/editing/deleting/type-delete-after-quote-expected.txt
@@ -3,13 +3,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {DIV} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 775x37
+      RenderBlock {DIV} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 775x34
           text run at (0,0) width 775: "When your cursor is after an empty blockquote, hitting delete should bring the cursor (and the content following the cursor)"
-          text run at (0,18) width 422: "back into the blockquote, instead of deleting the empty blockquote."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderBlock {BLOCKQUOTE} at (0,0) size 744x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (12,0) size 140x19
+          text run at (0,17) width 422: "back into the blockquote, instead of deleting the empty blockquote."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderBlock {BLOCKQUOTE} at (0,0) size 744x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (12,0) size 140x17
             text run at (12,0) width 140: "This should be quoted"
-        RenderBlock (anonymous) at (0,34) size 784x0
+        RenderBlock (anonymous) at (0,33) size 784x0
 caret: position 0 of child 0 {#text} of child 0 {BLOCKQUOTE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4580583-1-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4580583-1-expected.png
new file mode 100644
index 0000000..a9904f9
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4580583-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4580583-1-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4580583-1-expected.txt
new file mode 100644
index 0000000..9280ee0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4580583-1-expected.txt
@@ -0,0 +1,34 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 767x34
+          text run at (0,0) width 474: "This tests to make sure that breaking a quoted list doesn't renumber the list. "
+          text run at (474,0) width 293: "You should see a list broken in two below, the"
+          text run at (0,17) width 186: "list items numbered 1, 2, 3, 4."
+      RenderBlock {DIV} at (0,50) size 784x117
+        RenderBlock {BLOCKQUOTE} at (2,0) size 742x34 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {OL} at (2,0) size 740x34
+            RenderListItem {LI} at (40,0) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "1"
+              RenderText {#text} at (0,0) size 27x17
+                text run at (0,0) width 27: "One"
+            RenderListItem {LI} at (40,17) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "2"
+              RenderText {#text} at (0,0) size 30x17
+                text run at (0,0) width 30: "Two"
+        RenderBlock (anonymous) at (0,50) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {BLOCKQUOTE} at (2,83) size 742x34 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {OL} at (2,0) size 740x34
+            RenderListItem {LI} at (40,0) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "3"
+              RenderText {#text} at (0,0) size 37x17
+                text run at (0,0) width 37: "Three"
+            RenderListItem {LI} at (40,17) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "4"
+              RenderText {#text} at (0,0) size 30x17
+                text run at (0,0) width 30: "Four"
+caret: position 0 of child 2 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4580583-2-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4580583-2-expected.png
new file mode 100644
index 0000000..a6c2dd2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4580583-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4580583-2-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4580583-2-expected.txt
new file mode 100644
index 0000000..2bc968b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4580583-2-expected.txt
@@ -0,0 +1,38 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 767x34
+          text run at (0,0) width 474: "This tests to make sure that breaking a quoted list doesn't renumber the list. "
+          text run at (474,0) width 293: "You should see a list broken in two below, the"
+          text run at (0,17) width 668: "list items numbered 1, 2, 2, 3, 4. Two list items will be numbered '2' because the original item '2' was split."
+      RenderBlock {DIV} at (0,50) size 784x134
+        RenderBlock {BLOCKQUOTE} at (2,0) size 742x34 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {OL} at (2,0) size 740x34
+            RenderListItem {LI} at (40,0) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "1"
+              RenderText {#text} at (0,0) size 27x17
+                text run at (0,0) width 27: "One"
+            RenderListItem {LI} at (40,17) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "2"
+              RenderText {#text} at (0,0) size 30x17
+                text run at (0,0) width 30: "Two"
+        RenderBlock (anonymous) at (0,50) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {BLOCKQUOTE} at (2,83) size 742x51 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {OL} at (2,0) size 740x51
+            RenderListItem {LI} at (40,0) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "2"
+              RenderText {#text} at (0,0) size 30x17
+                text run at (0,0) width 30: "Two"
+            RenderListItem {LI} at (40,17) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "3"
+              RenderText {#text} at (0,0) size 37x17
+                text run at (0,0) width 37: "Three"
+            RenderListItem {LI} at (40,34) size 700x17
+              RenderListMarker at (-20,0) size 16x17: "4"
+              RenderText {#text} at (0,0) size 30x17
+                text run at (0,0) width 30: "Four"
+caret: position 0 of child 2 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.png
new file mode 100644
index 0000000..75dc04e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.txt
index 7fa84d7..84a108c 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/4641880-1-expected.txt
@@ -11,20 +11,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 756x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 756x34
           text run at (0,0) width 511: "This tests InsertUnorderedList on a selection that ends at the start of a paragraph. "
           text run at (511,0) width 245: "Since we don't paint the gap before the"
-          text run at (0,18) width 756: "paragraph for most selections like this, we don't perform InsertUnorderedList on the paragraph that the selection ends in."
-      RenderBlock {DIV} at (0,52) size 784x52
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 213x19
+          text run at (0,17) width 756: "paragraph for most selections like this, we don't perform InsertUnorderedList on the paragraph that the selection ends in."
+      RenderBlock {DIV} at (0,50) size 784x50
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 213x17
               text run at (0,0) width 213: "This paragraph should be in a list."
-        RenderBlock (anonymous) at (0,34) size 784x18
-          RenderText {#text} at (0,0) size 237x19
+        RenderBlock (anonymous) at (0,33) size 784x17
+          RenderText {#text} at (0,0) size 237x17
             text run at (0,0) width 237: "This paragraph should not be in a list."
-          RenderBR {BR} at (237,15) size 0x0
+          RenderBR {BR} at (237,14) size 0x0
 selection start: position 0 of child 0 {#text} of child 0 {LI} of child 0 {UL} of child 2 {DIV} of body
 selection end:   position 35 of child 0 {#text} of child 0 {LI} of child 0 {UL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.png
new file mode 100644
index 0000000..db8d457
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.txt
index 3c4bed6..937e96c3 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/4641880-2-expected.txt
@@ -11,18 +11,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 424: "This tests Indent on a selection that ends at the start of a paragraph. "
           text run at (424,0) width 334: "Since we don't paint the gap before the paragraph for"
-          text run at (0,18) width 580: "most selections like this, we don't perform Indent on the paragraph that the selection ends in."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x18
-          RenderText {#text} at (0,0) size 222x19
+          text run at (0,17) width 580: "most selections like this, we don't perform Indent on the paragraph that the selection ends in."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x17
+          RenderText {#text} at (0,0) size 222x17
             text run at (0,0) width 222: "This paragraph should be indented."
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 246x19
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 246x17
             text run at (0,0) width 246: "This paragraph should not be indented."
-          RenderBR {BR} at (246,15) size 0x0
+          RenderBR {BR} at (246,14) size 0x0
 selection start: position 1 of child 0 {#text} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
 selection end:   position 35 of child 0 {#text} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.png
new file mode 100644
index 0000000..aa6b3b1
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.txt
index a3c5899..9b5a1b4 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/4747450-expected.txt
@@ -3,24 +3,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 737x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 737x34
           text run at (0,0) width 289: "This test for a bug in Insert{Un}OrderedList. "
           text run at (289,0) width 448: "Inside an empty editable region, a new paragraph is added, then a list is"
-          text run at (0,18) width 53: "created. "
-          text run at (53,18) width 128: "The caret should be "
-        RenderInline {B} at (0,0) size 39x19
-          RenderText {#text} at (181,18) size 39x19
-            text run at (181,18) width 39: "inside"
-        RenderText {#text} at (220,18) size 123x19
-          text run at (220,18) width 123: " the empty list item."
-      RenderBlock {DIV} at (0,52) size 784x52
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock {DIV} at (0,34) size 784x18
-          RenderBlock {UL} at (0,0) size 784x18
-            RenderListItem {LI} at (40,0) size 744x18
-              RenderListMarker at (-18,0) size 7x19: bullet
-              RenderBR {BR} at (0,0) size 0x19
-          RenderBlock (anonymous) at (0,34) size 784x0
+          text run at (0,17) width 53: "created. "
+          text run at (53,17) width 128: "The caret should be "
+        RenderInline {B} at (0,0) size 39x17
+          RenderText {#text} at (181,17) size 39x17
+            text run at (181,17) width 39: "inside"
+        RenderText {#text} at (220,17) size 123x17
+          text run at (220,17) width 123: " the empty list item."
+      RenderBlock {DIV} at (0,50) size 784x50
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {DIV} at (0,33) size 784x17
+          RenderBlock {UL} at (0,0) size 784x17
+            RenderListItem {LI} at (40,0) size 744x17
+              RenderListMarker at (-17,0) size 7x17: bullet
+              RenderBR {BR} at (0,0) size 0x17
+          RenderBlock (anonymous) at (0,33) size 784x0
 caret: position 0 of child 0 {BR} of child 0 {LI} of child 0 {UL} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.png
new file mode 100644
index 0000000..25a969c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.txt
index 1212f38..2679a19 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/4916402-expected.txt
@@ -3,20 +3,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 751x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 751x34
           text run at (0,0) width 751: "This tests to see that creating an ordered list item from the last list item in an unordered list creates a new list that is not a"
-          text run at (0,18) width 163: "sublist of the original one."
-      RenderBlock {DIV} at (0,52) size 784x52
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 163: "sublist of the original one."
+      RenderBlock {DIV} at (0,50) size 784x50
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-        RenderBlock {OL} at (0,34) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-21,0) size 16x19: "1"
-            RenderText {#text} at (0,0) size 20x19
+        RenderBlock {OL} at (0,33) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-20,0) size 16x17: "1"
+            RenderText {#text} at (0,0) size 20x17
               text run at (0,0) width 20: "bar"
-        RenderBlock (anonymous) at (0,68) size 784x0
+        RenderBlock (anonymous) at (0,66) size 784x0
 caret: position 0 of child 0 {#text} of child 0 {LI} of child 1 {OL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.png
new file mode 100644
index 0000000..c6c7d33
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.txt
index 9937e9a..9a2c94a 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/4916541-expected.txt
@@ -3,20 +3,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 783x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 783x34
           text run at (0,0) width 377: "This tests selection preservation during an indent operation. "
           text run at (377,0) width 406: "The selection should start and end in the same parts of the words"
-          text run at (0,18) width 320: "'foo' and 'bar' before and after the indent operation."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x36
-          RenderInline {SPAN} at (0,0) size 21x19
-            RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 320: "'foo' and 'bar' before and after the indent operation."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x34
+          RenderInline {SPAN} at (0,0) size 21x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-            RenderBR {BR} at (21,15) size 0x0
-          RenderInline {SPAN} at (0,0) size 20x19
-            RenderText {#text} at (0,18) size 20x19
-              text run at (0,18) width 20: "bar"
-        RenderBlock (anonymous) at (0,36) size 784x0
+            RenderBR {BR} at (21,14) size 0x0
+          RenderInline {SPAN} at (0,0) size 20x17
+            RenderText {#text} at (0,17) size 20x17
+              text run at (0,17) width 20: "bar"
+        RenderBlock (anonymous) at (0,34) size 784x0
 selection start: position 1 of child 0 {#text} of child 0 {SPAN} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 1 {SPAN} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.png b/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.png
new file mode 100644
index 0000000..22b33f7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.txt
index acf66c0..98fad36 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/4924441-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 775x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 775x34
           text run at (0,0) width 625: "This tests for a bug where changing the list type of an indented list would create unwanted nesting. "
           text run at (625,0) width 150: "You should see a single"
-          text run at (0,18) width 220: "ordered list item in an indented list."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderBlock {OL} at (40,0) size 744x18
-            RenderListItem {LI} at (40,0) size 704x18
-              RenderListMarker at (-21,0) size 16x19: "1"
-              RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 220: "ordered list item in an indented list."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderBlock {OL} at (40,0) size 744x17
+            RenderListItem {LI} at (40,0) size 704x17
+              RenderListMarker at (-20,0) size 16x17: "1"
+              RenderText {#text} at (0,0) size 21x17
                 text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (0,34) size 784x0
+        RenderBlock (anonymous) at (0,33) size 784x0
 caret: position 3 of child 0 {#text} of child 0 {LI} of child 0 {OL} of child 0 {UL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.png
new file mode 100644
index 0000000..9b5b36e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.txt
index 148a0aa..fcea261 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5080333-1-expected.txt
@@ -3,20 +3,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 758x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 758x51
           text run at (0,0) width 737: "This tests for a bug where changing the alignment of an image would result in a selection that wasn't the one that was"
-          text run at (0,18) width 235: "present before the alignment change. "
-          text run at (235,18) width 523: "The image should be centered and the caret should be the same before and after the"
-          text run at (0,36) width 63: "operation."
-      RenderBlock {DIV} at (0,70) size 784x139
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 235: "present before the alignment change. "
+          text run at (235,17) width 523: "The image should be centered and the caret should be the same before and after the"
+          text run at (0,34) width 63: "operation."
+      RenderBlock {DIV} at (0,67) size 784x137
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderBR {BR} at (21,15) size 0x0
-        RenderBlock {DIV} at (0,18) size 784x103
+          RenderBR {BR} at (21,14) size 0x0
+        RenderBlock {DIV} at (0,17) size 784x103
           RenderImage {IMG} at (354,0) size 76x103
-        RenderBlock (anonymous) at (0,121) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,120) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
 caret: position 0 of child 0 {IMG} of child 2 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.png
new file mode 100644
index 0000000..239d948
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.txt
index 83abc65..4cd6f7f 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5080333-2-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 783x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 783x51
           text run at (0,0) width 737: "This tests for a bug where changing the alignment of an image would result in a selection that wasn't the one that was"
-          text run at (0,18) width 235: "present before the alignment change. "
-          text run at (235,18) width 548: "The image should be centered and the selection should be the same before and after the"
-          text run at (0,36) width 63: "operation."
-      RenderBlock {DIV} at (0,70) size 784x139
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 235: "present before the alignment change. "
+          text run at (235,17) width 548: "The image should be centered and the selection should be the same before and after the"
+          text run at (0,34) width 63: "operation."
+      RenderBlock {DIV} at (0,67) size 784x137
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderBR {BR} at (21,15) size 0x0
-        RenderBlock {DIV} at (0,18) size 784x103
+          RenderBR {BR} at (21,14) size 0x0
+        RenderBlock {DIV} at (0,17) size 784x103
           RenderImage {IMG} at (354,0) size 76x103
-        RenderBlock (anonymous) at (0,121) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,120) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
 selection start: position 0 of child 0 {IMG} of child 2 {DIV} of child 2 {DIV} of body
 selection end:   position 1 of child 0 {IMG} of child 2 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.png
new file mode 100644
index 0000000..c5100ec
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.txt
index 5d9e5a2..25453c6 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5136770-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 375x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 375x17
           text run at (0,0) width 375: "This tests for a hang when performing InsertUnorderedList."
-      RenderBlock {DIV} at (0,34) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 347x19
+      RenderBlock {DIV} at (0,33) size 784x84
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 347x17
             text run at (0,0) width 347: "There should be two empty unordered list items below."
-        RenderBlock {DIV} at (0,34) size 784x54
-          RenderBlock {UL} at (0,0) size 784x54
-            RenderListItem {LI} at (40,0) size 744x18
-              RenderListMarker at (-18,0) size 7x19: bullet
-              RenderBR {BR} at (0,0) size 0x19
-            RenderListItem {LI} at (40,18) size 744x18
-              RenderListMarker at (-18,0) size 7x19: bullet
-              RenderBR {BR} at (0,0) size 0x19
-            RenderListItem {LI} at (40,36) size 744x18
-              RenderListMarker at (-18,0) size 7x19: bullet
-              RenderText {#text} at (0,0) size 237x19
+        RenderBlock {DIV} at (0,33) size 784x51
+          RenderBlock {UL} at (0,0) size 784x51
+            RenderListItem {LI} at (40,0) size 744x17
+              RenderListMarker at (-17,0) size 7x17: bullet
+              RenderBR {BR} at (0,0) size 0x17
+            RenderListItem {LI} at (40,17) size 744x17
+              RenderListMarker at (-17,0) size 7x17: bullet
+              RenderBR {BR} at (0,0) size 0x17
+            RenderListItem {LI} at (40,34) size 744x17
+              RenderListMarker at (-17,0) size 7x17: bullet
+              RenderText {#text} at (0,0) size 237x17
                 text run at (0,0) width 237: "This should be an unordered list item."
-          RenderBlock (anonymous) at (0,70) size 784x0
+          RenderBlock (anonymous) at (0,67) size 784x0
 selection start: position 0 of child 0 {BR} of child 0 {LI} of child 0 {UL} of child 3 {DIV} of child 2 {DIV} of body
 selection end:   position 38 of child 0 {#text} of child 2 {LI} of child 0 {UL} of child 3 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.png
new file mode 100644
index 0000000..18e9662
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.txt
index 407a93c..0d28e85 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5138441-expected.txt
@@ -3,18 +3,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 776x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 776x51
           text run at (0,0) width 493: "This tests for a bug where indented text would appear quoted in GoogleDocs. "
           text run at (493,0) width 218: "Google docs uses blockquotes and"
-          text run at (0,18) width 776: "FormatBlock to implement a \"Quote Text\" feature, and style rules for blockquotes appeared on the blockquotes that we use"
-          text run at (0,36) width 149: "to implement indenting."
-      RenderBlock {DIV} at (0,70) size 784x62
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x18
-          RenderBlock {DIV} at (0,0) size 744x18
-            RenderText {#text} at (0,0) size 230x19
+          text run at (0,17) width 776: "FormatBlock to implement a \"Quote Text\" feature, and style rules for blockquotes appeared on the blockquotes that we use"
+          text run at (0,34) width 149: "to implement indenting."
+      RenderBlock {DIV} at (0,67) size 784x60
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x17
+          RenderBlock {DIV} at (0,0) size 744x17
+            RenderText {#text} at (0,0) size 230x17
               text run at (0,0) width 230: "This should be indented, not quoted."
-        RenderBlock {BLOCKQUOTE} at (8,26) size 768x36 [border: (1px dashed #AAAAAA)]
-          RenderText {#text} at (9,9) size 175x19
+        RenderBlock {BLOCKQUOTE} at (8,25) size 768x35 [border: (1px dashed #AAAAAA)]
+          RenderText {#text} at (9,9) size 175x17
             text run at (9,9) width 175: "This text should be Quoted."
 caret: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {BLOCKQUOTE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.png
new file mode 100644
index 0000000..720ae0f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.txt
index 88398b3..744ce3a 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5142012-1-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 766x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 766x34
           text run at (0,0) width 449: "This tests for a bug when removing links from a selection with Unlink. "
           text run at (449,0) width 317: "There shouldn't be any links *inside the selection*"
-          text run at (0,18) width 43: "below."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderInline {A} at (0,0) size 23x19 [color=#0000EE]
-            RenderText {#text} at (0,0) size 23x19
+          text run at (0,17) width 43: "below."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderInline {A} at (0,0) size 23x17 [color=#0000EE]
+            RenderText {#text} at (0,0) size 23x17
               text run at (0,0) width 23: "Hel"
-          RenderInline {SPAN} at (0,0) size 12x19
-            RenderText {#text} at (23,0) size 12x19
+          RenderInline {SPAN} at (0,0) size 12x17
+            RenderText {#text} at (23,0) size 12x17
               text run at (23,0) width 12: "lo"
-        RenderBlock (anonymous) at (0,18) size 784x0
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderInline {SPAN} at (0,0) size 15x19
-            RenderText {#text} at (0,0) size 15x19
+        RenderBlock (anonymous) at (0,17) size 784x0
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderInline {SPAN} at (0,0) size 15x17
+            RenderText {#text} at (0,0) size 15x17
               text run at (0,0) width 15: "W"
-          RenderText {#text} at (15,0) size 30x19
+          RenderText {#text} at (15,0) size 30x17
             text run at (15,0) width 30: "orld!"
 selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 0 {DIV} of child 2 {DIV} of body
 selection end:   position 1 of child 0 {#text} of child 0 {SPAN} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.png
new file mode 100644
index 0000000..d1e92bb
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.txt
index f09f5a0..118c38a 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5142012-2-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {UL} at (0,0) size 784x18
-        RenderListItem {LI} at (40,0) size 744x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderInline {A} at (0,0) size 736x19 [color=#0000EE]
-            RenderText {#text} at (0,0) size 736x19
+      RenderBlock {UL} at (0,0) size 784x17
+        RenderListItem {LI} at (40,0) size 744x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderInline {A} at (0,0) size 736x17 [color=#0000EE]
+            RenderText {#text} at (0,0) size 736x17
               text run at (0,0) width 336: "This tests for a crash when creating a list from a link. "
               text run at (336,0) width 400: "This paragraph should be a link and should be inside a list item."
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock (anonymous) at (0,34) size 784x0
+      RenderBlock (anonymous) at (0,33) size 784x0
 selection start: position 0 of child 0 {#text} of child 0 {A} of child 0 {LI} of child 0 {UL} of body
 selection end:   position 123 of child 0 {#text} of child 0 {A} of child 0 {LI} of child 0 {UL} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.png
new file mode 100644
index 0000000..972c944
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.txt
index 21da8bf..7354c06 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5190926-expected.txt
@@ -3,22 +3,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {OL} at (0,0) size 784x54
-        RenderListItem {LI} at (40,0) size 744x18
-          RenderListMarker at (-21,0) size 16x19: "1"
-          RenderInline {U} at (0,0) size 497x19
-            RenderText {#text} at (0,0) size 497x19
+      RenderBlock {OL} at (0,0) size 784x51
+        RenderListItem {LI} at (40,0) size 744x17
+          RenderListMarker at (-20,0) size 16x17: "1"
+          RenderInline {U} at (0,0) size 497x17
+            RenderText {#text} at (0,0) size 497x17
               text run at (0,0) width 497: "This tests for a crash when making and removing lists from underlined content."
-        RenderListItem {LI} at (40,18) size 744x18
-          RenderListMarker at (-21,0) size 16x19: "2"
-          RenderInline {U} at (0,0) size 272x19
-            RenderText {#text} at (0,0) size 272x19
+        RenderListItem {LI} at (40,17) size 744x17
+          RenderListMarker at (-20,0) size 16x17: "2"
+          RenderInline {U} at (0,0) size 272x17
+            RenderText {#text} at (0,0) size 272x17
               text run at (0,0) width 272: "All three paragraphs should be in list items."
-        RenderListItem {LI} at (40,36) size 744x18
-          RenderListMarker at (-21,0) size 16x19: "3"
-          RenderInline {U} at (0,0) size 222x19
-            RenderText {#text} at (0,0) size 222x19
+        RenderListItem {LI} at (40,34) size 744x17
+          RenderListMarker at (-20,0) size 16x17: "3"
+          RenderInline {U} at (0,0) size 222x17
+            RenderText {#text} at (0,0) size 222x17
               text run at (0,0) width 222: "And all three should be underlined."
-      RenderBlock (anonymous) at (0,70) size 784x0
+      RenderBlock (anonymous) at (0,67) size 784x0
 selection start: position 0 of child 0 {#text} of child 0 {U} of child 0 {LI} of child 0 {OL} of body
 selection end:   position 35 of child 0 {#text} of child 0 {U} of child 2 {LI} of child 0 {OL} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.png
new file mode 100644
index 0000000..65137b0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.txt
index b4bec44..43d38e8 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5481523-expected.txt
@@ -3,30 +3,30 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 748x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 748x34
           text run at (0,0) width 407: "This tests for a hang when indenting a fully selected table twice. "
           text run at (407,0) width 341: "You should see a twice indented table, with four cells,"
-          text run at (0,18) width 43: "below."
-      RenderBlock {DIV} at (0,52) size 784x52
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x52
-          RenderBlock {BLOCKQUOTE} at (40,0) size 704x52
-            RenderTable {TABLE} at (0,0) size 83x52 [border: (1px outset #808080)]
-              RenderTableSection {TBODY} at (1,1) size 81x50
-                RenderTableRow {TR} at (0,2) size 81x22
-                  RenderTableCell {TD} at (2,2) size 41x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                    RenderText {#text} at (2,2) size 27x19
+          text run at (0,17) width 43: "below."
+      RenderBlock {DIV} at (0,50) size 784x50
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x50
+          RenderBlock {BLOCKQUOTE} at (40,0) size 704x50
+            RenderTable {TABLE} at (0,0) size 83x50 [border: (1px outset #808080)]
+              RenderTableSection {TBODY} at (1,1) size 81x48
+                RenderTableRow {TR} at (0,2) size 81x21
+                  RenderTableCell {TD} at (2,2) size 41x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                    RenderText {#text} at (2,2) size 27x17
                       text run at (2,2) width 27: "One"
-                  RenderTableCell {TD} at (45,2) size 34x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                    RenderText {#text} at (2,2) size 30x19
+                  RenderTableCell {TD} at (45,2) size 34x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                    RenderText {#text} at (2,2) size 30x17
                       text run at (2,2) width 30: "Two"
-                RenderTableRow {TR} at (0,26) size 81x22
-                  RenderTableCell {TD} at (2,26) size 41x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                    RenderText {#text} at (2,2) size 37x19
+                RenderTableRow {TR} at (0,25) size 81x21
+                  RenderTableCell {TD} at (2,25) size 41x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                    RenderText {#text} at (2,2) size 37x17
                       text run at (2,2) width 37: "Three"
-                  RenderTableCell {TD} at (45,26) size 34x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                    RenderText {#text} at (2,2) size 30x19
+                  RenderTableCell {TD} at (45,25) size 34x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                    RenderText {#text} at (2,2) size 30x17
                       text run at (2,2) width 30: "Four"
-        RenderBlock (anonymous) at (0,52) size 784x0
+        RenderBlock (anonymous) at (0,50) size 784x0
 selection start: position 0 of child 0 {TABLE} of child 0 {BLOCKQUOTE} of child 1 {BLOCKQUOTE} of child 2 {DIV} of body
 selection end:   position 2 of child 0 {TABLE} of child 0 {BLOCKQUOTE} of child 1 {BLOCKQUOTE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.png
new file mode 100644
index 0000000..7b4a279
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.txt
index b1b596c..6d65092 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5482023-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x571
-      RenderBlock {H1} at (0,0) size 784x111
-        RenderText {#text} at (0,0) size 779x110
+      RenderBlock {H1} at (0,0) size 784x108
+        RenderText {#text} at (0,0) size 779x108
           text run at (0,0) width 721: "This tests for a bug when performing a FormatBlock"
           text run at (721,0) width 8: " "
-          text run at (0,37) width 512: "inside a body with no visible content. "
-          text run at (512,37) width 259: "This text should be"
-          text run at (771,37) width 8: " "
-          text run at (0,74) width 287: "inside an h1 element."
+          text run at (0,36) width 512: "inside a body with no visible content. "
+          text run at (512,36) width 259: "This text should be"
+          text run at (771,36) width 8: " "
+          text run at (0,72) width 287: "inside an h1 element."
 caret: position 132 of child 0 {#text} of child 0 {H1} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.png b/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.png
new file mode 100644
index 0000000..72f326f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.txt
index f4957c5..119d56e 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/5569741-expected.txt
@@ -3,18 +3,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 681x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 681x17
           text run at (0,0) width 681: "This tests for a bug where hitting return inside an empty paragraph in a non-empty list item would remove it."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock {UL} at (0,0) size 784x54
-          RenderListItem {LI} at (40,0) size 744x36
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock {UL} at (0,0) size 784x51
+          RenderListItem {LI} at (40,0) size 744x34
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-            RenderBR {BR} at (21,15) size 0x0
-            RenderBR {BR} at (0,18) size 0x19
-          RenderListItem {LI} at (40,36) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderBR {BR} at (0,0) size 0x19
+            RenderBR {BR} at (21,14) size 0x0
+            RenderBR {BR} at (0,17) size 0x17
+          RenderListItem {LI} at (40,34) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 0 {BR} of child 1 {LI} of child 1 {UL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.png b/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.png
new file mode 100644
index 0000000..438447a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.txt
index 85150f0..85d51b5 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/create-list-with-hr-expected.txt
@@ -9,20 +9,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 514x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 514x17
           text run at (0,0) width 514: "This test pushes a horizontal rule into an unordered list with InsertUnorderedList. "
-        RenderInline {B} at (0,0) size 751x37
-          RenderText {#text} at (514,0) size 751x37
+        RenderInline {B} at (0,0) size 751x34
+          RenderText {#text} at (514,0) size 751x34
             text run at (514,0) width 237: "This demonstrates what might be a"
-            text run at (0,18) width 31: "bug:"
-        RenderText {#text} at (31,18) size 421x19
-          text run at (31,18) width 421: " the horizontal rule appears before the list marker in the render tree."
-      RenderBlock {DIV} at (0,52) size 784x28
-        RenderBlock {UL} at (0,0) size 784x28
-          RenderListItem {LI} at (40,0) size 744x28
+            text run at (0,17) width 31: "bug:"
+        RenderText {#text} at (31,17) size 421x17
+          text run at (31,17) width 421: " the horizontal rule appears before the list marker in the render tree."
+      RenderBlock {DIV} at (0,50) size 784x27
+        RenderBlock {UL} at (0,0) size 784x27
+          RenderListItem {LI} at (40,0) size 744x27
             RenderBlock {HR} at (0,0) size 744x2 [border: (1px inset #000000)]
-            RenderBlock (anonymous) at (0,10) size 744x18
-              RenderListMarker at (-18,0) size 7x19: bullet
-        RenderBlock (anonymous) at (0,44) size 784x0
+            RenderBlock (anonymous) at (0,10) size 744x17
+              RenderListMarker at (-17,0) size 7x17: bullet
+        RenderBlock (anonymous) at (0,43) size 784x0
 caret: position 0 of child 0 {HR} of child 0 {LI} of child 0 {UL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.png b/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.png
new file mode 100644
index 0000000..f957c90
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.txt
index 8cbd67e..44a028b 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/find-after-replace-expected.txt
@@ -16,19 +16,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 784x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 784x34
           text run at (0,0) width 329: "This tests find and replace inside an editable iframe. "
           text run at (329,0) width 455: "You should see 'A B A B' below. With bug 4462420, you would see 'A"
-          text run at (0,18) width 49: "B B A'."
-      RenderBlock (anonymous) at (0,52) size 784x154
+          text run at (0,17) width 49: "B B A'."
+      RenderBlock (anonymous) at (0,50) size 784x154
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
-                RenderText {#text} at (0,0) size 58x19
+                RenderText {#text} at (0,0) size 58x17
                   text run at (0,0) width 58: "A B A B"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.png b/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.png
new file mode 100644
index 0000000..3863568
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.txt
index 8f803da..3a032f2 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/findString-2-expected.txt
@@ -8,17 +8,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 765x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 765x34
           text run at (0,0) width 765: "This tests to see if Find will get stuck when searching for a word that is currently selected, and was selected with a double"
-          text run at (0,18) width 34: "click."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 25x19
+          text run at (0,17) width 34: "click."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 25x17
           text run at (0,0) width 25: "foo "
-        RenderInline {SPAN} at (0,0) size 20x19
-          RenderText {#text} at (25,0) size 20x19
+        RenderInline {SPAN} at (0,0) size 20x17
+          RenderText {#text} at (25,0) size 20x17
             text run at (25,0) width 20: "bar"
-        RenderText {#text} at (45,0) size 101x19
+        RenderText {#text} at (45,0) size 101x17
           text run at (45,0) width 101: " baz foo bar baz"
 selection start: position 9 of child 2 {#text} of child 2 {DIV} of body
 selection end:   position 12 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/findString-expected.png b/LayoutTests/platform/gtk/editing/execCommand/findString-expected.png
new file mode 100644
index 0000000..fc92feb
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/findString-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/findString-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/findString-expected.txt
index c2be522..47b8d37 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/findString-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/findString-expected.txt
@@ -6,16 +6,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 350x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 350x17
           text run at (0,0) width 350: "In the block below, the second 'bar ' should be selected."
-      RenderBlock {DIV} at (0,34) size 52x38 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 45x19
+      RenderBlock {DIV} at (0,33) size 52x36 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 45x17
           text run at (1,1) width 45: "foo bar"
-        RenderInline {SPAN} at (0,0) size 20x19
-          RenderText {#text} at (1,19) size 20x19
-            text run at (1,19) width 20: "bar"
-        RenderText {#text} at (21,19) size 26x19
-          text run at (21,19) width 26: " baz"
+        RenderInline {SPAN} at (0,0) size 20x17
+          RenderText {#text} at (1,18) size 20x17
+            text run at (1,18) width 20: "bar"
+        RenderText {#text} at (21,18) size 26x17
+          text run at (21,18) width 26: " baz"
 selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 2 {DIV} of body
 selection end:   position 1 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/format-block-with-trailing-br-expected.png b/LayoutTests/platform/gtk/editing/execCommand/format-block-with-trailing-br-expected.png
new file mode 100644
index 0000000..a65d841
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/format-block-with-trailing-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.png b/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.png
new file mode 100644
index 0000000..e03be0e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.txt
index 7e2cb46..4cf56d4 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/indent-empty-root-expected.txt
@@ -9,10 +9,10 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 291x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 291x17
           text run at (0,0) width 291: "This tests Indent in an empty editable element."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x18
-          RenderBR {BR} at (0,0) size 0x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x17
+          RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 0 {BR} of child 0 {BLOCKQUOTE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.png b/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.png
new file mode 100644
index 0000000..31f2c8e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.txt
index 12f7d14..5037b6b 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/indent-list-item-expected.txt
@@ -9,24 +9,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {DIV} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 374x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 374x17
           text run at (0,0) width 374: "This test uses the execCommand to Outdent the text below."
-      RenderBlock (anonymous) at (0,18) size 784x18
-        RenderBR {BR} at (0,0) size 0x19
-      RenderBlock {DIV} at (0,52) size 784x54
-        RenderBlock {UL} at (0,0) size 784x54
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 25x19
+      RenderBlock (anonymous) at (0,17) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
+      RenderBlock {DIV} at (0,50) size 784x51
+        RenderBlock {UL} at (0,0) size 784x51
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 25x17
               text run at (0,0) width 25: "Foo"
-          RenderBlock {UL} at (40,18) size 744x18
-            RenderListItem {LI} at (40,0) size 704x18
-              RenderListMarker at (-18,0) size 7x19: white bullet
-              RenderText {#text} at (0,0) size 23x19
+          RenderBlock {UL} at (40,17) size 744x17
+            RenderListItem {LI} at (40,0) size 704x17
+              RenderListMarker at (-17,0) size 7x17: white bullet
+              RenderText {#text} at (0,0) size 23x17
                 text run at (0,0) width 23: "Bar"
-          RenderListItem {LI} at (40,36) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 25x19
+          RenderListItem {LI} at (40,34) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 25x17
               text run at (0,0) width 25: "Baz"
 caret: position 0 of child 0 {#text} of child 0 {LI} of child 3 {UL} of child 1 {UL} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.png b/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.png
new file mode 100644
index 0000000..713ec68
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.txt
index 17db3a7..e93eaee 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/indent-selection-expected.txt
@@ -10,50 +10,50 @@
 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 784x18
-        RenderText {#text} at (0,0) size 362x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 362x17
           text run at (0,0) width 362: "This test uses the execCommand to indent the text below."
-      RenderBlock (anonymous) at (0,18) size 784x18
-        RenderBR {BR} at (0,0) size 0x19
-      RenderBlock {DIV} at (0,36) size 784x194
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x54
-          RenderBlock (anonymous) at (0,0) size 744x36
-            RenderInline {SPAN} at (0,0) size 42x19
-              RenderText {#text} at (0,0) size 42x19
+      RenderBlock (anonymous) at (0,17) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
+      RenderBlock {DIV} at (0,34) size 784x185
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x51
+          RenderBlock (anonymous) at (0,0) size 744x34
+            RenderInline {SPAN} at (0,0) size 42x17
+              RenderText {#text} at (0,0) size 42x17
                 text run at (0,0) width 42: "Lorem"
-              RenderBR {BR} at (42,15) size 0x0
-            RenderText {#text} at (0,18) size 83x19
-              text run at (0,18) width 83: "more Lorem!"
-          RenderBlock {BLOCKQUOTE} at (40,36) size 704x18
-            RenderText {#text} at (0,0) size 38x19
+              RenderBR {BR} at (42,14) size 0x0
+            RenderText {#text} at (0,17) size 83x17
+              text run at (0,17) width 83: "more Lorem!"
+          RenderBlock {BLOCKQUOTE} at (40,34) size 704x17
+            RenderText {#text} at (0,0) size 38x17
               text run at (0,0) width 38: "ipsum"
-        RenderBlock (anonymous) at (0,54) size 784x0
-        RenderBlock {BLOCKQUOTE} at (40,70) size 744x54
-          RenderBlock {UL} at (0,0) size 744x54
-            RenderBlock {UL} at (40,0) size 704x54
-              RenderListItem {LI} at (40,0) size 664x18
-                RenderListMarker at (-18,0) size 7x19: white bullet
-                RenderText {#text} at (0,0) size 25x19
+        RenderBlock (anonymous) at (0,51) size 784x0
+        RenderBlock {BLOCKQUOTE} at (40,67) size 744x51
+          RenderBlock {UL} at (0,0) size 744x51
+            RenderBlock {UL} at (40,0) size 704x51
+              RenderListItem {LI} at (40,0) size 664x17
+                RenderListMarker at (-17,0) size 7x17: white bullet
+                RenderText {#text} at (0,0) size 25x17
                   text run at (0,0) width 25: "Foo"
-              RenderListItem {LI} at (40,18) size 664x18
-                RenderListMarker at (-18,0) size 7x19: white bullet
-                RenderText {#text} at (0,0) size 23x19
+              RenderListItem {LI} at (40,17) size 664x17
+                RenderListMarker at (-17,0) size 7x17: white bullet
+                RenderText {#text} at (0,0) size 23x17
                   text run at (0,0) width 23: "Bar"
-              RenderListItem {LI} at (40,36) size 664x18
-                RenderListMarker at (-18,0) size 7x19: white bullet
-                RenderText {#text} at (0,0) size 25x19
+              RenderListItem {LI} at (40,34) size 664x17
+                RenderListMarker at (-17,0) size 7x17: white bullet
+                RenderText {#text} at (0,0) size 25x17
                   text run at (0,0) width 25: "Baz"
-        RenderBlock {BLOCKQUOTE} at (40,140) size 744x54
-          RenderBlock {BLOCKQUOTE} at (40,0) size 704x18
-            RenderText {#text} at (0,0) size 37x19
+        RenderBlock {BLOCKQUOTE} at (40,134) size 744x51
+          RenderBlock {BLOCKQUOTE} at (40,0) size 704x17
+            RenderText {#text} at (0,0) size 37x17
               text run at (0,0) width 37: "Dolor"
-          RenderBlock (anonymous) at (0,18) size 744x36
-            RenderText {#text} at (0,0) size 34x19
+          RenderBlock (anonymous) at (0,17) size 744x34
+            RenderText {#text} at (0,0) size 34x17
               text run at (0,0) width 34: "Sum!"
-            RenderBR {BR} at (34,15) size 0x0
-            RenderInline {SPAN} at (0,0) size 38x19
-              RenderText {#text} at (0,18) size 38x19
-                text run at (0,18) width 38: "Thing"
-        RenderBlock (anonymous) at (0,194) size 784x0
+            RenderBR {BR} at (34,14) size 0x0
+            RenderInline {SPAN} at (0,0) size 38x17
+              RenderText {#text} at (0,17) size 38x17
+                text run at (0,17) width 38: "Thing"
+        RenderBlock (anonymous) at (0,185) size 784x0
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 1 {BLOCKQUOTE} of child 4 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 3 {SPAN} of child 3 {BLOCKQUOTE} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.png b/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.png
new file mode 100644
index 0000000..39a73d7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.txt
index 4311834..14af0b2 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/insert-list-and-stitch-expected.txt
@@ -17,23 +17,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 613x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 613x17
           text run at (0,0) width 613: "The three items below should be stitched together into one ordered list when you click the button."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock {DIV} at (0,0) size 784x54
-          RenderBlock {OL} at (0,0) size 784x54
-            RenderListItem {LI} at (40,0) size 744x18
-              RenderListMarker at (-21,0) size 16x19: "1"
-              RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock {DIV} at (0,0) size 784x51
+          RenderBlock {OL} at (0,0) size 784x51
+            RenderListItem {LI} at (40,0) size 744x17
+              RenderListMarker at (-20,0) size 16x17: "1"
+              RenderText {#text} at (0,0) size 21x17
                 text run at (0,0) width 21: "foo"
-            RenderListItem {LI} at (40,18) size 744x18
-              RenderListMarker at (-21,0) size 16x19: "2"
-              RenderText {#text} at (0,0) size 20x19
+            RenderListItem {LI} at (40,17) size 744x17
+              RenderListMarker at (-20,0) size 16x17: "2"
+              RenderText {#text} at (0,0) size 20x17
                 text run at (0,0) width 20: "bar"
-            RenderListItem {LI} at (40,36) size 744x18
-              RenderListMarker at (-21,0) size 16x19: "3"
-              RenderText {#text} at (0,0) size 22x19
+            RenderListItem {LI} at (40,34) size 744x17
+              RenderListMarker at (-20,0) size 16x17: "3"
+              RenderText {#text} at (0,0) size 22x17
                 text run at (0,0) width 22: "baz"
-          RenderBlock (anonymous) at (0,70) size 784x0
+          RenderBlock (anonymous) at (0,67) size 784x0
 caret: position 0 of child 0 {#text} of child 2 {LI} of child 0 {OL} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.png b/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.png
new file mode 100644
index 0000000..b9be7f6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.txt
index 46d5868..083a829 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/insertHorizontalRule-expected.txt
@@ -25,26 +25,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 359x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 359x17
           text run at (0,0) width 359: "These are tests for execCommand(InsertHorizontalRule)."
-      RenderBlock {P} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 282x19
+      RenderBlock {P} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 282x17
           text run at (0,0) width 282: "This test inserts an hr between 'foo' and 'bar'."
-      RenderBlock {DIV} at (0,68) size 784x54
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,66) size 784x52
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock {HR} at (0,26) size 784x2 [border: (1px inset #000000)]
-        RenderBlock (anonymous) at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock {HR} at (0,25) size 784x2 [border: (1px inset #000000)]
+        RenderBlock (anonymous) at (0,35) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
-      RenderBlock {P} at (0,138) size 784x18
-        RenderText {#text} at (0,0) size 634x19
+      RenderBlock {P} at (0,134) size 784x17
+        RenderText {#text} at (0,0) size 634x17
           text run at (0,0) width 634: "This test inserts an hr with id=\"hr\" between 'foo' and 'bar', fetches the hr using its id, then removes it."
-      RenderBlock {DIV} at (0,172) size 784x18
-        RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,167) size 784x17
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "foo"
-        RenderText {#text} at (21,0) size 20x19
+        RenderText {#text} at (21,0) size 20x17
           text run at (21,0) width 20: "bar"
 caret: position 2 of child 8 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.png b/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.png
new file mode 100644
index 0000000..500f41d
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.txt
index 5daea3b..18d9b9b 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/insertImage-expected.txt
@@ -12,13 +12,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 748x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 748x34
           text run at (0,0) width 306: "This is a test of execCommand(InsertImage, ...). "
           text run at (306,0) width 442: "The first test passes execCommand a path to a valid image, the second"
-          text run at (0,18) width 369: "passes execCommand a path where no image should exist."
-      RenderBlock {DIV} at (0,52) size 784x103
+          text run at (0,17) width 369: "passes execCommand a path where no image should exist."
+      RenderBlock {DIV} at (0,50) size 784x103
         RenderImage {IMG} at (0,0) size 76x103
         RenderImage {IMG} at (76,83) size 20x20
-      RenderBlock {UL} at (0,171) size 784x0
+      RenderBlock {UL} at (0,169) size 784x0
 caret: position 1 of child 1 {IMG} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.png b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.png
new file mode 100644
index 0000000..1dfbab6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.txt
index f35eb0a..617b903 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-indent-expected.txt
@@ -9,13 +9,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 534x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 534x17
           text run at (0,0) width 281: "This tests the NSResponder method indent:. "
           text run at (281,0) width 253: "You should see an indented 'foo' below."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (0,18) size 784x0
+        RenderBlock (anonymous) at (0,17) size 784x0
 caret: position 0 of child 0 {#text} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.png b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.png
new file mode 100644
index 0000000..d2557f0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt
index 97fff2a..57359e2 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt
@@ -9,11 +9,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 453x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 453x17
           text run at (0,0) width 196: "This tests the outdent: method. "
           text run at (196,0) width 257: "You should see an undented 'foo' below."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "foo"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.png b/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.png
new file mode 100644
index 0000000..5af1436
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.txt
index a0de617..2ffe546 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/paste-1-expected.txt
@@ -18,17 +18,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 509x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 509x17
           text run at (0,0) width 283: "This tests cut/paste inside an editable iframe. "
           text run at (283,0) width 226: "You should see 'foo bar baz' below."
-      RenderBlock (anonymous) at (0,34) size 784x154
+      RenderBlock (anonymous) at (0,33) size 784x154
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
-                RenderText {#text} at (0,0) size 71x19
+                RenderText {#text} at (0,0) size 71x17
                   text run at (0,0) width 71: "foo bar baz"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.png b/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.png
new file mode 100644
index 0000000..c69bc70
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.txt
index 13fbc02..c9e863d 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/paste-2-expected.txt
@@ -18,17 +18,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 562x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 562x17
           text run at (0,0) width 336: "This tests copy/delete/paste inside an editable iframe. "
           text run at (336,0) width 226: "You should see 'foo bar baz' below."
-      RenderBlock (anonymous) at (0,34) size 784x154
+      RenderBlock (anonymous) at (0,33) size 784x154
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
-                RenderText {#text} at (0,0) size 71x19
+                RenderText {#text} at (0,0) size 71x17
                   text run at (0,0) width 71: "foo bar baz"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.png b/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.png
new file mode 100644
index 0000000..d77e1f2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.txt
index 2871c5d..5b740c4 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.txt
@@ -9,27 +9,27 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 528x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 528x17
           text run at (0,0) width 528: "This tests Insert{Un}OrderedList on a range selection that is entirely within one list."
-      RenderBlock {DIV} at (0,34) size 784x106
-        RenderBlock (anonymous) at (0,0) size 784x72
-          RenderText {#text} at (0,0) size 75x19
+      RenderBlock {DIV} at (0,33) size 784x101
+        RenderBlock (anonymous) at (0,0) size 784x68
+          RenderText {#text} at (0,0) size 75x17
             text run at (0,0) width 75: "None of the"
-          RenderBR {BR} at (75,15) size 0x0
-          RenderText {#text} at (0,18) size 100x19
-            text run at (0,18) width 100: "selected content"
-          RenderBR {BR} at (100,33) size 0x0
-          RenderText {#text} at (0,36) size 61x19
-            text run at (0,36) width 61: "should be"
-          RenderBR {BR} at (61,51) size 0x0
-          RenderText {#text} at (0,54) size 49x19
-            text run at (0,54) width 49: "in a list."
-          RenderBR {BR} at (49,69) size 0x0
-        RenderBlock {OL} at (0,88) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-21,0) size 16x19: "1"
-            RenderText {#text} at (0,0) size 316x19
+          RenderBR {BR} at (75,14) size 0x0
+          RenderText {#text} at (0,17) size 100x17
+            text run at (0,17) width 100: "selected content"
+          RenderBR {BR} at (100,31) size 0x0
+          RenderText {#text} at (0,34) size 61x17
+            text run at (0,34) width 61: "should be"
+          RenderBR {BR} at (61,48) size 0x0
+          RenderText {#text} at (0,51) size 49x17
+            text run at (0,51) width 49: "in a list."
+          RenderBR {BR} at (49,65) size 0x0
+        RenderBlock {OL} at (0,84) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-20,0) size 16x17: "1"
+            RenderText {#text} at (0,0) size 316x17
               text run at (0,0) width 316: "This should be in a list and should not be selected."
 selection start: position 2 of child 0 {#text} of child 2 {DIV} of body
 selection end:   position 2 of child 6 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.png b/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.png
new file mode 100644
index 0000000..e02d4ed
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.txt
index 65bb7dd..7225450 100644
--- a/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/execCommand/remove-list-item-1-expected.txt
@@ -9,13 +9,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 288x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 288x17
           text run at (0,0) width 288: "Outdenting a sublist should remove one level."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
 caret: position 0 of child 0 {#text} of child 0 {LI} of child 0 {UL} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/execCommand/selectAll-expected.png b/LayoutTests/platform/gtk/editing/execCommand/selectAll-expected.png
new file mode 100644
index 0000000..038e6c5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/selectAll-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/execCommand/selectAll-expected.txt b/LayoutTests/platform/gtk/editing/execCommand/selectAll-expected.txt
new file mode 100644
index 0000000..66b7249
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/execCommand/selectAll-expected.txt
@@ -0,0 +1,51 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document toDOMRange:range from 0 of #text > SPAN > DIV > BODY > HTML > #document to 562 of #text > P > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x336 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x52
+          RenderInline {SPAN} at (0,0) size 693x52
+            RenderText {#text} at (0,0) size 693x52
+              text run at (0,0) width 687: "\"The quick brown fox jumps over the lazy dog\" uses every letter in the"
+              text run at (687,0) width 6: " "
+              text run at (0,26) width 170: "english language."
+        RenderBlock (anonymous) at (14,90) size 756x208
+          RenderBlock {P} at (0,0) size 756x208
+            RenderText {#text} at (0,0) size 756x208
+              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 (747,0) width 6: " "
+              text run at (0,26) width 243: "pegs in the square holes, "
+              text run at (243,26) width 350: "the ones who see things differently. "
+              text run at (593,26) width 144: "There not fond"
+              text run at (737,26) width 6: " "
+              text run at (0,52) width 510: "of rules, and they have no respect for the status quo, "
+              text run at (510,52) width 190: "you can quote then,"
+              text run at (0,78) width 197: "disagree with them, "
+              text run at (197,78) width 218: "glorify or vilify them, "
+              text run at (415,78) width 340: "about the only thing you can't do is"
+              text run at (755,78) width 1: " "
+              text run at (0,104) width 129: "ignore them. "
+              text run at (129,104) width 281: "Because they change things. "
+              text run at (410,104) width 344: "They push the human race forward."
+              text run at (754,104) width 2: "  "
+              text run at (0,130) width 481: "And while some may see them as the crazy ones, "
+              text run at (481,130) width 146: "we see genius. "
+              text run at (627,130) width 117: "Because the"
+              text run at (744,130) width 6: " "
+              text run at (0,156) width 632: "people who are crazy enough to think they can change the world "
+              text run at (632,156) width 116: "are the ones"
+              text run at (748,156) width 6: " "
+              text run at (0,182) width 77: "who do."
+        RenderBlock (anonymous) at (14,322) size 756x0
+          RenderInline {SPAN} at (0,0) size 0x0
+          RenderText {#text} at (0,0) size 0x0
+selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
+selection end:   position 562 of child 0 {#text} of child 1 {P} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.png b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.png
new file mode 100644
index 0000000..e78a93b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.txt b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.txt
new file mode 100644
index 0000000..795cbc1
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-contenteditable-expected.txt
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x69
+  RenderBlock {HTML} at (0,0) size 800x69
+    RenderBody {BODY} at (8,8) size 784x53
+      RenderBlock {DIV} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 769x34
+          text run at (0,0) width 769: "When the caret reaches the edge of the input box or content editable div, on the next input if must jump to the center of the"
+          text run at (0,17) width 48: "control."
+layer at (8,42) size 82x19 clip at (9,43) size 80x17 scrollX 42 scrollWidth 337
+  RenderBlock {DIV} at (0,34) size 82x19 [border: (1px solid #000000)]
+    RenderText {#text} at (1,1) size 336x17
+      text run at (1,1) width 336: "012345678901012345678901234567890123456789"
+caret: position 12 of child 0 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.png b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.png
new file mode 100644
index 0000000..ea697a0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt
index 48b85bc..c0d0a45 100644
--- a/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt
+++ b/LayoutTests/platform/gtk/editing/input/caret-at-the-edge-of-input-expected.txt
@@ -1,17 +1,17 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x62
-  RenderBlock {HTML} at (0,0) size 800x62
-    RenderBody {BODY} at (8,8) size 784x46
-      RenderBlock {DIV} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 677x19
+layer at (0,0) size 800x60
+  RenderBlock {HTML} at (0,0) size 800x60
+    RenderBody {BODY} at (8,8) size 784x44
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 677x17
           text run at (0,0) width 677: "When the caret reaches the edge of the input box, on the next input if must jump to the center of the control."
-      RenderBlock (anonymous) at (0,18) size 784x28
-        RenderTextControl {INPUT} at (2,2) size 102x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+      RenderBlock (anonymous) at (0,17) size 784x27
+        RenderTextControl {INPUT} at (2,2) size 101x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
-layer at (13,31) size 96x18 scrollX 52 scrollWidth 379 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 96x18
-    RenderText {#text} at (0,0) size 378x19
+layer at (13,30) size 95x17 scrollX 52 scrollWidth 379
+  RenderBlock {DIV} at (3,3) size 95x17
+    RenderText {#text} at (0,0) size 378x17
       text run at (0,0) width 378: "012345678901012345678901234567890123456789"
 caret: position 12 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 3 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.png b/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.png
index d34dc83..7400796 100644
--- a/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.png
+++ b/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.txt b/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.txt
index f01313b..c26f652 100644
--- a/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.txt
+++ b/LayoutTests/platform/gtk/editing/input/emacs-ctrl-o-expected.txt
@@ -9,24 +9,24 @@
 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 784x156
-        RenderBlock {DIV} at (0,0) size 784x56
-          RenderText {#text} at (0,0) size 61x28
+      RenderBlock {DIV} at (0,0) size 784x146
+        RenderBlock {DIV} at (0,0) size 784x52
+          RenderText {#text} at (0,0) size 61x26
             text run at (0,0) width 61: "Tests:"
-          RenderBR {BR} at (61,22) size 0x0
-          RenderText {#text} at (0,28) size 254x28
-            text run at (0,28) width 254: "Key binding for control-O"
-        RenderBlock {DIV} at (0,72) size 784x84
-          RenderText {#text} at (0,0) size 177x28
+          RenderBR {BR} at (61,21) size 0x0
+          RenderText {#text} at (0,26) size 254x26
+            text run at (0,26) width 254: "Key binding for control-O"
+        RenderBlock {DIV} at (0,68) size 784x78
+          RenderText {#text} at (0,0) size 177x26
             text run at (0,0) width 177: "Expected results:"
-          RenderBR {BR} at (177,22) size 0x0
-          RenderText {#text} at (0,28) size 90x28
-            text run at (0,28) width 90: "one five |"
-          RenderBR {BR} at (90,50) size 0x0
-          RenderText {#text} at (0,56) size 137x28
-            text run at (0,56) width 137: "two three four"
-      RenderBlock {DIV} at (0,180) size 784x28
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 222x28
+          RenderBR {BR} at (177,21) size 0x0
+          RenderText {#text} at (0,26) size 90x26
+            text run at (0,26) width 90: "one five |"
+          RenderBR {BR} at (90,47) size 0x0
+          RenderText {#text} at (0,52) size 137x26
+            text run at (0,52) width 137: "two three four"
+      RenderBlock {DIV} at (0,170) size 784x26
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 222x26
             text run at (0,0) width 222: "one five two three four"
 caret: position 9 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.png b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
new file mode 100644
index 0000000..0fee4d6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt
index 3d04e05..d8ebd8a 100644
--- a/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt
+++ b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt
@@ -1,104 +1,104 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x216
-  RenderBlock {HTML} at (0,0) size 800x216
-    RenderBody {BODY} at (8,8) size 784x200
-      RenderBlock {DIV} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 595x19
+layer at (0,0) size 800x205
+  RenderBlock {HTML} at (0,0) size 800x205
+    RenderBody {BODY} at (8,8) size 784x189
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 595x17
           text run at (0,0) width 595: "When the caret is scrolled out, on starting typing it must be brought to the center of the control."
-layer at (8,26) size 784x182 clip at (9,27) size 767x165 scrollY 252 scrollHeight 559
-  RenderBlock {DIV} at (0,18) size 784x182 [border: (1px solid #000000)]
-    RenderText {#text} at (1,1) size 16x19
+layer at (8,25) size 784x172 clip at (9,26) size 767x155 scrollY 238 scrollHeight 527
+  RenderBlock {DIV} at (0,17) size 784x172 [border: (1px solid #000000)]
+    RenderText {#text} at (1,1) size 16x17
       text run at (1,1) width 16: "00"
-    RenderBR {BR} at (17,1) size 0x19
-    RenderText {#text} at (1,19) size 16x19
-      text run at (1,19) width 16: "01"
-    RenderBR {BR} at (17,19) size 0x19
-    RenderText {#text} at (1,37) size 16x19
-      text run at (1,37) width 16: "02"
-    RenderBR {BR} at (17,37) size 0x19
-    RenderText {#text} at (1,55) size 16x19
-      text run at (1,55) width 16: "03"
-    RenderBR {BR} at (17,55) size 0x19
-    RenderText {#text} at (1,73) size 16x19
-      text run at (1,73) width 16: "04"
-    RenderBR {BR} at (17,73) size 0x19
-    RenderText {#text} at (1,91) size 16x19
-      text run at (1,91) width 16: "05"
-    RenderBR {BR} at (17,91) size 0x19
-    RenderText {#text} at (1,109) size 16x19
-      text run at (1,109) width 16: "06"
-    RenderBR {BR} at (17,109) size 0x19
-    RenderText {#text} at (1,127) size 16x19
-      text run at (1,127) width 16: "07"
-    RenderBR {BR} at (17,127) size 0x19
-    RenderText {#text} at (1,145) size 16x19
-      text run at (1,145) width 16: "08"
-    RenderBR {BR} at (17,145) size 0x19
-    RenderText {#text} at (1,163) size 16x19
-      text run at (1,163) width 16: "09"
-    RenderBR {BR} at (17,163) size 0x19
-    RenderText {#text} at (1,181) size 16x19
-      text run at (1,181) width 16: "10"
-    RenderBR {BR} at (17,181) size 0x19
-    RenderText {#text} at (1,199) size 16x19
-      text run at (1,199) width 16: "11"
-    RenderBR {BR} at (17,199) size 0x19
-    RenderText {#text} at (1,217) size 16x19
-      text run at (1,217) width 16: "12"
-    RenderBR {BR} at (17,217) size 0x19
-    RenderText {#text} at (1,235) size 16x19
-      text run at (1,235) width 16: "13"
-    RenderBR {BR} at (17,235) size 0x19
-    RenderText {#text} at (1,253) size 16x19
-      text run at (1,253) width 16: "14"
-    RenderBR {BR} at (17,253) size 0x19
-    RenderText {#text} at (1,271) size 16x19
-      text run at (1,271) width 16: "15"
-    RenderBR {BR} at (17,271) size 0x19
-    RenderText {#text} at (1,289) size 16x19
-      text run at (1,289) width 16: "16"
-    RenderBR {BR} at (17,289) size 0x19
-    RenderText {#text} at (1,307) size 16x19
-      text run at (1,307) width 16: "17"
-    RenderBR {BR} at (17,307) size 0x19
-    RenderText {#text} at (1,325) size 25x19
-      text run at (1,325) width 25: ">18"
-    RenderBR {BR} at (26,325) size 0x19
-    RenderText {#text} at (1,343) size 16x19
-      text run at (1,343) width 16: "19"
-    RenderBR {BR} at (17,343) size 0x19
-    RenderText {#text} at (1,361) size 16x19
-      text run at (1,361) width 16: "20"
-    RenderBR {BR} at (17,361) size 0x19
-    RenderText {#text} at (1,379) size 16x19
-      text run at (1,379) width 16: "21"
-    RenderBR {BR} at (17,379) size 0x19
-    RenderText {#text} at (1,397) size 16x19
-      text run at (1,397) width 16: "22"
-    RenderBR {BR} at (17,397) size 0x19
-    RenderText {#text} at (1,415) size 16x19
-      text run at (1,415) width 16: "23"
-    RenderBR {BR} at (17,415) size 0x19
-    RenderText {#text} at (1,433) size 16x19
-      text run at (1,433) width 16: "24"
-    RenderBR {BR} at (17,433) size 0x19
-    RenderText {#text} at (1,451) size 16x19
-      text run at (1,451) width 16: "25"
-    RenderBR {BR} at (17,451) size 0x19
-    RenderText {#text} at (1,469) size 16x19
-      text run at (1,469) width 16: "26"
-    RenderBR {BR} at (17,469) size 0x19
-    RenderText {#text} at (1,487) size 16x19
-      text run at (1,487) width 16: "27"
-    RenderBR {BR} at (17,487) size 0x19
-    RenderText {#text} at (1,505) size 16x19
-      text run at (1,505) width 16: "28"
-    RenderBR {BR} at (17,505) size 0x19
-    RenderText {#text} at (1,523) size 16x19
-      text run at (1,523) width 16: "29"
-    RenderBR {BR} at (17,523) size 0x19
-    RenderText {#text} at (1,541) size 16x19
-      text run at (1,541) width 16: "30"
-    RenderBR {BR} at (17,541) size 0x19
+    RenderBR {BR} at (17,1) size 0x17
+    RenderText {#text} at (1,18) size 16x17
+      text run at (1,18) width 16: "01"
+    RenderBR {BR} at (17,18) size 0x17
+    RenderText {#text} at (1,35) size 16x17
+      text run at (1,35) width 16: "02"
+    RenderBR {BR} at (17,35) size 0x17
+    RenderText {#text} at (1,52) size 16x17
+      text run at (1,52) width 16: "03"
+    RenderBR {BR} at (17,52) size 0x17
+    RenderText {#text} at (1,69) size 16x17
+      text run at (1,69) width 16: "04"
+    RenderBR {BR} at (17,69) size 0x17
+    RenderText {#text} at (1,86) size 16x17
+      text run at (1,86) width 16: "05"
+    RenderBR {BR} at (17,86) size 0x17
+    RenderText {#text} at (1,103) size 16x17
+      text run at (1,103) width 16: "06"
+    RenderBR {BR} at (17,103) size 0x17
+    RenderText {#text} at (1,120) size 16x17
+      text run at (1,120) width 16: "07"
+    RenderBR {BR} at (17,120) size 0x17
+    RenderText {#text} at (1,137) size 16x17
+      text run at (1,137) width 16: "08"
+    RenderBR {BR} at (17,137) size 0x17
+    RenderText {#text} at (1,154) size 16x17
+      text run at (1,154) width 16: "09"
+    RenderBR {BR} at (17,154) size 0x17
+    RenderText {#text} at (1,171) size 16x17
+      text run at (1,171) width 16: "10"
+    RenderBR {BR} at (17,171) size 0x17
+    RenderText {#text} at (1,188) size 16x17
+      text run at (1,188) width 16: "11"
+    RenderBR {BR} at (17,188) size 0x17
+    RenderText {#text} at (1,205) size 16x17
+      text run at (1,205) width 16: "12"
+    RenderBR {BR} at (17,205) size 0x17
+    RenderText {#text} at (1,222) size 16x17
+      text run at (1,222) width 16: "13"
+    RenderBR {BR} at (17,222) size 0x17
+    RenderText {#text} at (1,239) size 16x17
+      text run at (1,239) width 16: "14"
+    RenderBR {BR} at (17,239) size 0x17
+    RenderText {#text} at (1,256) size 16x17
+      text run at (1,256) width 16: "15"
+    RenderBR {BR} at (17,256) size 0x17
+    RenderText {#text} at (1,273) size 16x17
+      text run at (1,273) width 16: "16"
+    RenderBR {BR} at (17,273) size 0x17
+    RenderText {#text} at (1,290) size 16x17
+      text run at (1,290) width 16: "17"
+    RenderBR {BR} at (17,290) size 0x17
+    RenderText {#text} at (1,307) size 25x17
+      text run at (1,307) width 25: ">18"
+    RenderBR {BR} at (26,307) size 0x17
+    RenderText {#text} at (1,324) size 16x17
+      text run at (1,324) width 16: "19"
+    RenderBR {BR} at (17,324) size 0x17
+    RenderText {#text} at (1,341) size 16x17
+      text run at (1,341) width 16: "20"
+    RenderBR {BR} at (17,341) size 0x17
+    RenderText {#text} at (1,358) size 16x17
+      text run at (1,358) width 16: "21"
+    RenderBR {BR} at (17,358) size 0x17
+    RenderText {#text} at (1,375) size 16x17
+      text run at (1,375) width 16: "22"
+    RenderBR {BR} at (17,375) size 0x17
+    RenderText {#text} at (1,392) size 16x17
+      text run at (1,392) width 16: "23"
+    RenderBR {BR} at (17,392) size 0x17
+    RenderText {#text} at (1,409) size 16x17
+      text run at (1,409) width 16: "24"
+    RenderBR {BR} at (17,409) size 0x17
+    RenderText {#text} at (1,426) size 16x17
+      text run at (1,426) width 16: "25"
+    RenderBR {BR} at (17,426) size 0x17
+    RenderText {#text} at (1,443) size 16x17
+      text run at (1,443) width 16: "26"
+    RenderBR {BR} at (17,443) size 0x17
+    RenderText {#text} at (1,460) size 16x17
+      text run at (1,460) width 16: "27"
+    RenderBR {BR} at (17,460) size 0x17
+    RenderText {#text} at (1,477) size 16x17
+      text run at (1,477) width 16: "28"
+    RenderBR {BR} at (17,477) size 0x17
+    RenderText {#text} at (1,494) size 16x17
+      text run at (1,494) width 16: "29"
+    RenderBR {BR} at (17,494) size 0x17
+    RenderText {#text} at (1,511) size 16x17
+      text run at (1,511) width 16: "30"
+    RenderBR {BR} at (17,511) size 0x17
 caret: position 1 of child 36 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.png b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.png
new file mode 100644
index 0000000..ffd4640
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt
index 8806049..1fb4ae1 100644
--- a/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt
+++ b/LayoutTests/platform/gtk/editing/input/reveal-caret-of-multiline-input-expected.txt
@@ -1,79 +1,79 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x227
-  RenderBlock {HTML} at (0,0) size 800x227
-    RenderBody {BODY} at (8,8) size 784x211
-      RenderBlock {DIV} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 595x19
+layer at (0,0) size 800x216
+  RenderBlock {HTML} at (0,0) size 800x216
+    RenderBody {BODY} at (8,8) size 784x200
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 595x17
           text run at (0,0) width 595: "When the caret is scrolled out, on starting typing it must be brought to the center of the control."
-      RenderBlock (anonymous) at (0,18) size 784x193
+      RenderBlock (anonymous) at (0,17) size 784x183
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
-layer at (10,28) size 111x186 clip at (11,29) size 94x184 scrollY 136 scrollHeight 580
-  RenderTextControl {TEXTAREA} at (2,2) size 111x186 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-    RenderBlock {DIV} at (3,3) size 90x576
-      RenderText {#text} at (0,0) size 27x559
+layer at (10,27) size 111x176 clip at (11,28) size 94x174 scrollY 129 scrollHeight 548
+  RenderTextControl {TEXTAREA} at (2,2) size 111x176 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 90x544
+      RenderText {#text} at (0,0) size 27x527
         text run at (0,0) width 18: "00"
         text run at (18,0) width 0: " "
-        text run at (0,18) width 18: "01"
-        text run at (18,18) width 0: " "
-        text run at (0,36) width 18: "02"
-        text run at (18,36) width 0: " "
-        text run at (0,54) width 18: "03"
-        text run at (18,54) width 0: " "
-        text run at (0,72) width 18: "04"
-        text run at (18,72) width 0: " "
-        text run at (0,90) width 18: "05"
-        text run at (18,90) width 0: " "
-        text run at (0,108) width 18: "06"
-        text run at (18,108) width 0: " "
-        text run at (0,126) width 18: "07"
-        text run at (18,126) width 0: " "
-        text run at (0,144) width 18: "08"
-        text run at (18,144) width 0: " "
-        text run at (0,162) width 18: "09"
-        text run at (18,162) width 0: " "
-        text run at (0,180) width 18: "10"
-        text run at (18,180) width 0: " "
-        text run at (0,198) width 18: "11"
-        text run at (18,198) width 0: " "
-        text run at (0,216) width 27: ">12"
-        text run at (27,216) width 0: " "
-        text run at (0,234) width 18: "13"
-        text run at (18,234) width 0: " "
-        text run at (0,252) width 18: "14"
-        text run at (18,252) width 0: " "
-        text run at (0,270) width 18: "15"
-        text run at (18,270) width 0: " "
-        text run at (0,288) width 18: "16"
-        text run at (18,288) width 0: " "
-        text run at (0,306) width 18: "17"
+        text run at (0,17) width 18: "01"
+        text run at (18,17) width 0: " "
+        text run at (0,34) width 18: "02"
+        text run at (18,34) width 0: " "
+        text run at (0,51) width 18: "03"
+        text run at (18,51) width 0: " "
+        text run at (0,68) width 18: "04"
+        text run at (18,68) width 0: " "
+        text run at (0,85) width 18: "05"
+        text run at (18,85) width 0: " "
+        text run at (0,102) width 18: "06"
+        text run at (18,102) width 0: " "
+        text run at (0,119) width 18: "07"
+        text run at (18,119) width 0: " "
+        text run at (0,136) width 18: "08"
+        text run at (18,136) width 0: " "
+        text run at (0,153) width 18: "09"
+        text run at (18,153) width 0: " "
+        text run at (0,170) width 18: "10"
+        text run at (18,170) width 0: " "
+        text run at (0,187) width 18: "11"
+        text run at (18,187) width 0: " "
+        text run at (0,204) width 27: ">12"
+        text run at (27,204) width 0: " "
+        text run at (0,221) width 18: "13"
+        text run at (18,221) width 0: " "
+        text run at (0,238) width 18: "14"
+        text run at (18,238) width 0: " "
+        text run at (0,255) width 18: "15"
+        text run at (18,255) width 0: " "
+        text run at (0,272) width 18: "16"
+        text run at (18,272) width 0: " "
+        text run at (0,289) width 18: "17"
+        text run at (18,289) width 0: " "
+        text run at (0,306) width 18: "18"
         text run at (18,306) width 0: " "
-        text run at (0,324) width 18: "18"
-        text run at (18,324) width 0: " "
-        text run at (0,342) width 18: "19"
-        text run at (18,342) width 0: " "
-        text run at (0,360) width 18: "20"
-        text run at (18,360) width 0: " "
-        text run at (0,378) width 18: "21"
-        text run at (18,378) width 0: " "
-        text run at (0,396) width 18: "22"
-        text run at (18,396) width 0: " "
-        text run at (0,414) width 18: "23"
-        text run at (18,414) width 0: " "
-        text run at (0,432) width 18: "24"
-        text run at (18,432) width 0: " "
-        text run at (0,450) width 18: "25"
-        text run at (18,450) width 0: " "
-        text run at (0,468) width 18: "26"
-        text run at (18,468) width 0: " "
-        text run at (0,486) width 18: "27"
-        text run at (18,486) width 0: " "
-        text run at (0,504) width 18: "28"
-        text run at (18,504) width 0: " "
-        text run at (0,522) width 18: "29"
-        text run at (18,522) width 0: " "
-        text run at (0,540) width 18: "30"
-        text run at (18,540) width 0: " "
-      RenderBR {BR} at (0,558) size 0x19
+        text run at (0,323) width 18: "19"
+        text run at (18,323) width 0: " "
+        text run at (0,340) width 18: "20"
+        text run at (18,340) width 0: " "
+        text run at (0,357) width 18: "21"
+        text run at (18,357) width 0: " "
+        text run at (0,374) width 18: "22"
+        text run at (18,374) width 0: " "
+        text run at (0,391) width 18: "23"
+        text run at (18,391) width 0: " "
+        text run at (0,408) width 18: "24"
+        text run at (18,408) width 0: " "
+        text run at (0,425) width 18: "25"
+        text run at (18,425) width 0: " "
+        text run at (0,442) width 18: "26"
+        text run at (18,442) width 0: " "
+        text run at (0,459) width 18: "27"
+        text run at (18,459) width 0: " "
+        text run at (0,476) width 18: "28"
+        text run at (18,476) width 0: " "
+        text run at (0,493) width 18: "29"
+        text run at (18,493) width 0: " "
+        text run at (0,510) width 18: "30"
+        text run at (18,510) width 0: " "
+      RenderBR {BR} at (0,527) size 0x17
 caret: position 37 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 3 {TEXTAREA} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/12882-expected.png b/LayoutTests/platform/gtk/editing/inserting/12882-expected.png
new file mode 100644
index 0000000..f009424
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/12882-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/12882-expected.txt b/LayoutTests/platform/gtk/editing/inserting/12882-expected.txt
index cddc107..f659e16 100644
--- a/LayoutTests/platform/gtk/editing/inserting/12882-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/12882-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 770x37
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 770x34
           text run at (0,0) width 555: "This tests for a bug where images with align right/left would fail to be inserted on paste. "
           text run at (555,0) width 215: "You should see a picture of abe in"
-          text run at (0,18) width 293: "the editable region below, aligned to the right. "
-        RenderInline {B} at (0,0) size 766x37
-          RenderText {#text} at (293,18) size 766x37
-            text run at (293,18) width 473: "This demonstrates a bug: the focus halo for the editable region doesn't"
-            text run at (0,36) width 275: "expand to fit an image with align='right'."
-      RenderBlock {DIV} at (0,70) size 784x36
-        RenderText {#text} at (0,0) size 198x19
+          text run at (0,17) width 293: "the editable region below, aligned to the right. "
+        RenderInline {B} at (0,0) size 766x34
+          RenderText {#text} at (293,17) size 766x34
+            text run at (293,17) width 473: "This demonstrates a bug: the focus halo for the editable region doesn't"
+            text run at (0,34) width 275: "expand to fit an image with align='right'."
+      RenderBlock {DIV} at (0,67) size 784x34
+        RenderText {#text} at (0,0) size 198x17
           text run at (0,0) width 198: "Four score and seven years ago"
         RenderImage {IMG} at (708,0) size 76x103
-        RenderText {#text} at (198,0) size 685x37
+        RenderText {#text} at (198,0) size 685x34
           text run at (198,0) width 483: " our fathers brought forth on this continent a new nation, conceived in liberty"
           text run at (681,0) width 4: " "
-          text run at (0,18) width 392: "and dedicated to the proposition that all men are created equal."
+          text run at (0,17) width 392: "and dedicated to the proposition that all men are created equal."
 caret: position 1 of child 1 {IMG} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/4278698-expected.png b/LayoutTests/platform/gtk/editing/inserting/4278698-expected.png
index c4bfb07..74486f1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4278698-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/4278698-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4278698-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4278698-expected.txt
index bc961eba..127827d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4278698-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4278698-expected.txt
@@ -11,15 +11,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 767x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 767x34
           text run at (0,0) width 767: "This tests to see if inserting a space inside normal whitespace inside of a whitespace:pre element will collapse other spaces"
-          text run at (0,18) width 92: "surrounding it."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 444x19
+          text run at (0,17) width 92: "surrounding it."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 444x17
           text run at (0,0) width 444: "If successful, you should see 'a' followed by 10 spaces followed by 'b'."
-      RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,96) size 784x23 [border: (2px solid #FFAAAA)]
+      RenderBlock {HR} at (0,83) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,93) size 784x23 [border: (2px solid #FFAAAA)]
         RenderBlock {PRE} at (2,2) size 780x19 [border: (2px solid #AAAAFF)]
           RenderText {#text} at (2,2) size 96x15
             text run at (2,2) width 96: "a          b"
diff --git a/LayoutTests/platform/gtk/editing/inserting/4840662-expected.png b/LayoutTests/platform/gtk/editing/inserting/4840662-expected.png
new file mode 100644
index 0000000..a2b1e99
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/4840662-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4840662-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4840662-expected.txt
index 63d289a..b0c0980 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4840662-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4840662-expected.txt
@@ -3,13 +3,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 762x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 762x34
           text run at (0,0) width 402: "This tests insertion before/after links that are also display:block. "
           text run at (402,0) width 360: "Insertion before/after display:block links should go inside"
-          text run at (0,18) width 362: "the links so that text is inserted in the expected paragraph."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderBlock {A} at (0,0) size 784x18 [color=#0000EE]
-          RenderText {#text} at (0,0) size 248x19
+          text run at (0,17) width 362: "the links so that text is inserted in the expected paragraph."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderBlock {A} at (0,0) size 784x17 [color=#0000EE]
+          RenderText {#text} at (0,0) size 248x17
             text run at (0,0) width 248: "This sentence should all be on one line."
 caret: position 40 of child 0 {#text} of child 0 {A} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.png b/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.png
new file mode 100644
index 0000000..3a89255
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.txt
index ce1e3d8..441857b 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4875189-1-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 652x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 652x17
           text run at (0,0) width 358: "This tests for a bug when replacing the contents of a list. "
           text run at (358,0) width 294: "The list shouldn't be removed, just its contents."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 177x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 177x17
               text run at (0,0) width 177: "This should be in a list item."
 caret: position 30 of child 0 {#text} of child 0 {LI} of child 0 {UL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.png b/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.png
new file mode 100644
index 0000000..d1f8f89
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.txt
index 71c19fa..acc6741 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4875189-2-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 784x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 784x17
           text run at (0,0) width 441: "This tests for a bug when replacing the contents of a floating element. "
           text run at (441,0) width 343: "Just its contents should be removed during the replace."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (293,0) size 235x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (293,0) size 235x17
           text run at (293,0) width 235: "This shouldn't be in the bordered div."
-        RenderBlock (floating) {DIV} at (0,0) size 293x20 [border: (1px solid #0000FF)]
-          RenderText {#text} at (1,1) size 291x19
+        RenderBlock (floating) {DIV} at (0,0) size 293x19 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 291x17
             text run at (1,1) width 291: "This should be in a floating blue bordered div."
 caret: position 47 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/4959067-expected.png b/LayoutTests/platform/gtk/editing/inserting/4959067-expected.png
new file mode 100644
index 0000000..206cb77
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/4959067-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4959067-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4959067-expected.txt
index e5f0808..0dd5718 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4959067-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4959067-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 598x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 598x17
           text run at (0,0) width 598: "This tests to make sure that insertion over a fully selected special element doesn't do expansion."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderInline {A} at (0,0) size 21x19 [color=#0000EE]
-              RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderInline {A} at (0,0) size 21x17 [color=#0000EE]
+              RenderText {#text} at (0,0) size 21x17
                 text run at (0,0) width 21: "foo"
-      RenderBlock {UL} at (0,68) size 784x0
+      RenderBlock {UL} at (0,66) size 784x0
 caret: position 3 of child 0 {#text} of child 0 {A} of child 0 {LI} of child 1 {UL} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.png b/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.png
index 5369a0e..ac6939a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.txt
index 7e2ff99..1f1f22e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4960120-1-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 507x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 507x17
           text run at (0,0) width 507: "This tests for a bug where the first newline entered into a text area would be lost."
-      RenderBlock (anonymous) at (0,34) size 784x46
+      RenderBlock (anonymous) at (0,33) size 784x44
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
-layer at (10,44) size 201x42 clip at (11,45) size 199x40
-  RenderTextControl {TEXTAREA} at (2,2) size 201x42 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-    RenderBlock {DIV} at (3,3) size 195x36
-      RenderText {#text} at (0,0) size 0x19
+layer at (10,43) size 201x40 clip at (11,44) size 199x38
+  RenderTextControl {TEXTAREA} at (2,2) size 201x40 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 195x34
+      RenderText {#text} at (0,0) size 0x17
         text run at (0,0) width 0: " "
-      RenderText {#text} at (0,18) size 0x19
-        text run at (0,18) width 0: " "
+      RenderText {#text} at (0,17) size 0x17
+        text run at (0,17) width 0: " "
 caret: position 0 of child 1 {#text} of child 0 {DIV} of {#document-fragment} of child 2 {TEXTAREA} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.png b/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.png
new file mode 100644
index 0000000..dc21ae2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.txt b/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.txt
index b86f11b..53c7733 100644
--- a/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/4960120-2-expected.txt
@@ -3,16 +3,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 591x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 591x17
           text run at (0,0) width 591: "This tests for a bug where a newline inserted at the end of an anonymous block would be lost."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock (anonymous) at (0,0) size 784x36
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock (anonymous) at (0,0) size 784x34
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderBR {BR} at (21,15) size 0x0
-          RenderBR {BR} at (0,18) size 0x19
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+          RenderBR {BR} at (21,14) size 0x0
+          RenderBR {BR} at (0,17) size 0x17
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
 caret: position 0 of child 2 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5002441-expected.png b/LayoutTests/platform/gtk/editing/inserting/5002441-expected.png
new file mode 100644
index 0000000..65cde88
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5002441-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5002441-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5002441-expected.txt
index dbb4a7f..1a4ce6d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5002441-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5002441-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 521x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 521x17
           text run at (0,0) width 521: "This tests for a bug where spaces couldn't be inserted before signatures and replies."
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 4x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 4x17
             text run at (0,0) width 4: " "
-          RenderBR {BR} at (4,15) size 0x0
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 345x19
+          RenderBR {BR} at (4,14) size 0x0
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 345x17
             text run at (0,0) width 345: "There should be a single space in the paragraph above."
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.png b/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.png
new file mode 100644
index 0000000..05015a4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.txt
index e49dd53..888935c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5058163-1-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 759x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 759x17
           text run at (0,0) width 759: "This tests for a bug where hitting return between two tables would add a new paragraph at the end of the editable region."
-      RenderBlock {DIV} at (0,34) size 784x88
-        RenderTable {TABLE} at (0,0) size 475x26 [border: (1px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (1,1) size 473x24
-            RenderTableRow {TR} at (0,2) size 473x20
-              RenderTableCell {TD} at (2,2) size 469x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 467x19
+      RenderBlock {DIV} at (0,33) size 784x84
+        RenderTable {TABLE} at (0,0) size 475x25 [border: (1px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (1,1) size 473x23
+            RenderTableRow {TR} at (0,2) size 473x19
+              RenderTableCell {TD} at (2,2) size 469x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 467x17
                   text run at (1,1) width 467: "There should be two empty paragraphs after this table and before the next."
-        RenderBlock (anonymous) at (0,26) size 784x36
-          RenderBR {BR} at (0,0) size 0x19
-          RenderBR {BR} at (0,18) size 0x19
-        RenderTable {TABLE} at (0,62) size 276x26 [border: (1px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (1,1) size 274x24
-            RenderTableRow {TR} at (0,2) size 274x20
-              RenderTableCell {TD} at (2,2) size 270x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 268x19
+        RenderBlock (anonymous) at (0,25) size 784x34
+          RenderBR {BR} at (0,0) size 0x17
+          RenderBR {BR} at (0,17) size 0x17
+        RenderTable {TABLE} at (0,59) size 276x25 [border: (1px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (1,1) size 274x23
+            RenderTableRow {TR} at (0,2) size 274x19
+              RenderTableCell {TD} at (2,2) size 270x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 268x17
                   text run at (1,1) width 268: "And the caret should be in the second one."
 caret: position 0 of child 2 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.png b/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.png
new file mode 100644
index 0000000..0c6862c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.txt
index de1910c..1ba6b68 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5058163-2-expected.txt
@@ -3,16 +3,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 692x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 692x17
           text run at (0,0) width 692: "This tests for a bug where hitting return after a line break in text that preserves newlines wouldn't do anything."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock (anonymous) at (0,0) size 784x36
-          RenderText {#text} at (0,0) size 24x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock (anonymous) at (0,0) size 784x34
+          RenderText {#text} at (0,0) size 24x17
             text run at (0,0) width 24: "xxx"
             text run at (24,0) width 0: " "
-          RenderBR {BR} at (0,18) size 0x19
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 663x19
+          RenderBR {BR} at (0,17) size 0x17
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 663x17
             text run at (0,0) width 663: "There should be an empty paragraph before this one, and the caret should be at the start of this paragraph."
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.png b/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.png
new file mode 100644
index 0000000..41b1d2f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.txt
index e8119bc..3a253b3 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5156401-2-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 628x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 628x17
           text run at (0,0) width 628: "This tests for a bug where inserting at the end of a link would place content in the wrong paragraph."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderInline {A} at (0,0) size 420x19 [color=#0000EE]
-          RenderText {#text} at (0,0) size 420x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderInline {A} at (0,0) size 420x17 [color=#0000EE]
+          RenderText {#text} at (0,0) size 420x17
             text run at (0,0) width 420: "Everything in this editable region should be in the same paragraph."
-          RenderBR {BR} at (420,15) size 0x0
+          RenderBR {BR} at (420,14) size 0x0
 caret: position 67 of child 0 {#text} of child 0 {A} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5418891-expected.png b/LayoutTests/platform/gtk/editing/inserting/5418891-expected.png
new file mode 100644
index 0000000..3ac97f0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5418891-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5418891-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5418891-expected.txt
index f05db9a..893ff81 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5418891-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5418891-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 772x34
           text run at (0,0) width 536: "This tests for a crash when attempting to break a blockquote at the end of its content. "
           text run at (536,0) width 236: "The caret should be in the first of two"
-          text run at (0,18) width 358: "empty paragraphs between two pieces of quoted content."
-      RenderBlock {DIV} at (0,52) size 784x72
-        RenderBlock {BLOCKQUOTE} at (0,0) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (7,0) size 777x18
-            RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 358: "empty paragraphs between two pieces of quoted content."
+      RenderBlock {DIV} at (0,50) size 784x68
+        RenderBlock {BLOCKQUOTE} at (0,0) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (7,0) size 777x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (0,18) size 784x36
-          RenderBR {BR} at (0,0) size 0x19
-          RenderBR {BR} at (0,18) size 0x19
-        RenderBlock {BLOCKQUOTE} at (0,54) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (7,0) size 777x18
-            RenderText {#text} at (0,0) size 20x19
+        RenderBlock (anonymous) at (0,17) size 784x34
+          RenderBR {BR} at (0,0) size 0x17
+          RenderBR {BR} at (0,17) size 0x17
+        RenderBlock {BLOCKQUOTE} at (0,51) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (7,0) size 777x17
+            RenderText {#text} at (0,0) size 20x17
               text run at (0,0) width 20: "bar"
 caret: position 0 of child 2 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5510537-expected.png b/LayoutTests/platform/gtk/editing/inserting/5510537-expected.png
new file mode 100644
index 0000000..1c4a3a4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5510537-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5510537-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5510537-expected.txt
index b5bb0af..4f43f9e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5510537-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5510537-expected.txt
@@ -3,33 +3,33 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x579
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 773x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 773x34
           text run at (0,0) width 639: "This tests that inserting a newline at the beginning of quoted content doesn't add an extra quoted line. "
           text run at (639,0) width 134: "The test has passed if"
-          text run at (0,18) width 401: "there are no empty lines (quoted or unquoted) in the box below."
-      RenderBlock {DIV} at (0,52) size 784x90
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 59x19
+          text run at (0,17) width 401: "there are no empty lines (quoted or unquoted) in the box below."
+      RenderBlock {DIV} at (0,50) size 784x85
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 59x17
             text run at (0,0) width 59: "unquoted"
-          RenderBR {BR} at (59,15) size 0x0
-        RenderBlock {BLOCKQUOTE} at (0,18) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (12,0) size 772x18
-            RenderText {#text} at (0,0) size 96x19
+          RenderBR {BR} at (59,14) size 0x0
+        RenderBlock {BLOCKQUOTE} at (0,17) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (12,0) size 772x17
+            RenderText {#text} at (0,0) size 96x17
               text run at (0,0) width 96: "quote level one"
-        RenderBlock {BLOCKQUOTE} at (0,36) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (12,0) size 772x18
-            RenderText {#text} at (0,0) size 96x19
+        RenderBlock {BLOCKQUOTE} at (0,34) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (12,0) size 772x17
+            RenderText {#text} at (0,0) size 96x17
               text run at (0,0) width 96: "quote level one"
-        RenderBlock (anonymous) at (0,54) size 784x18
-          RenderText {#text} at (0,0) size 59x19
+        RenderBlock (anonymous) at (0,51) size 784x17
+          RenderText {#text} at (0,0) size 59x17
             text run at (0,0) width 59: "unquoted"
-          RenderBR {BR} at (59,15) size 0x0
-        RenderBlock {BLOCKQUOTE} at (0,72) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (12,0) size 772x18
-            RenderBlock {BLOCKQUOTE} at (0,0) size 772x18 [border: none (2px solid #0000FF)]
-              RenderBlock {DIV} at (12,0) size 760x18
-                RenderText {#text} at (0,0) size 97x19
+          RenderBR {BR} at (59,14) size 0x0
+        RenderBlock {BLOCKQUOTE} at (0,68) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (12,0) size 772x17
+            RenderBlock {BLOCKQUOTE} at (0,0) size 772x17 [border: none (2px solid #0000FF)]
+              RenderBlock {DIV} at (12,0) size 760x17
+                RenderText {#text} at (0,0) size 97x17
                   text run at (0,0) width 97: "quote level two"
-      RenderBlock {PRE} at (0,155) size 784x0
+      RenderBlock {PRE} at (0,148) size 784x0
 caret: position 8 of child 6 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.png b/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.png
new file mode 100644
index 0000000..bd5f3a8
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.txt
index bce9c3b..7bf93e1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5549929-2-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 735x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 735x34
           text run at (0,0) width 616: "This tests to make sure that a br isn't inserted into a tab span during an InsertLineBreak operation. "
           text run at (616,0) width 119: "You can test for its"
-          text run at (0,18) width 432: "existence with the DOM inspector or you can look at the render tree."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x36
-          RenderBR {BR} at (0,0) size 0x19
-          RenderInline {SPAN} at (0,0) size 32x19
-            RenderText {#text} at (0,18) size 32x19
-              text run at (0,18) width 32: "\x{9}"
-          RenderText {#text} at (32,18) size 20x19
-            text run at (32,18) width 20: "bar"
+          text run at (0,17) width 432: "existence with the DOM inspector or you can look at the render tree."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x34
+          RenderBR {BR} at (0,0) size 0x17
+          RenderInline {SPAN} at (0,0) size 32x17
+            RenderText {#text} at (0,17) size 32x17
+              text run at (0,17) width 32: "\x{9}"
+          RenderText {#text} at (32,17) size 20x17
+            text run at (32,17) width 20: "bar"
 caret: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.png b/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.png
new file mode 100644
index 0000000..e892d0d
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.txt b/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.txt
index b64326a..7a06ae9 100644
--- a/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/5549929-3-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 767x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 767x34
           text run at (0,0) width 351: "This tests inserting a line break at the end of a tab span. "
           text run at (351,0) width 416: "Below you should see 'foo' followed by an empty paragraph, with"
-          text run at (0,18) width 85: "the caret in it."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 85: "the caret in it."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "foo"
-        RenderInline {SPAN} at (0,0) size 11x19
-          RenderText {#text} at (21,0) size 11x19
+        RenderInline {SPAN} at (0,0) size 11x17
+          RenderText {#text} at (21,0) size 11x17
             text run at (21,0) width 11: "\x{9}"
-        RenderBR {BR} at (32,15) size 0x0
-        RenderBR {BR} at (0,18) size 0x19
+        RenderBR {BR} at (32,14) size 0x0
+        RenderBR {BR} at (0,17) size 0x17
 caret: position 0 of child 3 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/6703873-expected.png b/LayoutTests/platform/gtk/editing/inserting/6703873-expected.png
new file mode 100644
index 0000000..d3161fb
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/6703873-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/6703873-expected.txt b/LayoutTests/platform/gtk/editing/inserting/6703873-expected.txt
index a30df6a..f003243 100644
--- a/LayoutTests/platform/gtk/editing/inserting/6703873-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/6703873-expected.txt
@@ -3,24 +3,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x579
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 742x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 742x34
           text run at (0,0) width 667: "This tests that inserting a newline in place of a full line of quoted content doesn't add an extra quoted line. "
           text run at (667,0) width 75: "The test has"
-          text run at (0,18) width 460: "passed if there are no empty lines (quoted or unquoted) in the box below."
-      RenderBlock {DIV} at (0,52) size 784x54
-        RenderBlock {BLOCKQUOTE} at (0,0) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (12,0) size 772x18
-            RenderText {#text} at (0,0) size 43x19
+          text run at (0,17) width 460: "passed if there are no empty lines (quoted or unquoted) in the box below."
+      RenderBlock {DIV} at (0,50) size 784x51
+        RenderBlock {BLOCKQUOTE} at (0,0) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (12,0) size 772x17
+            RenderText {#text} at (0,0) size 43x17
               text run at (0,0) width 43: "quoted"
-          RenderBlock {DIV} at (12,18) size 772x0
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 59x19
+          RenderBlock {DIV} at (12,17) size 772x0
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 59x17
             text run at (0,0) width 59: "unquoted"
-          RenderBR {BR} at (59,15) size 0x0
-        RenderBlock {BLOCKQUOTE} at (0,36) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (12,0) size 772x18
-            RenderText {#text} at (0,0) size 43x19
+          RenderBR {BR} at (59,14) size 0x0
+        RenderBlock {BLOCKQUOTE} at (0,34) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (12,0) size 772x17
+            RenderText {#text} at (0,0) size 43x17
               text run at (0,0) width 43: "quoted"
-      RenderBlock {PRE} at (0,119) size 784x0
+      RenderBlock {PRE} at (0,114) size 784x0
 caret: position 8 of child 2 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.png b/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.png
index ee0f246..4455130 100644
--- a/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.txt b/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.txt
index eb2df76..deb90d5 100644
--- a/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/before-after-input-element-expected.txt
@@ -13,15 +13,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 332x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 332x17
           text run at (0,0) width 332: "This tests text insertion before/after an input element."
-      RenderBlock {DIV} at (0,34) size 784x28
-        RenderText {#text} at (0,5) size 35x19
+      RenderBlock {DIV} at (0,33) size 784x27
+        RenderText {#text} at (0,5) size 35x17
           text run at (0,5) width 35: "Hello"
-        RenderTextControl {INPUT} at (37,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (231,5) size 40x19
-          text run at (231,5) width 40: "World"
-layer at (48,47) size 186x18
-  RenderBlock {DIV} at (3,3) size 186x18
+        RenderTextControl {INPUT} at (37,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (230,5) size 40x17
+          text run at (230,5) width 40: "World"
+layer at (48,46) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
 caret: position 5 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.png b/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.png
index c367cb5..b10d809 100644
--- a/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.txt b/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.txt
index 860452d..f07414d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/break-blockquote-after-delete-expected.txt
@@ -3,22 +3,22 @@
 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 784x36
-        RenderText {#text} at (0,0) size 759x19
+      RenderBlock (anonymous) at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 759x17
           text run at (0,0) width 759: "This tests that the blockquote's typing style doesn't remain after breaking the blockquote and typing in the unquoted area."
-        RenderBR {BR} at (759,15) size 0x0
-        RenderBR {BR} at (0,18) size 0x19
-      RenderBlock {DIV} at (0,36) size 784x54
-        RenderBlock {BLOCKQUOTE} at (0,0) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (12,0) size 27x19
+        RenderBR {BR} at (759,14) size 0x0
+        RenderBR {BR} at (0,17) size 0x17
+      RenderBlock {DIV} at (0,34) size 784x51
+        RenderBlock {BLOCKQUOTE} at (0,0) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (12,0) size 27x17
             text run at (12,0) width 27: "blue"
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 34x19
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 34x17
             text run at (0,0) width 34: "black"
-          RenderBR {BR} at (34,15) size 0x0
-        RenderBlock {BLOCKQUOTE} at (0,36) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBlock {DIV} at (12,0) size 772x18
-            RenderBlock {BLOCKQUOTE} at (0,0) size 772x18 [color=#008000] [border: none (2px solid #008000)]
-              RenderText {#text} at (12,0) size 35x19
+          RenderBR {BR} at (34,14) size 0x0
+        RenderBlock {BLOCKQUOTE} at (0,34) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBlock {DIV} at (12,0) size 772x17
+            RenderBlock {BLOCKQUOTE} at (0,0) size 772x17 [color=#008000] [border: none (2px solid #008000)]
+              RenderText {#text} at (12,0) size 35x17
                 text run at (12,0) width 35: "green"
 caret: position 5 of child 2 {#text} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.png b/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.png
index bbdc849..8a2fde1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.txt b/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.txt
index 896dbd8..4ef620b 100644
--- a/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/editable-html-element-expected.txt
@@ -16,15 +16,15 @@
 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 784x54
-        RenderText {#text} at (0,0) size 783x55
+      RenderBlock (anonymous) at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 783x51
           text run at (0,0) width 714: "This tests to make sure that when the enclosing block is the body element, and when the html element is editable, "
           text run at (714,0) width 65: "inserting a"
           text run at (779,0) width 4: " "
-          text run at (0,18) width 751: "paragraph separator doesn't split the body (inserting a paragraph separator usually splits/clones the enclosing block flow"
-          text run at (751,18) width 4: " "
-          text run at (0,36) width 58: "element)."
+          text run at (0,17) width 751: "paragraph separator doesn't split the body (inserting a paragraph separator usually splits/clones the enclosing block flow"
+          text run at (751,17) width 4: " "
+          text run at (0,34) width 58: "element)."
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,54) size 784x18
-        RenderBR {BR} at (0,0) size 0x19
+      RenderBlock {DIV} at (0,51) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 0 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.png b/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.png
new file mode 100644
index 0000000..c259819
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.txt b/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.txt
index cf0ec84..f46dab0 100644
--- a/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/editable-inline-element-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 371x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 371x17
           text run at (0,0) width 371: "This tests InsertParagraph inside an editable inline element."
-      RenderBlock {DIV} at (0,34) size 784x38 [border: (1px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 21x37
-          RenderBR {BR} at (1,1) size 0x19
-          RenderText {#text} at (1,19) size 21x19
-            text run at (1,19) width 21: "foo"
+      RenderBlock {DIV} at (0,33) size 784x36 [border: (1px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 21x34
+          RenderBR {BR} at (1,1) size 0x17
+          RenderText {#text} at (1,18) size 21x17
+            text run at (1,18) width 21: "foo"
 caret: position 0 of child 1 {#text} of child 0 {SPAN} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.png b/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.png
new file mode 100644
index 0000000..d9ffdf1
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.txt b/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.txt
index 9b0348c..eb74dee 100644
--- a/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/edited-whitespace-1-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 784x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 784x34
           text run at (0,0) width 313: "This tests that edited whitespaces aren't all nbsps. "
           text run at (313,0) width 471: "When the region becomes non-editable, Hello and World should still be on"
-          text run at (0,18) width 94: "different lines. "
-          text run at (94,18) width 584: "This demonstrates a bug: the div's focus halo doesn't go away when it becomes non-editable."
-      RenderBlock {DIV} at (0,52) size 62x38 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 55x37
+          text run at (0,17) width 94: "different lines. "
+          text run at (94,17) width 584: "This demonstrates a bug: the div's focus halo doesn't go away when it becomes non-editable."
+      RenderBlock {DIV} at (0,50) size 62x36 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 55x34
           text run at (1,1) width 55: " Hello    "
-          text run at (1,19) width 44: "World "
-      RenderBlock {OL} at (0,106) size 784x0
+          text run at (1,18) width 44: "World "
+      RenderBlock {OL} at (0,102) size 784x0
 caret: position 17 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.png b/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.png
index b5e0ee0..adc98f4 100644
--- a/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.txt b/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.txt
index f421f47..a4021da 100644
--- a/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/editing-empty-divs-expected.txt
@@ -42,45 +42,45 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 772x34
           text run at (0,0) width 562: "This tests the ability to start editing in blocks that are visible, but have little or no content. "
           text run at (562,0) width 210: "Each of the divs below should be"
-          text run at (0,18) width 135: "able to accept a caret."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 176x19
+          text run at (0,17) width 135: "able to accept a caret."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 176x17
           text run at (0,0) width 176: "This div contains some text."
-      RenderBlock {DIV} at (0,86) size 707x22 [border: (1px dotted #0000FF)]
-        RenderText {#text} at (1,1) size 38x19
+      RenderBlock {DIV} at (0,83) size 708x22 [border: (1px dotted #0000FF)]
+        RenderText {#text} at (1,1) size 38x17
           text run at (1,1) width 38: "chello"
-      RenderBlock {P} at (0,124) size 784x18
-        RenderText {#text} at (0,0) size 186x19
+      RenderBlock {P} at (0,121) size 784x17
+        RenderText {#text} at (0,0) size 186x17
           text run at (0,0) width 186: "This div is completely empty."
-      RenderBlock {DIV} at (0,158) size 707x22 [border: (1px dotted #0000FF)]
-        RenderText {#text} at (1,1) size 7x19
+      RenderBlock {DIV} at (0,154) size 708x22 [border: (1px dotted #0000FF)]
+        RenderText {#text} at (1,1) size 7x17
           text run at (1,1) width 7: "c"
-      RenderBlock {P} at (0,196) size 784x18
-        RenderText {#text} at (0,0) size 340x19
+      RenderBlock {P} at (0,192) size 784x17
+        RenderText {#text} at (0,0) size 340x17
           text run at (0,0) width 340: "This div contains some collapsable whitespace (a '\\n')."
-      RenderBlock {DIV} at (0,230) size 707x22 [border: (1px dotted #0000FF)]
-        RenderText {#text} at (1,1) size 7x19
+      RenderBlock {DIV} at (0,225) size 708x22 [border: (1px dotted #0000FF)]
+        RenderText {#text} at (1,1) size 7x17
           text run at (1,1) width 7: "c"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {P} at (0,268) size 784x18
-        RenderText {#text} at (0,0) size 234x19
+      RenderBlock {P} at (0,263) size 784x17
+        RenderText {#text} at (0,0) size 234x17
           text run at (0,0) width 234: "This div contains a self-closing p tag."
-      RenderBlock {DIV} at (0,302) size 707x36 [border: (1px dotted #0000FF)]
-        RenderBlock (anonymous) at (1,1) size 705x18
-          RenderText {#text} at (0,0) size 7x19
+      RenderBlock {DIV} at (0,296) size 708x35 [border: (1px dotted #0000FF)]
+        RenderBlock (anonymous) at (1,1) size 706x17
+          RenderText {#text} at (0,0) size 7x17
             text run at (0,0) width 7: "c"
-        RenderBlock {P} at (1,35) size 705x0
-      RenderBlock {P} at (0,354) size 784x18
-        RenderText {#text} at (0,0) size 720x19
+        RenderBlock {P} at (1,34) size 706x0
+      RenderBlock {P} at (0,347) size 784x17
+        RenderText {#text} at (0,0) size 720x17
           text run at (0,0) width 720: "This div contains a self-closing p tag and some collapsable whitespace (two '\\n's before and after the self closing p."
-      RenderBlock {DIV} at (0,388) size 707x36 [border: (1px dotted #0000FF)]
-        RenderBlock (anonymous) at (1,1) size 705x18
-          RenderText {#text} at (0,0) size 7x19
+      RenderBlock {DIV} at (0,380) size 708x35 [border: (1px dotted #0000FF)]
+        RenderBlock (anonymous) at (1,1) size 706x17
+          RenderText {#text} at (0,0) size 7x17
             text run at (0,0) width 7: "c"
           RenderText {#text} at (0,0) size 0x0
-        RenderBlock {P} at (1,35) size 705x0
+        RenderBlock {P} at (1,34) size 706x0
 caret: position 1 of child 0 {#text} of child 21 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.png
new file mode 100644
index 0000000..fb04476
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.txt
index 95db12d..8cebabe 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3654864-fix-expected.txt
@@ -20,8 +20,8 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584 [border: (2px solid #FF0000)]
-      RenderBR {BR} at (14,14) size 0x28
-      RenderText {#text} at (14,42) size 36x28
-        text run at (14,42) width 36: "xxx"
+      RenderBR {BR} at (14,14) size 0x26
+      RenderText {#text} at (14,40) size 36x26
+        text run at (14,40) width 36: "xxx"
       RenderText {#text} at (0,0) size 0x0
 caret: position 3 of child 1 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.png
new file mode 100644
index 0000000..71da859
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.txt
index 3bfc17a..4fe6b5b 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3775316-fix-expected.txt
@@ -28,10 +28,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 784x84 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 12x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 12x26
           text run at (14,14) width 12: "x"
-        RenderBR {BR} at (26,36) size 0x0
-        RenderText {#text} at (14,42) size 12x28
-          text run at (14,42) width 12: "x"
+        RenderBR {BR} at (26,35) size 0x0
+        RenderText {#text} at (14,40) size 12x26
+          text run at (14,40) width 12: "x"
 caret: position 1 of child 2 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.png
index 0683472..fd4d639 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.txt
index 93d072a..d5e977d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3778059-fix-expected.txt
@@ -14,16 +14,16 @@
 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 784x208 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,38) size 756x132
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x28
-            RenderText {#text} at (0,0) size 42x28
+      RenderBlock {DIV} at (0,0) size 784x202 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,38) size 756x126
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x26
+            RenderText {#text} at (0,0) size 42x26
               text run at (0,0) width 42: "Test"
-          RenderBlock (anonymous) at (0,52) size 756x28
-            RenderText {#text} at (0,0) size 12x28
+          RenderBlock (anonymous) at (0,50) size 756x26
+            RenderText {#text} at (0,0) size 12x26
               text run at (0,0) width 12: "x"
-            RenderBR {BR} at (12,22) size 0x0
-          RenderBlock {BLOCKQUOTE} at (40,104) size 676x28
-            RenderText {#text} at (0,0) size 42x28
+            RenderBR {BR} at (12,21) size 0x0
+          RenderBlock {BLOCKQUOTE} at (40,100) size 676x26
+            RenderText {#text} at (0,0) size 42x26
               text run at (0,0) width 42: "Test"
 caret: position 1 of child 3 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.png
new file mode 100644
index 0000000..d565d58
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.txt
index 8e75d39..47cfb40 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3800346-fix-expected.txt
@@ -22,17 +22,17 @@
 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 784x244 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x216
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 42x28
+      RenderBlock {DIV} at (0,0) size 784x232 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x204
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 42x26
               text run at (0,0) width 42: "Test"
-          RenderBlock {BLOCKQUOTE} at (40,52) size 676x28
-            RenderText {#text} at (0,0) size 42x28
+          RenderBlock {BLOCKQUOTE} at (40,50) size 676x26
+            RenderText {#text} at (0,0) size 42x26
               text run at (0,0) width 42: "Test"
-          RenderBlock (anonymous) at (0,104) size 756x112
-            RenderBR {BR} at (0,0) size 0x28
-            RenderBR {BR} at (0,28) size 0x28
-            RenderBR {BR} at (0,56) size 0x28
-            RenderBR {BR} at (0,84) size 0x28
+          RenderBlock (anonymous) at (0,100) size 756x104
+            RenderBR {BR} at (0,0) size 0x26
+            RenderBR {BR} at (0,26) size 0x26
+            RenderBR {BR} at (0,52) size 0x26
+            RenderBR {BR} at (0,78) size 0x26
 caret: position 0 of child 5 {BR} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.png
new file mode 100644
index 0000000..0ebb3e3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.txt
index e62ae72..4b4320c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-3851164-fix-expected.txt
@@ -16,7 +16,7 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x28
-        RenderText {#text} at (0,0) size 12x28
+      RenderBlock {P} at (0,0) size 784x27
+        RenderText {#text} at (0,0) size 12x27
           text run at (0,0) width 12: "x"
 caret: position 1 of child 0 {#text} of child 0 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.png
new file mode 100644
index 0000000..f5d683e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.txt
index b22a82f..babf56c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-after-delete-001-expected.txt
@@ -21,7 +21,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 36x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 36x26
           text run at (14,14) width 36: "xxx"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.png
index 8847ce0..f3e542c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.txt
index c7aff4e..ffa58b8 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-01-expected.txt
@@ -11,22 +11,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 374x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 374x17
           text run at (0,0) width 374: "This tests the visual position at the end of an editable block."
-      RenderBlock {P} at (0,34) size 784x36
-        RenderText {#text} at (0,0) size 717x37
+      RenderBlock {P} at (0,33) size 784x34
+        RenderText {#text} at (0,0) size 717x34
           text run at (0,0) width 590: "When the document ended with a <br>, there were visual positions at both [br, 0] and [br, 1]. "
           text run at (590,0) width 127: "This would produce"
-          text run at (0,18) width 382: "inconsistent behavior when editing at the end of a document."
-      RenderBlock {DIV} at (0,86) size 784x66 [border: (2px solid #AAAAFF)]
-        RenderBlock {DIV} at (2,2) size 780x22 [border: (2px solid #FFAAAA)]
-          RenderText {#text} at (2,2) size 90x19
+          text run at (0,17) width 382: "inconsistent behavior when editing at the end of a document."
+      RenderBlock {DIV} at (0,83) size 784x63 [border: (2px solid #AAAAFF)]
+        RenderBlock {DIV} at (2,2) size 780x21 [border: (2px solid #FFAAAA)]
+          RenderText {#text} at (2,2) size 90x17
             text run at (2,2) width 90: "paragraph one"
-        RenderBlock {DIV} at (2,24) size 780x22 [border: (2px solid #FFAAAA)]
-          RenderText {#text} at (2,2) size 91x19
+        RenderBlock {DIV} at (2,23) size 780x21 [border: (2px solid #FFAAAA)]
+          RenderText {#text} at (2,2) size 91x17
             text run at (2,2) width 91: "paragraph two"
-        RenderBlock (anonymous) at (2,46) size 780x18
-          RenderText {#text} at (0,0) size 8x19
+        RenderBlock (anonymous) at (2,44) size 780x17
+          RenderText {#text} at (0,0) size 8x17
             text run at (0,0) width 8: "x"
 caret: position 1 of child 5 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.png
index 8847ce0..f3e542c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.txt
index 85fa8a2..49be738 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-at-end-02-expected.txt
@@ -11,22 +11,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 374x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 374x17
           text run at (0,0) width 374: "This tests the visual position at the end of an editable block."
-      RenderBlock {P} at (0,34) size 784x36
-        RenderText {#text} at (0,0) size 717x37
+      RenderBlock {P} at (0,33) size 784x34
+        RenderText {#text} at (0,0) size 717x34
           text run at (0,0) width 590: "When the document ended with a <br>, there were visual positions at both [br, 0] and [br, 1]. "
           text run at (590,0) width 127: "This would produce"
-          text run at (0,18) width 382: "inconsistent behavior when editing at the end of a document."
-      RenderBlock {DIV} at (0,86) size 784x66 [border: (2px solid #AAAAFF)]
-        RenderBlock {DIV} at (2,2) size 780x22 [border: (2px solid #FFAAAA)]
-          RenderText {#text} at (2,2) size 90x19
+          text run at (0,17) width 382: "inconsistent behavior when editing at the end of a document."
+      RenderBlock {DIV} at (0,83) size 784x63 [border: (2px solid #AAAAFF)]
+        RenderBlock {DIV} at (2,2) size 780x21 [border: (2px solid #FFAAAA)]
+          RenderText {#text} at (2,2) size 90x17
             text run at (2,2) width 90: "paragraph one"
-        RenderBlock {DIV} at (2,24) size 780x22 [border: (2px solid #FFAAAA)]
-          RenderText {#text} at (2,2) size 91x19
+        RenderBlock {DIV} at (2,23) size 780x21 [border: (2px solid #FFAAAA)]
+          RenderText {#text} at (2,2) size 91x17
             text run at (2,2) width 91: "paragraph two"
-        RenderBlock (anonymous) at (2,46) size 780x18
-          RenderText {#text} at (0,0) size 8x19
+        RenderBlock (anonymous) at (2,44) size 780x17
+          RenderText {#text} at (0,0) size 8x17
             text run at (0,0) width 8: "x"
 caret: position 1 of child 5 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.png
index 147a629..3f8570e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.txt
index b9db92a..b6338dc 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-001-expected.txt
@@ -15,12 +15,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 34x56
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 34x52
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "test"
-          RenderBR {BR} at (48,36) size 0x0
-          RenderText {#text} at (14,42) size 12x28
-            text run at (14,42) width 12: "x"
+          RenderBR {BR} at (48,35) size 0x0
+          RenderText {#text} at (14,40) size 12x26
+            text run at (14,40) width 12: "x"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.png
index 7b44f9b..0f970f3 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.txt
index 0756a3f..7caa87e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-002-expected.txt
@@ -16,15 +16,15 @@
 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 34x84
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 34x78
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "test"
-          RenderBR {BR} at (48,36) size 0x0
-          RenderText {#text} at (14,42) size 12x28
-            text run at (14,42) width 12: "x"
-          RenderBR {BR} at (26,64) size 0x0
-          RenderText {#text} at (14,70) size 34x28
-            text run at (14,70) width 34: "test"
+          RenderBR {BR} at (48,35) size 0x0
+          RenderText {#text} at (14,40) size 12x26
+            text run at (14,40) width 12: "x"
+          RenderBR {BR} at (26,61) size 0x0
+          RenderText {#text} at (14,66) size 34x26
+            text run at (14,66) width 34: "test"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.png
index 2a260ef..89356d4 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.txt
index 5d320f7..b23088c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-003-expected.txt
@@ -16,12 +16,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 46x56
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 46x52
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "test"
-          RenderBR {BR} at (48,36) size 0x0
-          RenderText {#text} at (14,42) size 46x28
-            text run at (14,42) width 46: "xtest"
+          RenderBR {BR} at (48,35) size 0x0
+          RenderText {#text} at (14,40) size 46x26
+            text run at (14,40) width 46: "xtest"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.png
index dbb1352..355a836 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.txt
index 068ac22..3f083a8 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-004-expected.txt
@@ -14,12 +14,12 @@
 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 32x84
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 32x78
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderBR {BR} at (46,36) size 0x0
-          RenderBR {BR} at (14,42) size 0x28
-          RenderBR {BR} at (14,70) size 0x28
+          RenderBR {BR} at (46,35) size 0x0
+          RenderBR {BR} at (14,40) size 0x26
+          RenderBR {BR} at (14,66) size 0x26
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 3 {BR} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.png
new file mode 100644
index 0000000..8db1b78
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.txt
index 8c6c43b..63d2a57 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-005-expected.txt
@@ -17,13 +17,13 @@
 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 32x84
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 32x78
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderBR {BR} at (46,36) size 0x0
-          RenderBR {BR} at (14,42) size 0x28
-          RenderText {#text} at (14,70) size 12x28
-            text run at (14,70) width 12: "x"
+          RenderBR {BR} at (46,35) size 0x0
+          RenderBR {BR} at (14,40) size 0x26
+          RenderText {#text} at (14,66) size 12x26
+            text run at (14,66) width 12: "x"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.png
index 8b46f4e..67f395c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.txt
index 436192a..7213396 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-006-expected.txt
@@ -11,10 +11,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 784x84 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 44x56
-          RenderBR {BR} at (14,14) size 0x28
-          RenderText {#text} at (14,42) size 44x28
-            text run at (14,42) width 44: "xfoo"
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 44x52
+          RenderBR {BR} at (14,14) size 0x26
+          RenderText {#text} at (14,40) size 44x26
+            text run at (14,40) width 44: "xfoo"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 1 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.png
index 4b92be9..fdc82d2 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.txt
index cd4bf1f..f19771a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-007-expected.txt
@@ -12,12 +12,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 37x56
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 37x52
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderBR {BR} at (46,36) size 0x0
-          RenderText {#text} at (14,42) size 37x28
-            text run at (14,42) width 37: " bar"
+          RenderBR {BR} at (46,35) size 0x0
+          RenderText {#text} at (14,40) size 37x26
+            text run at (14,40) width 37: " bar"
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.png
index e0779e8..0b05c78 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.txt
index 9e96bd8..5076625 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-008-expected.txt
@@ -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 #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-        RenderText {#text} at (14,42) size 38x28
-          text run at (14,42) width 38: " foo"
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+        RenderText {#text} at (14,40) size 38x26
+          text run at (14,40) width 38: " foo"
 caret: position 1 of child 1 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.png
index d711e68..3f610fc 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.txt
index 9c9724a..e851553 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-009-expected.txt
@@ -10,17 +10,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 774x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 774x34
           text run at (0,0) width 316: "This tests for a bug in InsertLineBreakCommand. "
           text run at (316,0) width 458: "Only one line break should be inserted and the caret should end up at the"
-          text run at (0,18) width 194: "end of the bordered div below."
-      RenderBlock {DIV} at (0,52) size 784x56 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 80x19
+          text run at (0,17) width 194: "end of the bordered div below."
+      RenderBlock {DIV} at (0,50) size 784x53 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 80x17
           text run at (1,1) width 80: "Hello world."
           text run at (81,1) width 0: " "
-        RenderText {#text} at (1,19) size 0x19
-          text run at (1,19) width 0: " "
-        RenderText {#text} at (1,37) size 0x19
-          text run at (1,37) width 0: " "
+        RenderText {#text} at (1,18) size 0x17
+          text run at (1,18) width 0: " "
+        RenderText {#text} at (1,35) size 0x17
+          text run at (1,35) width 0: " "
 caret: position 0 of child 2 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.png
index 4b9d7d0..9e134fe 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.txt
index 3f8f8de..93b2b0a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.txt
@@ -13,17 +13,17 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 155x56
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 155x52
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderBR {BR} at (25,36) size 0x0
-          RenderText {#text} at (14,42) size 12x28
-            text run at (14,42) width 12: "x"
-          RenderInline {SPAN} at (0,0) size 132x28
-            RenderText {#text} at (26,42) size 132x28
-              text run at (26,42) width 132: "\x{9}\x{9}\x{9}"
-          RenderText {#text} at (158,42) size 11x28
-            text run at (158,42) width 11: "z"
+          RenderBR {BR} at (25,35) size 0x0
+          RenderText {#text} at (14,40) size 12x26
+            text run at (14,40) width 12: "x"
+          RenderInline {SPAN} at (0,0) size 132x26
+            RenderText {#text} at (26,40) size 132x26
+              text run at (26,40) width 132: "\x{9}\x{9}\x{9}"
+          RenderText {#text} at (158,40) size 11x26
+            text run at (158,40) width 11: "z"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.png
index 37f3d1b..a4b927d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.txt
index 67f2722..68db3e1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.txt
@@ -14,20 +14,20 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 107x56
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 107x52
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderInline {SPAN} at (0,0) size 37x28
-            RenderText {#text} at (25,14) size 37x28
+          RenderInline {SPAN} at (0,0) size 37x26
+            RenderText {#text} at (25,14) size 37x26
               text run at (25,14) width 37: "\x{9}"
-          RenderBR {BR} at (62,36) size 0x0
-          RenderText {#text} at (14,42) size 12x28
-            text run at (14,42) width 12: "x"
-          RenderInline {SPAN} at (0,0) size 84x28
-            RenderText {#text} at (26,42) size 84x28
-              text run at (26,42) width 84: "\x{9}\x{9}"
-          RenderText {#text} at (110,42) size 11x28
-            text run at (110,42) width 11: "z"
+          RenderBR {BR} at (62,35) size 0x0
+          RenderText {#text} at (14,40) size 12x26
+            text run at (14,40) width 12: "x"
+          RenderInline {SPAN} at (0,0) size 84x26
+            RenderText {#text} at (26,40) size 84x26
+              text run at (26,40) width 84: "\x{9}\x{9}"
+          RenderText {#text} at (110,40) size 11x26
+            text run at (110,40) width 11: "z"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.png
index e00870f..2a0b8da 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.txt
index 4242ad59..19f40ac 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.txt
@@ -16,15 +16,15 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 144x56
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 144x52
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderInline {SPAN} at (0,0) size 133x28
-            RenderText {#text} at (25,14) size 133x28
+          RenderInline {SPAN} at (0,0) size 133x26
+            RenderText {#text} at (25,14) size 133x26
               text run at (25,14) width 133: "\x{9}\x{9}\x{9}"
-          RenderBR {BR} at (158,36) size 0x0
-          RenderText {#text} at (14,42) size 23x28
-            text run at (14,42) width 23: "xz"
+          RenderBR {BR} at (158,35) size 0x0
+          RenderText {#text} at (14,40) size 23x26
+            text run at (14,40) width 23: "xz"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 3 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.png
index a855465..2901f61 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.txt
index 65747e3..001dc9a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-001-expected.txt
@@ -13,37 +13,37 @@
 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 784x110
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 277x28
+      RenderBlock {DIV} at (0,0) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 277x26
             text run at (0,0) width 277: "Splitting Mail blockquotes."
-        RenderBlock {DIV} at (0,28) size 784x82
-          RenderText {#text} at (0,0) size 189x28
+        RenderBlock {DIV} at (0,26) size 784x77
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 371x19
-            text run at (0,28) width 371: "Two blockquotes, with an unquoted blank line in between."
-          RenderBR {BR} at (371,43) size 0x0
-          RenderText {#text} at (0,46) size 403x19
-            text run at (0,46) width 403: "The first blockquote contains two lines, the second one is blank."
-          RenderBR {BR} at (403,61) size 0x0
-          RenderText {#text} at (0,64) size 312x19
-            text run at (0,64) width 312: "The second blockquote is a single non-blank line."
-      RenderBlock {DIV} at (0,110) size 784x224 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 120x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 371x17
+            text run at (0,26) width 371: "Two blockquotes, with an unquoted blank line in between."
+          RenderBR {BR} at (371,40) size 0x0
+          RenderText {#text} at (0,43) size 403x17
+            text run at (0,43) width 403: "The first blockquote contains two lines, the second one is blank."
+          RenderBR {BR} at (403,57) size 0x0
+          RenderText {#text} at (0,60) size 312x17
+            text run at (0,60) width 312: "The second blockquote is a single non-blank line."
+      RenderBlock {DIV} at (0,103) size 784x214 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 120x26
             text run at (0,0) width 120: "My citation:"
-        RenderBlock {DIV} at (14,66) size 756x144
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 35x28
+        RenderBlock {DIV} at (14,64) size 756x136
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderBR {BR} at (0,0) size 0x28
-          RenderBlock (anonymous) at (0,60) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {BLOCKQUOTE} at (40,112) size 676x32 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderBR {BR} at (0,0) size 0x26
+          RenderBlock (anonymous) at (0,56) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {BLOCKQUOTE} at (40,106) size 676x30 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.png
index a855465..2901f61 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.txt
index 6945cd8..f2588ba 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-002-expected.txt
@@ -13,39 +13,39 @@
 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 784x110
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 277x28
+      RenderBlock {DIV} at (0,0) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 277x26
             text run at (0,0) width 277: "Splitting Mail blockquotes."
-        RenderBlock {DIV} at (0,28) size 784x82
-          RenderText {#text} at (0,0) size 189x28
+        RenderBlock {DIV} at (0,26) size 784x77
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 371x19
-            text run at (0,28) width 371: "Two blockquotes, with an unquoted blank line in between."
-          RenderBR {BR} at (371,43) size 0x0
-          RenderText {#text} at (0,46) size 403x19
-            text run at (0,46) width 403: "The first blockquote contains two lines, the second one is blank."
-          RenderBR {BR} at (403,61) size 0x0
-          RenderText {#text} at (0,64) size 312x19
-            text run at (0,64) width 312: "The second blockquote is a single non-blank line."
-      RenderBlock {DIV} at (0,110) size 784x224 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 120x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 371x17
+            text run at (0,26) width 371: "Two blockquotes, with an unquoted blank line in between."
+          RenderBR {BR} at (371,40) size 0x0
+          RenderText {#text} at (0,43) size 403x17
+            text run at (0,43) width 403: "The first blockquote contains two lines, the second one is blank."
+          RenderBR {BR} at (403,57) size 0x0
+          RenderText {#text} at (0,60) size 312x17
+            text run at (0,60) width 312: "The second blockquote is a single non-blank line."
+      RenderBlock {DIV} at (0,103) size 784x214 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 120x26
             text run at (0,0) width 120: "My citation:"
-        RenderBlock {DIV} at (14,66) size 756x144
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 35x28
+        RenderBlock {DIV} at (14,64) size 756x136
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderBlock {DIV} at (0,0) size 672x28
-                  RenderBR {BR} at (0,0) size 0x28
-          RenderBlock (anonymous) at (0,60) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {BLOCKQUOTE} at (40,112) size 676x32 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderBlock {DIV} at (0,0) size 672x26
+                  RenderBR {BR} at (0,0) size 0x26
+          RenderBlock (anonymous) at (0,56) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {BLOCKQUOTE} at (40,106) size 676x30 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.png
index 0adef9f..c217f67 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.txt
index 5e93bf8..6b25bd1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-003-expected.txt
@@ -13,44 +13,44 @@
 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 784x110
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 277x28
+      RenderBlock {DIV} at (0,0) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 277x26
             text run at (0,0) width 277: "Splitting Mail blockquotes."
-        RenderBlock {DIV} at (0,28) size 784x82
-          RenderText {#text} at (0,0) size 189x28
+        RenderBlock {DIV} at (0,26) size 784x77
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 371x19
-            text run at (0,28) width 371: "Two blockquotes, with an unquoted blank line in between."
-          RenderBR {BR} at (371,43) size 0x0
-          RenderText {#text} at (0,46) size 403x19
-            text run at (0,46) width 403: "The first blockquote contains two lines, the second one is blank."
-          RenderBR {BR} at (403,61) size 0x0
-          RenderText {#text} at (0,64) size 336x19
-            text run at (0,64) width 336: "The second blockquote contains two non-blank lines."
-      RenderBlock {DIV} at (0,110) size 784x252 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 120x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 371x17
+            text run at (0,26) width 371: "Two blockquotes, with an unquoted blank line in between."
+          RenderBR {BR} at (371,40) size 0x0
+          RenderText {#text} at (0,43) size 403x17
+            text run at (0,43) width 403: "The first blockquote contains two lines, the second one is blank."
+          RenderBR {BR} at (403,57) size 0x0
+          RenderText {#text} at (0,60) size 336x17
+            text run at (0,60) width 336: "The second blockquote contains two non-blank lines."
+      RenderBlock {DIV} at (0,103) size 784x240 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 120x26
             text run at (0,0) width 120: "My citation:"
-        RenderBlock {DIV} at (14,66) size 756x172
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 35x28
+        RenderBlock {DIV} at (14,64) size 756x162
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderBlock {DIV} at (0,0) size 672x28
-                  RenderBR {BR} at (0,0) size 0x28
-          RenderBlock (anonymous) at (0,60) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {BLOCKQUOTE} at (40,112) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderBlock {DIV} at (0,0) size 672x28
-                  RenderText {#text} at (0,0) size 137x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderBlock {DIV} at (0,0) size 672x26
+                  RenderBR {BR} at (0,0) size 0x26
+          RenderBlock (anonymous) at (0,56) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {BLOCKQUOTE} at (40,106) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderBlock {DIV} at (0,0) size 672x26
+                  RenderText {#text} at (0,0) size 137x26
                     text run at (0,0) width 137: "one and a half"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.png
index 0adef9f..c217f67 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt
index 734a7e1..0888a45 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt
@@ -13,44 +13,44 @@
 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 784x110
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 277x28
+      RenderBlock {DIV} at (0,0) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 277x26
             text run at (0,0) width 277: "Splitting Mail blockquotes."
-        RenderBlock {DIV} at (0,28) size 784x82
-          RenderText {#text} at (0,0) size 189x28
+        RenderBlock {DIV} at (0,26) size 784x77
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 371x19
-            text run at (0,28) width 371: "Two blockquotes, with an unquoted blank line in between."
-          RenderBR {BR} at (371,43) size 0x0
-          RenderText {#text} at (0,46) size 403x19
-            text run at (0,46) width 403: "The first blockquote contains two lines, the second one is blank."
-          RenderBR {BR} at (403,61) size 0x0
-          RenderText {#text} at (0,64) size 336x19
-            text run at (0,64) width 336: "The second blockquote contains two non-blank lines."
-      RenderBlock {DIV} at (0,110) size 784x252 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 120x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 371x17
+            text run at (0,26) width 371: "Two blockquotes, with an unquoted blank line in between."
+          RenderBR {BR} at (371,40) size 0x0
+          RenderText {#text} at (0,43) size 403x17
+            text run at (0,43) width 403: "The first blockquote contains two lines, the second one is blank."
+          RenderBR {BR} at (403,57) size 0x0
+          RenderText {#text} at (0,60) size 336x17
+            text run at (0,60) width 336: "The second blockquote contains two non-blank lines."
+      RenderBlock {DIV} at (0,103) size 784x240 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 120x26
             text run at (0,0) width 120: "My citation:"
-        RenderBlock {DIV} at (14,66) size 756x172
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 35x28
+        RenderBlock {DIV} at (14,64) size 756x162
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderBlock {DIV} at (0,0) size 672x28
-                  RenderBR {BR} at (0,0) size 0x28
-                RenderBlock (anonymous) at (0,28) size 672x0
-          RenderBlock (anonymous) at (0,60) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {BLOCKQUOTE} at (40,112) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderText {#text} at (0,0) size 137x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderBlock {DIV} at (0,0) size 672x26
+                  RenderBR {BR} at (0,0) size 0x26
+                RenderBlock (anonymous) at (0,26) size 672x0
+          RenderBlock (anonymous) at (0,56) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {BLOCKQUOTE} at (40,106) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderText {#text} at (0,0) size 137x26
                   text run at (0,0) width 137: "one and a half"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.png
index a855465..2901f61 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.txt
index 6945cd8..f2588ba 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-005-expected.txt
@@ -13,39 +13,39 @@
 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 784x110
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 277x28
+      RenderBlock {DIV} at (0,0) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 277x26
             text run at (0,0) width 277: "Splitting Mail blockquotes."
-        RenderBlock {DIV} at (0,28) size 784x82
-          RenderText {#text} at (0,0) size 189x28
+        RenderBlock {DIV} at (0,26) size 784x77
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 371x19
-            text run at (0,28) width 371: "Two blockquotes, with an unquoted blank line in between."
-          RenderBR {BR} at (371,43) size 0x0
-          RenderText {#text} at (0,46) size 403x19
-            text run at (0,46) width 403: "The first blockquote contains two lines, the second one is blank."
-          RenderBR {BR} at (403,61) size 0x0
-          RenderText {#text} at (0,64) size 312x19
-            text run at (0,64) width 312: "The second blockquote is a single non-blank line."
-      RenderBlock {DIV} at (0,110) size 784x224 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 120x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 371x17
+            text run at (0,26) width 371: "Two blockquotes, with an unquoted blank line in between."
+          RenderBR {BR} at (371,40) size 0x0
+          RenderText {#text} at (0,43) size 403x17
+            text run at (0,43) width 403: "The first blockquote contains two lines, the second one is blank."
+          RenderBR {BR} at (403,57) size 0x0
+          RenderText {#text} at (0,60) size 312x17
+            text run at (0,60) width 312: "The second blockquote is a single non-blank line."
+      RenderBlock {DIV} at (0,103) size 784x214 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 120x26
             text run at (0,0) width 120: "My citation:"
-        RenderBlock {DIV} at (14,66) size 756x144
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 35x28
+        RenderBlock {DIV} at (14,64) size 756x136
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderBlock {DIV} at (0,0) size 672x28
-                  RenderBR {BR} at (0,0) size 0x28
-          RenderBlock (anonymous) at (0,60) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {BLOCKQUOTE} at (40,112) size 676x32 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderBlock {DIV} at (0,0) size 672x26
+                  RenderBR {BR} at (0,0) size 0x26
+          RenderBlock (anonymous) at (0,56) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {BLOCKQUOTE} at (40,106) size 676x30 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.png
index a8566e6..74c85ed 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt
index a413418..ef17664 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt
@@ -13,43 +13,43 @@
 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 784x110
-        RenderBlock {DIV} at (0,0) size 784x28
-          RenderText {#text} at (0,0) size 277x28
+      RenderBlock {DIV} at (0,0) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x26
+          RenderText {#text} at (0,0) size 277x26
             text run at (0,0) width 277: "Splitting Mail blockquotes."
-        RenderBlock {DIV} at (0,28) size 784x82
-          RenderText {#text} at (0,0) size 189x28
+        RenderBlock {DIV} at (0,26) size 784x77
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 371x19
-            text run at (0,28) width 371: "Two blockquotes, with an unquoted blank line in between."
-          RenderBR {BR} at (371,43) size 0x0
-          RenderText {#text} at (0,46) size 403x19
-            text run at (0,46) width 403: "The first blockquote contains two lines, the second one is blank."
-          RenderBR {BR} at (403,61) size 0x0
-          RenderText {#text} at (0,64) size 403x19
-            text run at (0,64) width 403: "The second blockquote contains two lines, the first one is blank."
-          RenderBR {BR} at (403,79) size 0x0
-      RenderBlock {DIV} at (0,110) size 784x300 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 120x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 371x17
+            text run at (0,26) width 371: "Two blockquotes, with an unquoted blank line in between."
+          RenderBR {BR} at (371,40) size 0x0
+          RenderText {#text} at (0,43) size 403x17
+            text run at (0,43) width 403: "The first blockquote contains two lines, the second one is blank."
+          RenderBR {BR} at (403,57) size 0x0
+          RenderText {#text} at (0,60) size 403x17
+            text run at (0,60) width 403: "The second blockquote contains two lines, the first one is blank."
+          RenderBR {BR} at (403,74) size 0x0
+      RenderBlock {DIV} at (0,103) size 784x288 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 120x26
             text run at (0,0) width 120: "My citation:"
-        RenderBlock {DIV} at (14,66) size 756x196
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock {DIV} at (2,2) size 672x28
-              RenderText {#text} at (0,0) size 35x28
+        RenderBlock {DIV} at (14,64) size 756x186
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock {DIV} at (2,2) size 672x26
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderBlock {DIV} at (0,0) size 672x28
-                RenderBlock {DIV} at (0,0) size 672x28
-                  RenderBR {BR} at (0,0) size 0x28
-            RenderBlock (anonymous) at (2,58) size 672x0
-          RenderBlock (anonymous) at (0,84) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {BLOCKQUOTE} at (40,136) size 676x60 [border: (2px solid #0000FF)]
-            RenderBlock (anonymous) at (2,2) size 672x28
-              RenderBR {BR} at (0,0) size 0x28
-            RenderBlock {DIV} at (2,30) size 672x28
-              RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderBlock {DIV} at (0,0) size 672x26
+                RenderBlock {DIV} at (0,0) size 672x26
+                  RenderBR {BR} at (0,0) size 0x26
+            RenderBlock (anonymous) at (2,54) size 672x0
+          RenderBlock (anonymous) at (0,80) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {BLOCKQUOTE} at (40,130) size 676x56 [border: (2px solid #0000FF)]
+            RenderBlock (anonymous) at (2,2) size 672x26
+              RenderBR {BR} at (0,0) size 0x26
+            RenderBlock {DIV} at (2,28) size 672x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.png
new file mode 100644
index 0000000..60ea574
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.txt
index 35ee32e0..4263a57 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-001-expected.txt
@@ -15,10 +15,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "test"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 12x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 12x26
           text run at (14,14) width 12: "x"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.png
new file mode 100644
index 0000000..60ea574
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.txt
index 0225523..b155c10 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-002-expected.txt
@@ -16,10 +16,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "test"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 12x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 12x26
           text run at (14,14) width 12: "x"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.png
new file mode 100644
index 0000000..0a69d69
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.txt
index 68a2a23..88cacd9 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-003-expected.txt
@@ -17,10 +17,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "test"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 46x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 46x26
           text run at (14,14) width 46: "xtest"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.png
new file mode 100644
index 0000000..4635bb3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.txt
index 2806a84..414a258 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-004-expected.txt
@@ -16,11 +16,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "test"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,108) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.png
new file mode 100644
index 0000000..4bec99a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.txt
index fb92984..8e274ee 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-005-expected.txt
@@ -19,12 +19,12 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "test"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 12x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,108) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 12x26
           text run at (14,14) width 12: "x"
 caret: position 1 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.png
index 92b4069..0374717 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.txt
index 4bd3f13..9fcbc42 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-006-expected.txt
@@ -11,9 +11,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 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 46x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 46x26
           text run at (14,14) width 46: "xtest"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.png
index c14af1a..968c588e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.txt
index 1ae0ba0..c96064c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-007-expected.txt
@@ -13,10 +13,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 37x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 37x26
           text run at (14,14) width 37: " bar"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.png
index a655228..250bdb4 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.txt
index 0b96e2d..32976d5 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-008-expected.txt
@@ -11,9 +11,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 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 44x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 44x26
           text run at (14,14) width 44: "xfoo"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.png
new file mode 100644
index 0000000..b6e986b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.txt
index 37ed1f5..535aa2f 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-009-expected.txt
@@ -15,10 +15,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 784x18
-        RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "test"
-      RenderBlock {DIV} at (0,18) size 784x18
-        RenderText {#text} at (0,0) size 8x19
+      RenderBlock {DIV} at (0,17) size 784x17
+        RenderText {#text} at (0,0) size 8x17
           text run at (0,0) width 8: "x"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.png
index 8d55730..a0f34cc 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.txt
index 05123e0..93a7a37 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-010-expected.txt
@@ -12,9 +12,9 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584 [border: (2px solid #FF0000)]
-      RenderBlock {DIV} at (14,14) size 756x28
-        RenderBR {BR} at (0,0) size 0x28
-      RenderBlock {DIV} at (14,42) size 756x28
-        RenderText {#text} at (0,0) size 12x28
+      RenderBlock {DIV} at (14,14) size 756x26
+        RenderBR {BR} at (0,0) size 0x26
+      RenderBlock {DIV} at (14,40) size 756x26
+        RenderText {#text} at (0,0) size 12x26
           text run at (0,0) width 12: "x"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.png
index 65498dd..e17096a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.txt
index 7331149..a670f1c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-011-expected.txt
@@ -8,21 +8,21 @@
 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 784x28
-        RenderText {#text} at (0,0) size 629x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 629x26
           text run at (0,0) width 629: "Test inserting paragraphs: should see empty red box above \"baz\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,96) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x12
+      RenderBlock {DIV} at (0,38) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,92) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock (anonymous) at (0,152) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock (anonymous) at (0,146) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,172) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,226) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {#text} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.png
index 4d1bac7..ff92016 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.txt
index d8248ca..c266a89 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-012-expected.txt
@@ -12,21 +12,21 @@
 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 784x28
-        RenderText {#text} at (0,0) size 630x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 630x26
           text run at (0,0) width 630: "Test inserting paragraphs: should see empty red box below \"baz\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x12
+      RenderBlock {DIV} at (0,38) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock {DIV} at (0,96) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock (anonymous) at (0,152) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock {DIV} at (0,92) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock (anonymous) at (0,146) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,172) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,226) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.png
index 2d78c7f..b9515b0 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.txt
index 3ebace2..934728e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-013-expected.txt
@@ -12,21 +12,21 @@
 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 784x28
-        RenderText {#text} at (0,0) size 637x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 637x26
           text run at (0,0) width 637: "Test inserting paragraphs: should see empty blue box above \"bar\""
-      RenderBlock {DIV} at (0,28) size 784x36
-      RenderBlock {DIV} at (0,64) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x36
+      RenderBlock {DIV} at (0,62) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock {DIV} at (0,120) size 784x56 [border: (2px solid #0000FF)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock (anonymous) at (0,176) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock {DIV} at (0,116) size 784x54 [border: (2px solid #0000FF)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock (anonymous) at (0,170) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,204) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,196) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,260) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,250) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 5 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.png
index 62874ed..592bda9 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.txt
index 85bf72f..eefc29b 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-014-expected.txt
@@ -16,22 +16,22 @@
 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 784x28
-        RenderText {#text} at (0,0) size 638x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 638x26
           text run at (0,0) width 638: "Test inserting paragraphs: should see empty blue box below \"bar\""
-      RenderBlock {DIV} at (0,28) size 784x36
-      RenderBlock {DIV} at (0,64) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x36
+      RenderBlock {DIV} at (0,62) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock (anonymous) at (0,120) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock (anonymous) at (0,116) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,148) size 784x168 [border: (2px solid #0000FF)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderBR {BR} at (0,0) size 0x28
-        RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,142) size 784x162 [border: (2px solid #0000FF)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderBR {BR} at (0,0) size 0x26
+        RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-        RenderBlock {DIV} at (14,98) size 756x56 [border: (2px solid #FF0000)]
-          RenderBR {BR} at (14,14) size 0x28
+        RenderBlock {DIV} at (14,94) size 756x54 [border: (2px solid #FF0000)]
+          RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.png
index 62955e8..2d179ff 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.txt
index 8ec5634..32047e9 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-015-expected.txt
@@ -16,21 +16,21 @@
 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 784x28
-        RenderText {#text} at (0,0) size 627x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 627x26
           text run at (0,0) width 627: "Test inserting paragraphs: should see empty red box above \"foo\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x12
+      RenderBlock {DIV} at (0,38) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock (anonymous) at (0,96) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock (anonymous) at (0,92) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,118) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,172) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,226) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {#text} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.png
index 5b98ae7d..6640eb1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.txt
index 5d19088..ae1e5a8 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-016-expected.txt
@@ -20,21 +20,21 @@
 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 784x28
-        RenderText {#text} at (0,0) size 690x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 690x26
           text run at (0,0) width 690: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x12
+      RenderBlock {DIV} at (0,38) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock (anonymous) at (0,96) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock (anonymous) at (0,92) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,118) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,172) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,226) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.png
index cee9c95..f54168c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.txt
index 3b725fa..27a34f8 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-017-expected.txt
@@ -21,21 +21,21 @@
 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 784x28
-        RenderText {#text} at (0,0) size 690x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 690x26
           text run at (0,0) width 690: "Test inserting paragraphs: should see two empty red boxes below \"foo\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,26) size 784x12
+      RenderBlock {DIV} at (0,38) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 34x26
           text run at (14,14) width 34: "baz"
-      RenderBlock (anonymous) at (0,96) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock (anonymous) at (0,92) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,118) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
-        RenderBR {BR} at (14,14) size 0x28
+      RenderBlock {DIV} at (0,172) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock {DIV} at (0,226) size 784x54 [border: (2px solid #FF0000)]
+        RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 8 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.png
index 453e487..e47f4b2 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.txt
index c7fa773..67f78b3 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-018-expected.txt
@@ -10,17 +10,17 @@
 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 784x28
-        RenderText {#text} at (0,0) size 667x28
+      RenderBlock (anonymous) at (0,0) size 784x26
+        RenderText {#text} at (0,0) size 667x26
           text run at (0,0) width 667: "Test inserting paragraphs: should see an empty blue box below \"bar\""
-      RenderBlock {DIV} at (0,28) size 784x36
-      RenderBlock (anonymous) at (0,64) size 784x28
-        RenderText {#text} at (0,0) size 31x28
+      RenderBlock {DIV} at (0,26) size 784x36
+      RenderBlock (anonymous) at (0,62) size 784x26
+        RenderText {#text} at (0,0) size 31x26
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,92) size 784x112 [border: (2px solid #0000FF)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderBR {BR} at (0,0) size 0x28
-        RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,88) size 784x108 [border: (2px solid #0000FF)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderBR {BR} at (0,0) size 0x26
+        RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "baz"
 caret: position 0 of child 0 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.png
index e861860..7934b31 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.txt
index 38a4511..b0d6e46 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-019-expected.txt
@@ -12,20 +12,20 @@
 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 754x56
+      RenderBlock (anonymous) at (0,0) size 784x52
+        RenderText {#text} at (0,0) size 754x52
           text run at (0,0) width 748: "Test inserting paragraphs: should see an empty blue box above an empty line"
           text run at (748,0) width 6: " "
-          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)]
-        RenderText {#text} at (14,14) size 32x28
+          text run at (0,26) width 237: "between \"foo\" and \"bar\""
+      RenderBlock {DIV} at (0,52) size 784x36
+      RenderBlock {P} at (0,112) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 32x26
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,196) size 784x56 [border: (2px solid #0000FF)]
-        RenderBR {BR} at (14,14) size 0x28
-      RenderBlock (anonymous) at (0,252) size 784x28
-        RenderBR {BR} at (0,0) size 0x28
-      RenderBlock {P} at (0,304) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 31x28
+      RenderBlock {DIV} at (0,190) size 784x54 [border: (2px solid #0000FF)]
+        RenderBR {BR} at (14,14) size 0x26
+      RenderBlock (anonymous) at (0,244) size 784x26
+        RenderBR {BR} at (0,0) size 0x26
+      RenderBlock {P} at (0,294) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 31x26
           text run at (14,14) width 31: "bar"
 caret: position 0 of child 5 {BR} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.png
index 0f91736..8f8b05c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.txt
index 9084def..16bc989 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-020-expected.txt
@@ -14,20 +14,20 @@
 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 772x56
+      RenderBlock (anonymous) at (0,0) size 784x52
+        RenderText {#text} at (0,0) size 772x52
           text run at (0,0) width 766: "Test inserting paragraphs: should see a blue box with \"bar\" in it, and two blank"
           text run at (766,0) width 6: " "
-          text run at (0,28) width 295: "lines between \"foo\" and \"bar\"."
-      RenderBlock {DIV} at (0,56) size 784x36
-      RenderBlock (anonymous) at (0,92) size 784x84
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (0,0) size 32x28
+          text run at (0,26) width 295: "lines between \"foo\" and \"bar\"."
+      RenderBlock {DIV} at (0,52) size 784x36
+      RenderBlock (anonymous) at (0,88) size 784x78
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (0,0) size 32x26
             text run at (0,0) width 32: "foo"
-        RenderBR {BR} at (32,22) size 0x0
-        RenderBR {BR} at (0,28) size 0x28
-        RenderBR {BR} at (0,56) size 0x28
-      RenderBlock {DIV} at (0,176) size 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 31x28
+        RenderBR {BR} at (32,21) size 0x0
+        RenderBR {BR} at (0,26) size 0x26
+        RenderBR {BR} at (0,52) size 0x26
+      RenderBlock {DIV} at (0,166) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 31x26
           text run at (14,14) width 31: "bar"
 caret: position 0 of child 0 {#text} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.png
index dba9272..890b12c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.txt
index 5793e9d..fd05d6d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-022-expected.txt
@@ -15,30 +15,30 @@
 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 784x112
-        RenderText {#text} at (0,0) size 765x84
+      RenderBlock (anonymous) at (0,0) size 784x104
+        RenderText {#text} at (0,0) size 765x78
           text run at (0,0) width 759: "Test inserting paragraphs: should see \"foo\" in a blue box, then a blue box with"
           text run at (759,0) width 6: " "
-          text run at (0,28) width 754: "with two lines in it: First line a bold \"x\"; second line a non-bold \"bar\". Fix for"
-          text run at (754,28) width 6: " "
-          text run at (0,56) width 90: "this bug: "
-        RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-          RenderText {#text} at (90,56) size 260x28
-            text run at (90,56) width 260: "<rdar://problem/3927554>"
-        RenderText {#text} at (350,56) size 691x56
-          text run at (350,56) width 335: " Style info applied to remainder of"
-          text run at (685,56) width 6: " "
-          text run at (0,84) width 347: "document after a newline is entered"
-      RenderBlock {DIV} at (0,112) size 784x12
-      RenderBlock {P} at (0,148) size 784x56 [border: (2px solid #0000FF)]
-        RenderInline {B} at (0,0) size 32x28
-          RenderText {#text} at (14,14) size 32x28
+          text run at (0,26) width 754: "with two lines in it: First line a bold \"x\"; second line a non-bold \"bar\". Fix for"
+          text run at (754,26) width 6: " "
+          text run at (0,52) width 90: "this bug: "
+        RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+          RenderText {#text} at (90,52) size 260x26
+            text run at (90,52) width 260: "<rdar://problem/3927554>"
+        RenderText {#text} at (350,52) size 691x52
+          text run at (350,52) width 335: " Style info applied to remainder of"
+          text run at (685,52) width 6: " "
+          text run at (0,78) width 347: "document after a newline is entered"
+      RenderBlock {DIV} at (0,104) size 784x12
+      RenderBlock {P} at (0,140) size 784x54 [border: (2px solid #0000FF)]
+        RenderInline {B} at (0,0) size 32x26
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-      RenderBlock {P} at (0,228) size 784x84 [border: (2px solid #0000FF)]
-        RenderInline {B} at (0,0) size 12x28
-          RenderText {#text} at (14,14) size 12x28
+      RenderBlock {P} at (0,218) size 784x80 [border: (2px solid #0000FF)]
+        RenderInline {B} at (0,0) size 12x26
+          RenderText {#text} at (14,14) size 12x26
             text run at (14,14) width 12: "x"
-          RenderBR {BR} at (26,36) size 0x0 [bgcolor=#008000]
-        RenderText {#text} at (14,42) size 31x28
-          text run at (14,42) width 31: "bar"
+          RenderBR {BR} at (26,35) size 0x0 [bgcolor=#008000]
+        RenderText {#text} at (14,40) size 31x26
+          text run at (14,40) width 31: "bar"
 caret: position 1 of child 0 {#text} of child 0 {B} of child 6 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.png
index 1f8196b..4e61ba8 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.txt
index b3da0ed..9bc3ad7 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-023-expected.txt
@@ -24,43 +24,43 @@
 EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > B > P > BODY > HTML > #document to 1 of #text > B > P > BODY > HTML > #document toDOMRange:range from 1 of #text > B > P > BODY > HTML > #document to 1 of #text > B > P > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
-layer at (0,0) size 785x688
+layer at (0,0) size 785x668
   RenderView at (0,0) size 785x600
-layer at (0,0) size 785x688
-  RenderBlock {HTML} at (0,0) size 785x688
-    RenderBody {BODY} at (8,8) size 769x656
-      RenderBlock (anonymous) at (0,0) size 769x84
-        RenderText {#text} at (0,0) size 766x56
+layer at (0,0) size 785x668
+  RenderBlock {HTML} at (0,0) size 785x668
+    RenderBody {BODY} at (8,8) size 769x636
+      RenderBlock (anonymous) at (0,0) size 769x78
+        RenderText {#text} at (0,0) size 766x52
           text run at (0,0) width 760: "Test inserting paragraphs and managing typing style correctly: \"x\" under \"line"
           text run at (760,0) width 6: " "
-          text run at (0,28) width 344: "2\" should be bold. Fix for this bug: "
-        RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-          RenderText {#text} at (344,28) size 260x28
-            text run at (344,28) width 260: "<rdar://problem/3939523>"
-        RenderText {#text} at (604,28) size 755x56
-          text run at (604,28) width 145: " in some cases,"
-          text run at (749,28) width 6: " "
-          text run at (0,56) width 543: "text does not retain style info after pressing return twice"
-      RenderBlock {DIV} at (0,84) size 769x12
-      RenderBlock {P} at (0,120) size 769x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 55x28
+          text run at (0,26) width 344: "2\" should be bold. Fix for this bug: "
+        RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+          RenderText {#text} at (344,26) size 260x26
+            text run at (344,26) width 260: "<rdar://problem/3939523>"
+        RenderText {#text} at (604,26) size 755x52
+          text run at (604,26) width 145: " in some cases,"
+          text run at (749,26) width 6: " "
+          text run at (0,52) width 543: "text does not retain style info after pressing return twice"
+      RenderBlock {DIV} at (0,78) size 769x12
+      RenderBlock {P} at (0,114) size 769x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 55x26
           text run at (14,14) width 55: "line 1"
-      RenderBlock {P} at (0,200) size 769x56 [border: (2px solid #0000FF)]
-        RenderBR {BR} at (14,14) size 0x28 [bgcolor=#008000]
-      RenderBlock {P} at (0,280) size 769x56 [border: (2px solid #0000FF)]
-        RenderInline {B} at (0,0) size 56x28
-          RenderText {#text} at (14,14) size 56x28
+      RenderBlock {P} at (0,192) size 769x54 [border: (2px solid #0000FF)]
+        RenderBR {BR} at (14,14) size 0x26 [bgcolor=#008000]
+      RenderBlock {P} at (0,270) size 769x54 [border: (2px solid #0000FF)]
+        RenderInline {B} at (0,0) size 56x26
+          RenderText {#text} at (14,14) size 56x26
             text run at (14,14) width 56: "line 2"
-      RenderBlock {P} at (0,360) size 769x56 [border: (2px solid #0000FF)]
-        RenderInline {B} at (0,0) size 0x28
-          RenderBR {BR} at (14,14) size 0x28 [bgcolor=#008000]
-      RenderBlock {P} at (0,440) size 769x56 [border: (2px solid #0000FF)]
-        RenderInline {B} at (0,0) size 12x28
-          RenderText {#text} at (14,14) size 12x28
+      RenderBlock {P} at (0,348) size 769x54 [border: (2px solid #0000FF)]
+        RenderInline {B} at (0,0) size 0x26
+          RenderBR {BR} at (14,14) size 0x26 [bgcolor=#008000]
+      RenderBlock {P} at (0,426) size 769x54 [border: (2px solid #0000FF)]
+        RenderInline {B} at (0,0) size 12x26
+          RenderText {#text} at (14,14) size 12x26
             text run at (14,14) width 12: "x"
-      RenderBlock {P} at (0,520) size 769x56 [border: (2px solid #0000FF)]
-        RenderBR {BR} at (14,14) size 0x28 [bgcolor=#008000]
-      RenderBlock {P} at (0,600) size 769x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 55x28
+      RenderBlock {P} at (0,504) size 769x54 [border: (2px solid #0000FF)]
+        RenderBR {BR} at (14,14) size 0x26 [bgcolor=#008000]
+      RenderBlock {P} at (0,582) size 769x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 55x26
           text run at (14,14) width 55: "line 3"
 caret: position 1 of child 0 {#text} of child 0 {B} of child 11 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.png
new file mode 100644
index 0000000..25d0f55
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.txt
index a8e225b..9e49a25 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-024-expected.txt
@@ -43,30 +43,30 @@
 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 784x112
-        RenderText {#text} at (0,0) size 749x56
+      RenderBlock (anonymous) at (0,0) size 784x104
+        RenderText {#text} at (0,0) size 749x52
           text run at (0,0) width 743: "Test inserting paragraphs and managing typing style correctly: Only \"line 1\""
           text run at (743,0) width 6: " "
-          text run at (0,28) width 621: "should be bold. Other lines should be non-bold. Fix for this bug:"
-          text run at (621,28) width 6: " "
-        RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-          RenderText {#text} at (0,56) size 260x28
-            text run at (0,56) width 260: "<rdar://problem/3944492>"
-        RenderText {#text} at (260,56) size 724x56
-          text run at (260,56) width 458: " after pressing return twice, text is bold when it"
-          text run at (718,56) width 6: " "
-          text run at (0,84) width 116: "shouldn't be"
-      RenderBlock {DIV} at (0,112) size 784x12
-      RenderBlock {P} at (0,148) size 784x56 [border: (2px solid #0000FF)]
-        RenderInline {B} at (0,0) size 56x28
-          RenderText {#text} at (14,14) size 56x28
+          text run at (0,26) width 621: "should be bold. Other lines should be non-bold. Fix for this bug:"
+          text run at (621,26) width 6: " "
+        RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+          RenderText {#text} at (0,52) size 260x26
+            text run at (0,52) width 260: "<rdar://problem/3944492>"
+        RenderText {#text} at (260,52) size 724x52
+          text run at (260,52) width 458: " after pressing return twice, text is bold when it"
+          text run at (718,52) width 6: " "
+          text run at (0,78) width 116: "shouldn't be"
+      RenderBlock {DIV} at (0,104) size 784x12
+      RenderBlock {P} at (0,140) size 784x54 [border: (2px solid #0000FF)]
+        RenderInline {B} at (0,0) size 56x26
+          RenderText {#text} at (14,14) size 56x26
             text run at (14,14) width 56: "line 1"
-      RenderBlock {P} at (0,228) size 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 36x28
+      RenderBlock {P} at (0,218) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 36x26
           text run at (14,14) width 36: "xxx"
-      RenderBlock {P} at (0,308) size 784x56 [border: (2px solid #0000FF)]
-        RenderBR {BR} at (14,14) size 0x28 [bgcolor=#008000]
-      RenderBlock {P} at (0,388) size 784x56 [border: (2px solid #0000FF)]
-        RenderText {#text} at (14,14) size 36x28
+      RenderBlock {P} at (0,296) size 784x54 [border: (2px solid #0000FF)]
+        RenderBR {BR} at (14,14) size 0x26 [bgcolor=#008000]
+      RenderBlock {P} at (0,374) size 784x54 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 36x26
           text run at (14,14) width 36: "xxx"
 caret: position 3 of child 0 {#text} of child 8 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.png
index 4487315..74b96ca 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.txt
index f0b3138..051bdca 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-025-expected.txt
@@ -15,22 +15,22 @@
 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
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 715x52
           text run at (14,14) width 715: "Should see \"foo\" and \"bar\" each in a separate red box. Note that the \"foo\""
-          text run at (14,42) width 197: "text is really \"foo \". "
-          text run at (211,42) width 63: "There "
-        RenderInline {B} at (0,0) size 50x28
-          RenderText {#text} at (274,42) size 50x28
-            text run at (274,42) width 50: "must"
-        RenderText {#text} at (324,42) size 318x28
-          text run at (324,42) width 318: " be a space at the end of the line."
-      RenderBlock {DIV} at (0,108) size 784x112
-        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 38x28
+          text run at (14,40) width 197: "text is really \"foo \". "
+          text run at (211,40) width 63: "There "
+        RenderInline {B} at (0,0) size 50x26
+          RenderText {#text} at (274,40) size 50x26
+            text run at (274,40) width 50: "must"
+        RenderText {#text} at (324,40) size 318x26
+          text run at (324,40) width 318: " be a space at the end of the line."
+      RenderBlock {DIV} at (0,104) size 784x108
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 38x26
             text run at (14,14) width 32: "foo"
             text run at (46,14) width 6: " "
-        RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 31x28
+        RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 31x26
             text run at (14,14) width 31: "bar"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.png
index 6f6ea2c..4fb186d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.txt
index 993c19e..6423451 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-026-expected.txt
@@ -22,36 +22,36 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 721x56
-            text run at (0,28) width 721: "Inserting blocks for paragraphs should do a better job of finding a block to"
-            text run at (0,56) width 117: "insert after. "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (117,56) size 260x28
-              text run at (117,56) width 260: "<rdar://problem/3996605>"
-          RenderText {#text} at (377,56) size 735x56
-            text run at (377,56) width 358: " Insert paragraph command puts new"
-            text run at (0,84) width 554: "block in wrong place, creating difficult-to-handle HTML"
-        RenderBlock {DIV} at (14,142) size 756x56
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 721x52
+            text run at (0,26) width 721: "Inserting blocks for paragraphs should do a better job of finding a block to"
+            text run at (0,52) width 117: "insert after. "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (117,52) size 260x26
+              text run at (117,52) width 260: "<rdar://problem/3996605>"
+          RenderText {#text} at (377,52) size 735x52
+            text run at (377,52) width 358: " Insert paragraph command puts new"
+            text run at (0,78) width 554: "block in wrong place, creating difficult-to-handle HTML"
+        RenderBlock {DIV} at (14,134) size 756x52
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 442x28
-            text run at (0,28) width 442: "Should see this content in the red box below: "
-          RenderInline {B} at (0,0) size 20x28
-            RenderText {#text} at (442,28) size 20x28
-              text run at (442,28) width 20: "fo"
-          RenderText {#text} at (462,28) size 12x28
-            text run at (462,28) width 12: "x"
-      RenderBlock {DIV} at (0,236) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderInline {B} at (0,0) size 20x28
-            RenderText {#text} at (2,2) size 20x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 442x26
+            text run at (0,26) width 442: "Should see this content in the red box below: "
+          RenderInline {B} at (0,0) size 20x26
+            RenderText {#text} at (442,26) size 20x26
+              text run at (442,26) width 20: "fo"
+          RenderText {#text} at (462,26) size 12x26
+            text run at (462,26) width 12: "x"
+      RenderBlock {DIV} at (0,224) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {B} at (0,0) size 20x26
+            RenderText {#text} at (2,2) size 20x26
               text run at (2,2) width 20: "fo"
-          RenderText {#text} at (22,2) size 12x28
+          RenderText {#text} at (22,2) size 12x26
             text run at (22,2) width 12: "x"
 caret: position 3 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.png
index d440a97..06994e6 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.txt
index 062cd63..b1b63f0 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-div-027-expected.txt
@@ -16,25 +16,25 @@
 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 784x56
+      RenderBlock (anonymous) at (0,0) size 784x52
+        RenderText {#text} at (0,0) size 784x52
           text run at (0,0) width 781: "Test inserting paragraphs: should see two blue boxes, where the second blue box"
           text run at (781,0) width 3: " "
-          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)]
-        RenderBlock {DIV} at (14,14) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 34x28
+          text run at (0,26) width 245: "starts with an empty line."
+      RenderBlock {DIV} at (0,52) size 784x36
+      RenderBlock {DIV} at (0,88) size 784x108 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "baz"
-        RenderBlock (anonymous) at (14,70) size 756x28
-          RenderText {#text} at (0,0) size 31x28
+        RenderBlock (anonymous) at (14,68) size 756x26
+          RenderText {#text} at (0,0) size 31x26
             text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,204) size 784x168 [border: (2px solid #0000FF)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderBR {BR} at (0,0) size 0x28
-        RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,196) size 784x162 [border: (2px solid #0000FF)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderBR {BR} at (0,0) size 0x26
+        RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-        RenderBlock {DIV} at (14,98) size 756x56 [border: (2px solid #FF0000)]
-          RenderBR {BR} at (14,14) size 0x28
+        RenderBlock {DIV} at (14,94) size 756x54 [border: (2px solid #FF0000)]
+          RenderBR {BR} at (14,14) size 0x26
 caret: position 0 of child 0 {BR} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.png
index 1a2e263..1f9a887 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.txt
index 11fac4b..182f7b7 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-01-expected.txt
@@ -8,18 +8,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 769x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 769x34
           text run at (0,0) width 353: "This tests inserting a paragraph separator before a table. "
           text run at (353,0) width 416: "There should be an empty paragraph before the table and the caret"
-          text run at (0,18) width 192: "should be just before the table."
-      RenderBlock {DIV} at (0,52) size 784x46
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderTable {TABLE} at (0,18) size 31x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 29x26
-            RenderTableRow {TR} at (0,2) size 29x22
-              RenderTableCell {TD} at (2,2) size 25x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 21x19
+          text run at (0,17) width 192: "should be just before the table."
+      RenderBlock {DIV} at (0,50) size 784x44
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderTable {TABLE} at (0,17) size 31x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 29x25
+            RenderTableRow {TR} at (0,2) size 29x21
+              RenderTableCell {TD} at (2,2) size 25x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 21x17
                   text run at (2,2) width 21: "foo"
 caret: position 0 of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.png
index 4ab142e..deabcf9 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.txt
index 9ac6075..fb08e77 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-02-expected.txt
@@ -14,20 +14,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 770x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 770x34
           text run at (0,0) width 341: "This tests inserting a paragraph separator after a table. "
           text run at (341,0) width 429: "There should be an empty paragraph between the table and 'bar' and"
-          text run at (0,18) width 271: "the caret should be in the empty paragraph."
-      RenderBlock {DIV} at (0,52) size 784x64
-        RenderTable {TABLE} at (0,0) size 31x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 29x26
-            RenderTableRow {TR} at (0,2) size 29x22
-              RenderTableCell {TD} at (2,2) size 25x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 21x19
+          text run at (0,17) width 271: "the caret should be in the empty paragraph."
+      RenderBlock {DIV} at (0,50) size 784x61
+        RenderTable {TABLE} at (0,0) size 31x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 29x25
+            RenderTableRow {TR} at (0,2) size 29x21
+              RenderTableCell {TD} at (2,2) size 25x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 21x17
                   text run at (2,2) width 21: "foo"
-        RenderBlock (anonymous) at (0,28) size 784x36
-          RenderBR {BR} at (0,0) size 0x19
-          RenderText {#text} at (0,18) size 20x19
-            text run at (0,18) width 20: "bar"
+        RenderBlock (anonymous) at (0,27) size 784x34
+          RenderBR {BR} at (0,0) size 0x17
+          RenderText {#text} at (0,17) size 20x17
+            text run at (0,17) width 20: "bar"
 caret: position 0 of child 1 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.png
index cffb9f3..2b6b228 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.txt
index 79b074f..fad5ea3 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-03-expected.txt
@@ -10,19 +10,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 760x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 760x34
           text run at (0,0) width 414: "This tests inserting a paragraph separator before a horizontal rule. "
           text run at (414,0) width 346: "You should see 'foo', empty paragraph, horizontal rule,"
-          text run at (0,18) width 371: "'bar', and the caret should be just before the horizontal rule."
-      RenderBlock {DIV} at (0,52) size 784x72
-        RenderBlock (anonymous) at (0,0) size 784x36
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 371: "'bar', and the caret should be just before the horizontal rule."
+      RenderBlock {DIV} at (0,50) size 784x69
+        RenderBlock (anonymous) at (0,0) size 784x34
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderBR {BR} at (21,15) size 0x0
-          RenderBR {BR} at (0,18) size 0x19
-        RenderBlock {HR} at (0,44) size 784x2 [border: (1px inset #000000)]
-        RenderBlock (anonymous) at (0,54) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+          RenderBR {BR} at (21,14) size 0x0
+          RenderBR {BR} at (0,17) size 0x17
+        RenderBlock {HR} at (0,42) size 784x2 [border: (1px inset #000000)]
+        RenderBlock (anonymous) at (0,52) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
 caret: position 0 of child 3 {HR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.png
index 8c90ae9..05411e5 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.txt
index c58f826..e357f1d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-04-expected.txt
@@ -12,29 +12,29 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 782x37
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 782x34
           text run at (0,0) width 402: "This tests inserting a paragraph separator after a horizontal rule. "
           text run at (402,0) width 380: "You should see 'foo', empty paragraph, horizontal rule, 'bar',"
-          text run at (0,18) width 329: "and the caret should be just after the horizontal rule. "
-        RenderInline {B} at (0,0) size 777x37
-          RenderText {#text} at (329,18) size 777x37
-            text run at (329,18) width 168: "This demonstrates 8345. "
-            text run at (497,18) width 280: "The caret after a horizontal rule is drawn"
-            text run at (0,36) width 381: "in the same location as the caret before a horizontal rule."
-      RenderBlock (anonymous) at (0,70) size 784x0
+          text run at (0,17) width 329: "and the caret should be just after the horizontal rule. "
+        RenderInline {B} at (0,0) size 777x34
+          RenderText {#text} at (329,17) size 777x34
+            text run at (329,17) width 168: "This demonstrates 8345. "
+            text run at (497,17) width 280: "The caret after a horizontal rule is drawn"
+            text run at (0,34) width 381: "in the same location as the caret before a horizontal rule."
+      RenderBlock (anonymous) at (0,67) size 784x0
         RenderInline {B} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock (anonymous) at (0,70) size 784x72
-        RenderBlock {DIV} at (0,0) size 784x72
-          RenderBlock (anonymous) at (0,0) size 784x18
-            RenderText {#text} at (0,0) size 21x19
+      RenderBlock (anonymous) at (0,67) size 784x69
+        RenderBlock {DIV} at (0,0) size 784x69
+          RenderBlock (anonymous) at (0,0) size 784x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-          RenderBlock {HR} at (0,26) size 784x2 [border: (1px inset #000000)]
-          RenderBlock (anonymous) at (0,36) size 784x36
-            RenderBR {BR} at (0,0) size 0x19
-            RenderText {#text} at (0,18) size 24x19
-              text run at (0,18) width 24: "bar"
-      RenderBlock (anonymous) at (0,142) size 784x0
+          RenderBlock {HR} at (0,25) size 784x2 [border: (1px inset #000000)]
+          RenderBlock (anonymous) at (0,35) size 784x34
+            RenderBR {BR} at (0,0) size 0x17
+            RenderText {#text} at (0,17) size 24x17
+              text run at (0,17) width 24: "bar"
+      RenderBlock (anonymous) at (0,136) size 784x0
         RenderInline {B} at (0,0) size 0x0
 caret: position 0 of child 2 {BR} of child 1 {DIV} of child 1 {B} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.png
index 0f2a1db..ac92d9d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.txt
index 96bbddc..edd7ecb 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-paragraph-05-expected.txt
@@ -8,21 +8,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 601x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 601x17
           text run at (0,0) width 601: "This tests inserting a paragraph separator before a special element at the start of an editable root."
-      RenderBlock {P} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 611x19
+      RenderBlock {P} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 611x17
           text run at (0,0) width 611: "Visually, it should leave a blank line before the link, and the caret selection at the start of the link."
-      RenderBlock {P} at (0,68) size 784x36
-        RenderText {#text} at (0,0) size 714x37
+      RenderBlock {P} at (0,66) size 784x34
+        RenderText {#text} at (0,0) size 714x34
           text run at (0,0) width 714: "Structurally, the empty paragraph element should go before the anchor element, rather than inside of it. See Radar"
-          text run at (0,18) width 68: "#5452675."
-      RenderBlock {DIV} at (0,120) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderInline {A} at (0,0) size 55x19 [color=#0000EE]
-            RenderText {#text} at (0,0) size 55x19
+          text run at (0,17) width 68: "#5452675."
+      RenderBlock {DIV} at (0,116) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderInline {A} at (0,0) size 55x17 [color=#0000EE]
+            RenderText {#text} at (0,0) size 55x17
               text run at (0,0) width 55: "applesite"
 caret: position 0 of child 0 {#text} of child 1 {A} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.png
new file mode 100644
index 0000000..08dc309
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.txt
index 2686a3f..0c5aff2 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-space-in-empty-doc-expected.txt
@@ -18,7 +18,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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 38x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 38x26
           text run at (14,14) width 38: " foo"
 caret: position 4 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.png
index fba1bd8..07a3ff8 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.txt
index 85d7cd6..c22e1fc 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-001-expected.txt
@@ -9,12 +9,12 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 80x28
-          RenderInline {SPAN} at (0,0) size 48x28
-            RenderText {#text} at (14,14) size 48x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 80x26
+          RenderInline {SPAN} at (0,0) size 48x26
+            RenderText {#text} at (14,14) size 48x26
               text run at (14,14) width 48: "\x{9}"
-          RenderText {#text} at (62,14) size 32x28
+          RenderText {#text} at (62,14) size 32x26
             text run at (62,14) width 32: "foo"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 0 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.png
index 0850f3e..e2a2bb6 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.txt
index 4394b8c..9e05fe1 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-002-expected.txt
@@ -12,11 +12,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 48x28
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 48x26
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderInline {SPAN} at (0,0) size 16x28
-            RenderText {#text} at (46,14) size 16x28
+          RenderInline {SPAN} at (0,0) size 16x26
+            RenderText {#text} at (46,14) size 16x26
               text run at (46,14) width 16: "\x{9}"
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.png
index bb641bf..40a990c 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.txt
index a789cad..b3e3277 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-003-expected.txt
@@ -12,14 +12,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 60x28
-          RenderText {#text} at (14,14) size 20x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 60x26
+          RenderText {#text} at (14,14) size 20x26
             text run at (14,14) width 20: "fo"
-          RenderInline {SPAN} at (0,0) size 28x28
-            RenderText {#text} at (34,14) size 28x28
+          RenderInline {SPAN} at (0,0) size 28x26
+            RenderText {#text} at (34,14) size 28x26
               text run at (34,14) width 28: "\x{9}"
-          RenderText {#text} at (62,14) size 12x28
+          RenderText {#text} at (62,14) size 12x26
             text run at (62,14) width 12: "o"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.png
index 837ab17..607b699 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.txt
index 6fbce2f..497ec8a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-tab-004-expected.txt
@@ -11,13 +11,13 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 80x56
-          RenderBR {BR} at (14,14) size 0x28
-          RenderInline {SPAN} at (0,0) size 48x28
-            RenderText {#text} at (14,42) size 48x28
-              text run at (14,42) width 48: "\x{9}"
-          RenderText {#text} at (62,42) size 32x28
-            text run at (62,42) width 32: "foo"
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 80x52
+          RenderBR {BR} at (14,14) size 0x26
+          RenderInline {SPAN} at (0,0) size 48x26
+            RenderText {#text} at (14,40) size 48x26
+              text run at (14,40) width 48: "\x{9}"
+          RenderText {#text} at (62,40) size 32x26
+            text run at (62,40) width 32: "foo"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.png
index ecfccde..37b0332 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.txt
index 419cb41..57de2f9 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-001-expected.txt
@@ -10,14 +10,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 155x28
-          RenderText {#text} at (14,14) size 23x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 155x26
+          RenderText {#text} at (14,14) size 23x26
             text run at (14,14) width 23: "ax"
-          RenderInline {SPAN} at (0,0) size 121x28
-            RenderText {#text} at (37,14) size 121x28
+          RenderInline {SPAN} at (0,0) size 121x26
+            RenderText {#text} at (37,14) size 121x26
               text run at (37,14) width 121: "\x{9}\x{9}\x{9}"
-          RenderText {#text} at (158,14) size 11x28
+          RenderText {#text} at (158,14) size 11x26
             text run at (158,14) width 11: "z"
         RenderText {#text} at (0,0) size 0x0
 caret: position 2 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.png
index 37bd04b..e09a7dc 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.txt
index feca304..8262172 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-002-expected.txt
@@ -12,19 +12,19 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 155x28
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 155x26
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderInline {SPAN} at (0,0) size 37x28
-            RenderText {#text} at (25,14) size 37x28
+          RenderInline {SPAN} at (0,0) size 37x26
+            RenderText {#text} at (25,14) size 37x26
               text run at (25,14) width 37: "\x{9}"
-          RenderText {#text} at (62,14) size 12x28
+          RenderText {#text} at (62,14) size 12x26
             text run at (62,14) width 12: "x"
-          RenderInline {SPAN} at (0,0) size 84x28
-            RenderText {#text} at (74,14) size 84x28
+          RenderInline {SPAN} at (0,0) size 84x26
+            RenderText {#text} at (74,14) size 84x26
               text run at (74,14) width 84: "\x{9}\x{9}"
-          RenderText {#text} at (158,14) size 11x28
+          RenderText {#text} at (158,14) size 11x26
             text run at (158,14) width 11: "z"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.png
index a606220..3d3c29e 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.txt
index 13c0521..fac4cae 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-at-tabspan-003-expected.txt
@@ -13,16 +13,16 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 167x28
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 167x26
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderInline {SPAN} at (0,0) size 133x28
-            RenderText {#text} at (25,14) size 133x28
+          RenderInline {SPAN} at (0,0) size 133x26
+            RenderText {#text} at (25,14) size 133x26
               text run at (25,14) width 133: "\x{9}\x{9}\x{9}"
-          RenderText {#text} at (158,14) size 12x28
+          RenderText {#text} at (158,14) size 12x26
             text run at (158,14) width 12: "x"
-          RenderText {#text} at (170,14) size 11x28
+          RenderText {#text} at (170,14) size 11x26
             text run at (170,14) width 11: "z"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.png b/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.png
new file mode 100644
index 0000000..134e996
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.txt b/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.txt
index 19e4894..ebd8bbd 100644
--- a/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/insert-text-with-newlines-expected.txt
@@ -53,18 +53,18 @@
 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)]
-        RenderInline {SPAN} at (0,0) size 79x112
-          RenderText {#text} at (14,14) size 79x28
+      RenderBlock {DIV} at (0,0) size 784x132 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 79x104
+          RenderText {#text} at (14,14) size 79x26
             text run at (14,14) width 79: "Foo xxx"
-          RenderBR {BR} at (93,36) size 0x0
-          RenderInline {I} at (0,0) size 33x28
-            RenderText {#text} at (14,42) size 33x28
-              text run at (14,42) width 33: "bar"
-          RenderText {#text} at (47,42) size 42x28
-            text run at (47,42) width 42: " xxx"
-          RenderBR {BR} at (89,64) size 0x0
-          RenderBR {BR} at (14,70) size 0x28
-          RenderText {#text} at (14,98) size 70x28
-            text run at (14,98) width 70: "bazxxx"
+          RenderBR {BR} at (93,35) size 0x0
+          RenderInline {I} at (0,0) size 33x26
+            RenderText {#text} at (14,40) size 33x26
+              text run at (14,40) width 33: "bar"
+          RenderText {#text} at (47,40) size 42x26
+            text run at (47,40) width 42: " xxx"
+          RenderBR {BR} at (89,61) size 0x0
+          RenderBR {BR} at (14,66) size 0x26
+          RenderText {#text} at (14,92) size 70x26
+            text run at (14,92) width 70: "bazxxx"
 caret: position 6 of child 6 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/line-break-expected.png b/LayoutTests/platform/gtk/editing/inserting/line-break-expected.png
index dfc3e0e..5fc11b7 100644
--- a/LayoutTests/platform/gtk/editing/inserting/line-break-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/line-break-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/line-break-expected.txt b/LayoutTests/platform/gtk/editing/inserting/line-break-expected.txt
index 2420d0b..308ff0c3 100644
--- a/LayoutTests/platform/gtk/editing/inserting/line-break-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/line-break-expected.txt
@@ -8,13 +8,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 753x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 753x34
           text run at (0,0) width 282: "This testcase used to break InsertLineBreak. "
           text run at (282,0) width 471: "The editable region below should have two empty paragraphs in it, and the"
-          text run at (0,18) width 186: "caret should be in the second."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x36
-          RenderBR {BR} at (0,0) size 0x19
-          RenderBR {BR} at (0,18) size 0x19
+          text run at (0,17) width 186: "caret should be in the second."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x34
+          RenderBR {BR} at (0,0) size 0x17
+          RenderBR {BR} at (0,17) size 0x17
 caret: position 0 of child 2 {BR} of child 0 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.png b/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.png
index e5c50c8..ddd9aed 100644
--- a/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.txt b/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.txt
index d62bc70..c5f281b 100644
--- a/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/multiple-lines-selected-expected.txt
@@ -13,16 +13,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 783x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 783x34
           text run at (0,0) width 556: "This tests inserting a paragraph separator into a selection that spans multiple paragraphs. "
           text run at (556,0) width 227: "'ar' should be on the line after 'f' and"
-          text run at (0,18) width 232: "the caret should be just before the 'a'."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 5x19
+          text run at (0,17) width 232: "the caret should be just before the 'a'."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 5x17
             text run at (0,0) width 5: "f"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 12x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 12x17
             text run at (0,0) width 12: "ar"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.png b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.png
index 746bb54..2abbf46 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.txt b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.txt
index 197d90e..3004cdc 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-01-expected.txt
@@ -10,18 +10,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 585x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 585x17
           text run at (0,0) width 361: "Tests for a bug in the paragraph separator insertion code. "
           text run at (361,0) width 224: "Only one newline should be added."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock {DIV} at (0,18) size 784x36
-          RenderBlock (anonymous) at (0,0) size 784x18
-            RenderBR {BR} at (0,0) size 0x19
-          RenderBlock {DIV} at (0,18) size 784x18
-            RenderText {#text} at (0,0) size 20x19
+        RenderBlock {DIV} at (0,17) size 784x34
+          RenderBlock (anonymous) at (0,0) size 784x17
+            RenderBR {BR} at (0,0) size 0x17
+          RenderBlock {DIV} at (0,17) size 784x17
+            RenderText {#text} at (0,0) size 20x17
               text run at (0,0) width 20: "bar"
 caret: position 0 of child 0 {BR} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.png b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.png
index 746bb54..2abbf46 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.txt b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.txt
index 41beb46..3342fce 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-02-expected.txt
@@ -10,18 +10,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 585x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 585x17
           text run at (0,0) width 361: "Tests for a bug in the paragraph separator insertion code. "
           text run at (361,0) width 224: "Only one newline should be added."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock {DIV} at (0,18) size 784x36
-          RenderBlock (anonymous) at (0,0) size 784x18
-            RenderBR {BR} at (0,0) size 0x19
-          RenderBlock {DIV} at (0,18) size 784x18
-            RenderText {#text} at (0,0) size 20x19
+        RenderBlock {DIV} at (0,17) size 784x34
+          RenderBlock (anonymous) at (0,0) size 784x17
+            RenderBR {BR} at (0,0) size 0x17
+          RenderBlock {DIV} at (0,17) size 784x17
+            RenderText {#text} at (0,0) size 20x17
               text run at (0,0) width 20: "bar"
 caret: position 0 of child 0 {BR} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.png b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.png
index 2d6c529..7ef48341 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.txt b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.txt
index c8ed2a3..66c8068 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-03-expected.txt
@@ -11,20 +11,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x579
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 754x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 754x51
           text run at (0,0) width 734: "Tests for a bug in the paragraph separator insertion code that would add an extra newline when inserting a paragraph"
-          text run at (0,18) width 418: "separator at the end of a paragraph in text that preserves newlines. "
-          text run at (418,18) width 336: "Also, an extraneous space would be added after 'foo'."
-          text run at (0,36) width 228: "Only one newline should be added. "
-          text run at (228,36) width 269: "And there should be no extraneous spaces."
-      RenderBlock {P} at (0,70) size 784x18
-        RenderInline {B} at (0,0) size 152x19
-          RenderText {#text} at (0,0) size 152x19
+          text run at (0,17) width 418: "separator at the end of a paragraph in text that preserves newlines. "
+          text run at (418,17) width 336: "Also, an extraneous space would be added after 'foo'."
+          text run at (0,34) width 228: "Only one newline should be added. "
+          text run at (228,34) width 269: "And there should be no extraneous spaces."
+      RenderBlock {P} at (0,67) size 784x17
+        RenderInline {B} at (0,0) size 152x17
+          RenderText {#text} at (0,0) size 152x17
             text run at (0,0) width 152: "It demonstrates a bug:"
-        RenderText {#text} at (152,0) size 583x19
+        RenderText {#text} at (152,0) size 583x17
           text run at (152,0) width 583: " too much padding is left between the new line and the end of the paragraph containing 'foo'."
-      RenderBlock {DIV} at (0,104) size 784x58
+      RenderBlock {DIV} at (0,100) size 784x58
         RenderBlock {PRE} at (0,0) size 784x15
           RenderText {#text} at (0,0) size 24x15
             text run at (0,0) width 24: "foo"
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.png b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.png
index f7c852f..3554abe 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.txt b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.txt
index a0bb0e8..78a4288 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.txt
@@ -9,22 +9,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 613x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 613x17
           text run at (0,0) width 337: "This tests InsertParagraphSeparator inside table cells. "
           text run at (337,0) width 276: "'Cell' and 'Two' should be on separate lines."
-      RenderBlock {DIV} at (0,34) size 784x46
-        RenderTable {TABLE} at (0,0) size 103x46 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 101x44
-            RenderTableRow {TR} at (0,2) size 101x40
-              RenderTableCell {TD} at (2,11) size 61x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 57x19
+      RenderBlock {DIV} at (0,33) size 784x44
+        RenderTable {TABLE} at (0,0) size 103x44 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 101x42
+            RenderTableRow {TR} at (0,2) size 101x38
+              RenderTableCell {TD} at (2,10) size 61x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 57x17
                   text run at (2,2) width 57: "Cell One"
-              RenderTableCell {TD} at (65,2) size 34x40 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 30x19
+              RenderTableCell {TD} at (65,2) size 34x38 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 30x17
                   text run at (2,2) width 30: "Cell "
-                RenderBR {BR} at (32,17) size 0x0
-                RenderInline {SPAN} at (0,0) size 30x19
-                  RenderText {#text} at (2,20) size 30x19
-                    text run at (2,20) width 30: "Two"
+                RenderBR {BR} at (32,16) size 0x0
+                RenderInline {SPAN} at (0,0) size 30x17
+                  RenderText {#text} at (2,19) size 30x17
+                    text run at (2,19) width 30: "Two"
 caret: position 0 of child 0 {#text} of child 2 {SPAN} of child 1 {TD} of child 0 {TR} of child 0 {TBODY} of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.png b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.png
index 669d248..3b3d8cf 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.txt b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.txt
index e1997ce..9b97583 100644
--- a/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.txt
@@ -9,21 +9,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 768x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 768x34
           text run at (0,0) width 337: "This tests InsertParagraphSeparator inside table cells. "
           text run at (337,0) width 431: "The first cell should contain 'Cell' and a newline, and the second cell"
-          text run at (0,18) width 136: "should contain 'Two'."
-      RenderBlock {DIV} at (0,52) size 784x46
-        RenderTable {TABLE} at (0,0) size 80x46 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 78x44
-            RenderTableRow {TR} at (0,2) size 78x40
-              RenderTableCell {TD} at (2,2) size 34x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 30x19
+          text run at (0,17) width 136: "should contain 'Two'."
+      RenderBlock {DIV} at (0,50) size 784x44
+        RenderTable {TABLE} at (0,0) size 80x44 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 78x42
+            RenderTableRow {TR} at (0,2) size 78x38
+              RenderTableCell {TD} at (2,2) size 34x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 30x17
                   text run at (2,2) width 30: "Cell "
-                RenderBR {BR} at (32,17) size 0x0
-                RenderBR {BR} at (2,20) size 0x19
-              RenderTableCell {TD} at (38,11) size 38x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 34x19
+                RenderBR {BR} at (32,16) size 0x0
+                RenderBR {BR} at (2,19) size 0x17
+              RenderTableCell {TD} at (38,10) size 38x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 34x17
                   text run at (2,2) width 34: " Two"
 caret: position 0 of child 2 {BR} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/redo-expected.png b/LayoutTests/platform/gtk/editing/inserting/redo-expected.png
new file mode 100644
index 0000000..f77d7e5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/redo-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/redo-expected.txt b/LayoutTests/platform/gtk/editing/inserting/redo-expected.txt
index e453a5e..171d045 100644
--- a/LayoutTests/platform/gtk/editing/inserting/redo-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/redo-expected.txt
@@ -15,7 +15,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 784x18
-        RenderText {#text} at (0,0) size 294x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 294x17
           text run at (0,0) width 294: "The caret should be at the end of this sentence."
 caret: position 48 of child 0 {#text} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.png
index 604c323..349405d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.txt
index b9a5358..e1290a2 100644
--- a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-001-expected.txt
@@ -11,43 +11,43 @@
 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 784x296 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x278 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045521>"
-          RenderText {#text} at (422,28) size 734x56
-            text run at (422,28) width 312: " Hitting return key with full line"
-            text run at (0,56) width 426: "selected does not add blank line as it should"
-        RenderBlock {DIV} at (14,114) size 756x168
-          RenderBlock (anonymous) at (0,0) size 756x84
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045521>"
+          RenderText {#text} at (422,26) size 734x52
+            text run at (422,26) width 312: " Hitting return key with full line"
+            text run at (0,52) width 426: "selected does not add blank line as it should"
+        RenderBlock {DIV} at (14,108) size 756x156
+          RenderBlock (anonymous) at (0,0) size 756x78
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 711x56
-              text run at (0,28) width 711: "Should see this content in the red box below (note that the insertion point"
-              text run at (0,56) width 670: "should be at the start of the third line, immediately preceding \"baz\"):"
-          RenderBlock {DIV} at (0,84) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 711x52
+              text run at (0,26) width 711: "Should see this content in the red box below (note that the insertion point"
+              text run at (0,52) width 670: "should be at the start of the third line, immediately preceding \"baz\"):"
+          RenderBlock {DIV} at (0,78) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (0,112) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (0,140) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock {DIV} at (0,104) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (0,130) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
-      RenderBlock {DIV} at (0,320) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x88 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,302) size 784x82
+        RenderBlock {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (2,58) size 780x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (2,54) size 780x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 caret: position 0 of child 0 {#text} of child 3 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.png
index b3bdd86..7cbefef 100644
--- a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.txt
index a35d993..4b79ac3 100644
--- a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-002-expected.txt
@@ -13,43 +13,43 @@
 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 784x324 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x304 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 612x28
-            text run at (0,28) width 612: "A scenario I thought of based on my experiences with this bug:"
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (0,56) size 260x28
-              text run at (0,56) width 260: "<rdar://problem/4045521>"
-          RenderText {#text} at (260,56) size 744x56
-            text run at (260,56) width 484: " Hitting return key with full line selected does not"
-            text run at (0,84) width 254: "add blank line as it should"
-        RenderBlock {DIV} at (14,142) size 756x168
-          RenderBlock (anonymous) at (0,0) size 756x84
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 612x26
+            text run at (0,26) width 612: "A scenario I thought of based on my experiences with this bug:"
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (0,52) size 260x26
+              text run at (0,52) width 260: "<rdar://problem/4045521>"
+          RenderText {#text} at (260,52) size 744x52
+            text run at (260,52) width 484: " Hitting return key with full line selected does not"
+            text run at (0,78) width 254: "add blank line as it should"
+        RenderBlock {DIV} at (14,134) size 756x156
+          RenderBlock (anonymous) at (0,0) size 756x78
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 711x56
-              text run at (0,28) width 711: "Should see this content in the red box below (note that the insertion point"
-              text run at (0,56) width 670: "should be at the start of the third line, immediately preceding \"baz\"):"
-          RenderBlock {DIV} at (0,84) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 711x52
+              text run at (0,26) width 711: "Should see this content in the red box below (note that the insertion point"
+              text run at (0,52) width 670: "should be at the start of the third line, immediately preceding \"baz\"):"
+          RenderBlock {DIV} at (0,78) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (0,112) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (0,140) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock {DIV} at (0,104) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (0,130) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
-      RenderBlock {DIV} at (0,348) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x88 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,328) size 784x82
+        RenderBlock {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (2,58) size 780x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (2,54) size 780x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 caret: position 0 of child 0 {#text} of child 3 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.png
index fdf07ec..45ba71d 100644
--- a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.txt
index 70c216d..af43825 100644
--- a/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/return-key-with-selection-003-expected.txt
@@ -14,48 +14,48 @@
 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 784x380 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x112
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x356 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 612x28
-            text run at (0,28) width 612: "A scenario I thought of based on my experiences with this bug:"
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (0,56) size 260x28
-              text run at (0,56) width 260: "<rdar://problem/4045521>"
-          RenderText {#text} at (260,56) size 744x56
-            text run at (260,56) width 484: " Hitting return key with full line selected does not"
-            text run at (0,84) width 254: "add blank line as it should"
-        RenderBlock {DIV} at (14,142) size 756x224
-          RenderBlock (anonymous) at (0,0) size 756x112
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 612x26
+            text run at (0,26) width 612: "A scenario I thought of based on my experiences with this bug:"
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (0,52) size 260x26
+              text run at (0,52) width 260: "<rdar://problem/4045521>"
+          RenderText {#text} at (260,52) size 744x52
+            text run at (260,52) width 484: " Hitting return key with full line selected does not"
+            text run at (0,78) width 254: "add blank line as it should"
+        RenderBlock {DIV} at (14,134) size 756x208
+          RenderBlock (anonymous) at (0,0) size 756x104
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 748x84
-              text run at (0,28) width 724: "Should see this content in the red box below (note that there should be two"
-              text run at (0,56) width 748: "blank lines between \"foo\" and \"baz\"; also note that the insertion point should"
-              text run at (0,84) width 429: "be at the start of the third line, a blank line):"
-          RenderBlock {DIV} at (0,112) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 748x78
+              text run at (0,26) width 724: "Should see this content in the red box below (note that there should be two"
+              text run at (0,52) width 748: "blank lines between \"foo\" and \"baz\"; also note that the insertion point should"
+              text run at (0,78) width 429: "be at the start of the third line, a blank line):"
+          RenderBlock {DIV} at (0,104) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (0,140) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (0,168) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (0,196) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock {DIV} at (0,130) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (0,156) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (0,182) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
-      RenderBlock {DIV} at (0,404) size 784x116
-        RenderBlock {DIV} at (0,0) size 784x116 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,380) size 784x108
+        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (2,58) size 780x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {DIV} at (2,86) size 780x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (2,54) size 780x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {DIV} at (2,80) size 780x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 caret: position 0 of child 0 {BR} of child 3 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.png
new file mode 100644
index 0000000..fb14bf5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.txt
index 022a24f..1659aa2 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-001-expected.txt
@@ -37,8 +37,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 176x28
-          RenderText {#text} at (14,14) size 176x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 176x26
+          RenderText {#text} at (14,14) size 176x26
             text run at (14,14) width 176: "xxxXXxxxXXxxx"
 caret: position 13 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.png b/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.png
new file mode 100644
index 0000000..b2527e1
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.txt b/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.txt
index 99ac365..874955a 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-002-expected.txt
@@ -19,12 +19,12 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 112x28
-          RenderText {#text} at (14,14) size 79x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 112x26
+          RenderText {#text} at (14,14) size 79x26
             text run at (14,14) width 79: "Foo xxx"
-          RenderInline {I} at (0,0) size 33x28
-            RenderText {#text} at (93,14) size 33x28
+          RenderInline {I} at (0,0) size 33x26
+            RenderText {#text} at (93,14) size 33x26
               text run at (93,14) width 33: "bar"
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.png b/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.png
new file mode 100644
index 0000000..23d9180
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.txt b/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.txt
index 083221b..b416065 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-003-expected.txt
@@ -750,14 +750,14 @@
 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 738x112
+      RenderBlock {DIV} at (0,0) size 784x132 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 738x104
           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 (710,14) width 6: " "
-          text run at (14,42) width 732: "xxxxxxxxxxxx xxxxxxxx xxx xxxx xxxxx xx xxx xxxx xxxx xxxxx xxxxxx"
-          text run at (746,42) width 6: " "
-          text run at (14,70) width 714: "xxx xx xxxx xxx xxx xx xxxxxx xxxxx xxxxxx xxx xx xxxx xxx xxx xx x"
-          text run at (728,70) width 6: " "
-          text run at (14,98) width 360: "xxxxx xxxxxxxxxxxx xxxxxxxx xxx "
-        RenderInline {SPAN} at (0,0) size 0x28
+          text run at (14,40) width 732: "xxxxxxxxxxxx xxxxxxxx xxx xxxx xxxxx xx xxx xxxx xxxx xxxxx xxxxxx"
+          text run at (746,40) width 6: " "
+          text run at (14,66) width 714: "xxx xx xxxx xxx xxx xx xxxxxx xxxxx xxxxxx xxx xx xxxx xxx xxx xx x"
+          text run at (728,66) width 6: " "
+          text run at (14,92) width 360: "xxxxx xxxxxxxxxxxx xxxxxxxx xxx "
+        RenderInline {SPAN} at (0,0) size 0x26
 caret: position 233 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.png
new file mode 100644
index 0000000..ed9c7d0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.txt
index cd6f8c0..6309721 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-around-br-001-expected.txt
@@ -93,29 +93,29 @@
 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 784x252 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 70x224
-          RenderText {#text} at (14,14) size 70x28
+      RenderBlock {DIV} at (0,0) size 784x236 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 70x208
+          RenderText {#text} at (14,14) size 70x26
             text run at (14,14) width 70: "XXxxx"
-          RenderBR {BR} at (84,36) size 0x0
-          RenderText {#text} at (14,42) size 70x28
-            text run at (14,42) width 70: "XXxxx"
-          RenderBR {BR} at (84,64) size 0x0
-          RenderText {#text} at (14,70) size 36x28
-            text run at (14,70) width 36: "xxx"
-          RenderBR {BR} at (50,92) size 0x0
-          RenderText {#text} at (14,98) size 70x28
-            text run at (14,98) width 70: "XXxxx"
-          RenderBR {BR} at (84,120) size 0x0
-          RenderText {#text} at (14,126) size 36x28
-            text run at (14,126) width 36: "xxx"
-          RenderBR {BR} at (50,148) size 0x0
-          RenderText {#text} at (14,154) size 36x28
-            text run at (14,154) width 36: "xxx"
-          RenderBR {BR} at (50,176) size 0x0
-          RenderText {#text} at (14,182) size 36x28
-            text run at (14,182) width 36: "xxx"
-          RenderBR {BR} at (50,204) size 0x0
-          RenderText {#text} at (14,210) size 70x28
-            text run at (14,210) width 70: "XXxxx"
+          RenderBR {BR} at (84,35) size 0x0
+          RenderText {#text} at (14,40) size 70x26
+            text run at (14,40) width 70: "XXxxx"
+          RenderBR {BR} at (84,61) size 0x0
+          RenderText {#text} at (14,66) size 36x26
+            text run at (14,66) width 36: "xxx"
+          RenderBR {BR} at (50,87) size 0x0
+          RenderText {#text} at (14,92) size 70x26
+            text run at (14,92) width 70: "XXxxx"
+          RenderBR {BR} at (84,113) size 0x0
+          RenderText {#text} at (14,118) size 36x26
+            text run at (14,118) width 36: "xxx"
+          RenderBR {BR} at (50,139) size 0x0
+          RenderText {#text} at (14,144) size 36x26
+            text run at (14,144) width 36: "xxx"
+          RenderBR {BR} at (50,165) size 0x0
+          RenderText {#text} at (14,170) size 36x26
+            text run at (14,170) width 36: "xxx"
+          RenderBR {BR} at (50,191) size 0x0
+          RenderText {#text} at (14,196) size 70x26
+            text run at (14,196) width 70: "XXxxx"
 caret: position 5 of child 14 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.png b/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.png
new file mode 100644
index 0000000..64de5ef
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.txt b/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.txt
index 4b1950f..8148ee4 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-around-image-001-expected.txt
@@ -50,19 +50,19 @@
 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 784x137 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 390x28
-          RenderText {#text} at (14,95) size 12x28
-            text run at (14,95) width 12: "x"
+      RenderBlock {DIV} at (0,0) size 784x136 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 390x26
+          RenderText {#text} at (14,96) size 12x26
+            text run at (14,96) width 12: "x"
           RenderImage {IMG} at (26,14) size 76x103
-          RenderText {#text} at (102,95) size 36x28
-            text run at (102,95) width 36: "xxx"
+          RenderText {#text} at (102,96) size 36x26
+            text run at (102,96) width 36: "xxx"
           RenderImage {IMG} at (138,14) size 76x103
-          RenderText {#text} at (214,95) size 36x28
-            text run at (214,95) width 36: "xxx"
-          RenderText {#text} at (250,95) size 42x28
-            text run at (250,95) width 42: " xxx"
+          RenderText {#text} at (214,96) size 36x26
+            text run at (214,96) width 36: "xxx"
+          RenderText {#text} at (250,96) size 42x26
+            text run at (250,96) width 42: " xxx"
           RenderImage {IMG} at (292,14) size 76x103
-          RenderText {#text} at (368,95) size 36x28
-            text run at (368,95) width 36: "xxx"
+          RenderText {#text} at (368,96) size 36x26
+            text run at (368,96) width 36: "xxx"
 caret: position 3 of child 7 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.png b/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.png
index c692df5..8f550b6 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.png
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.txt b/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.txt
index dd2a11f..b00de97 100644
--- a/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.txt
+++ b/LayoutTests/platform/gtk/editing/inserting/typing-at-end-of-line-expected.txt
@@ -23,14 +23,14 @@
 layer at (0,0) size 800x585
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,8) size 784x569
-      RenderBlock {DIV} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 779x55
+      RenderBlock {DIV} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 779x51
           text run at (0,0) width 779: "This test validates the fix for a bug that occurred when typing a blank at the end of a line when the character doesn't fix by a"
-          text run at (0,18) width 760: "fraction of a pixel. If the test runs correctly, you should see the word 'you' at the end of the line and the word 'have' at the"
-          text run at (0,36) width 199: "beginning of the following line."
-      RenderBlock (anonymous) at (0,54) size 784x18
-        RenderBR {BR} at (0,0) size 0x19
-      RenderBlock {DIV} at (0,72) size 871x100
+          text run at (0,17) width 760: "fraction of a pixel. If the test runs correctly, you should see the word 'you' at the end of the line and the word 'have' at the"
+          text run at (0,34) width 199: "beginning of the following line."
+      RenderBlock (anonymous) at (0,51) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
+      RenderBlock {DIV} at (0,68) size 871x100
         RenderText {#text} at (0,0) size 822x14
           text run at (0,0) width 822: "and Anna, you can do your regular weekly report run, and I'll extract the key sections into this. Andrew and Mark, I'd like to include any new bits you have"
 caret: position 157 of child 0 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.png
index 4e23eae..8cd3f65 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.txt
index c0073d1..be114a1 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/3976872-expected.txt
@@ -18,21 +18,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 381x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 381x17
           text run at (0,0) width 381: "This tests paste and match style on an empty (but styled) line"
-      RenderBlock {P} at (0,34) size 784x36
-        RenderText {#text} at (0,0) size 751x37
+      RenderBlock {P} at (0,33) size 784x34
+        RenderText {#text} at (0,0) size 751x34
           text run at (0,0) width 751: "The first line is copied (unstyled), then it's bolded, then a paragraph separator is inserted and the original unstyled line is"
-          text run at (0,18) width 181: "pasted (with style matching)."
-      RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,96) size 784x40
-        RenderBlock {DIV} at (0,0) size 784x20 [border: (1px solid #FF0000)]
-          RenderInline {B} at (0,0) size 187x19
-            RenderText {#text} at (1,1) size 187x19
+          text run at (0,17) width 181: "pasted (with style matching)."
+      RenderBlock {HR} at (0,83) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,93) size 784x38
+        RenderBlock {DIV} at (0,0) size 784x19 [border: (1px solid #FF0000)]
+          RenderInline {B} at (0,0) size 187x17
+            RenderText {#text} at (1,1) size 187x17
               text run at (1,1) width 187: "this text should end up bold"
-        RenderBlock {DIV} at (0,20) size 784x20 [border: (1px solid #FF0000)]
-          RenderInline {B} at (0,0) size 187x19
-            RenderText {#text} at (1,1) size 187x19
+        RenderBlock {DIV} at (0,19) size 784x19 [border: (1px solid #FF0000)]
+          RenderInline {B} at (0,0) size 187x17
+            RenderText {#text} at (1,1) size 187x17
               text run at (1,1) width 187: "this text should end up bold"
 caret: position 28 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.png
new file mode 100644
index 0000000..f4fda8e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.txt
index 9ba1deb..0898a6b 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4076267-2-expected.txt
@@ -18,12 +18,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 381x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 381x17
           text run at (0,0) width 381: "This tests to see if trailing spaces are lost during a copy/paste"
-      RenderBlock {HR} at (0,34) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,44) size 784x26 [border: (2px solid #FFAAAA)]
-        RenderBlock {DIV} at (2,2) size 780x22 [border: (2px solid #AAAAFF)]
-          RenderText {#text} at (2,2) size 573x19
+      RenderBlock {HR} at (0,33) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,43) size 784x25 [border: (2px solid #FFAAAA)]
+        RenderBlock {DIV} at (2,2) size 780x21 [border: (2px solid #AAAAFF)]
+          RenderText {#text} at (2,2) size 573x17
             text run at (2,2) width 573: "there should be a single trailing space between the '.' and the last character in this sentence ."
 caret: position 96 of child 0 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.png
new file mode 100644
index 0000000..2fd2a5b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.txt
index 6f0fec2..86bbed8 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4076267-3-expected.txt
@@ -476,41 +476,41 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 333x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 333x17
           text run at (0,0) width 333: "This tests to see if spaces are lost during a copy/paste"
-      RenderBlock {HR} at (0,34) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,44) size 784x198
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+      RenderBlock {HR} at (0,33) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,43) size 784x187
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "x x"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 24x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 24x17
             text run at (0,0) width 24: "x  x"
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 28x19
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 28x17
             text run at (0,0) width 28: "x   x"
-        RenderBlock {DIV} at (0,54) size 784x18
-          RenderText {#text} at (0,0) size 32x19
+        RenderBlock {DIV} at (0,51) size 784x17
+          RenderText {#text} at (0,0) size 32x17
             text run at (0,0) width 32: "x    x"
-        RenderBlock {DIV} at (0,72) size 784x18
-          RenderText {#text} at (0,0) size 36x19
+        RenderBlock {DIV} at (0,68) size 784x17
+          RenderText {#text} at (0,0) size 36x17
             text run at (0,0) width 36: "x     x"
-        RenderBlock {DIV} at (0,90) size 784x18
-          RenderText {#text} at (0,0) size 40x19
+        RenderBlock {DIV} at (0,85) size 784x17
+          RenderText {#text} at (0,0) size 40x17
             text run at (0,0) width 40: "x      x"
-        RenderBlock {DIV} at (0,108) size 784x18
-          RenderText {#text} at (0,0) size 44x19
+        RenderBlock {DIV} at (0,102) size 784x17
+          RenderText {#text} at (0,0) size 44x17
             text run at (0,0) width 44: "x       x"
-        RenderBlock {DIV} at (0,126) size 784x18
-          RenderText {#text} at (0,0) size 48x19
+        RenderBlock {DIV} at (0,119) size 784x17
+          RenderText {#text} at (0,0) size 48x17
             text run at (0,0) width 48: "x        x"
-        RenderBlock {DIV} at (0,144) size 784x18
-          RenderText {#text} at (0,0) size 52x19
+        RenderBlock {DIV} at (0,136) size 784x17
+          RenderText {#text} at (0,0) size 52x17
             text run at (0,0) width 52: "x         x"
-        RenderBlock {DIV} at (0,162) size 784x18
-          RenderText {#text} at (0,0) size 56x19
+        RenderBlock {DIV} at (0,153) size 784x17
+          RenderText {#text} at (0,0) size 56x17
             text run at (0,0) width 56: "x          x"
-        RenderBlock {DIV} at (0,180) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
+        RenderBlock {DIV} at (0,170) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 0 {BR} of child 10 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.png
new file mode 100644
index 0000000..5095b86
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.txt
index 47c1618..f04b557 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4076267-expected.txt
@@ -21,12 +21,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 383x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 383x17
           text run at (0,0) width 383: "This tests to see if leading spaces are lost during a copy/paste"
-      RenderBlock {HR} at (0,34) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,44) size 784x18
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 330x19
+      RenderBlock {HR} at (0,33) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,43) size 784x17
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 330x17
             text run at (0,0) width 330: " this text should have a single leading space before it"
 caret: position 55 of child 0 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.png
index c8ae3ec..d68ba38 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.txt
index acaed21..33ef258 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4242293-expected.txt
@@ -17,34 +17,34 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 782x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 782x34
           text run at (0,0) width 782: "This tests for a bug in createMarkup (markup for ancestors of the start of the selection wasn't being added to the pasteboard)."
-          text run at (0,18) width 338: "You should see the same thing in both regions below."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderInline {B} at (0,0) size 438x19
-          RenderText {#text} at (0,0) size 438x19
+          text run at (0,17) width 338: "You should see the same thing in both regions below."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderInline {B} at (0,0) size 438x17
+          RenderText {#text} at (0,0) size 438x17
             text run at (0,0) width 438: "This demonstrates a bug: 'foo' is pulled out of its bordered block."
-      RenderBlock {DIV} at (0,86) size 784x73
-        RenderBlock {DIV} at (5,0) size 774x50 [border: (1px solid #FF0000)]
-          RenderBlock (anonymous) at (1,1) size 772x18
-            RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,83) size 784x70
+        RenderBlock {DIV} at (5,0) size 774x48 [border: (1px solid #FF0000)]
+          RenderBlock (anonymous) at (1,1) size 772x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-          RenderBlock {DIV} at (6,24) size 762x20 [border: (1px solid #0000FF)]
-            RenderText {#text} at (1,1) size 20x19
+          RenderBlock {DIV} at (6,23) size 762x19 [border: (1px solid #0000FF)]
+            RenderText {#text} at (1,1) size 20x17
               text run at (1,1) width 20: "bar"
-        RenderBlock (anonymous) at (0,55) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,53) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
-      RenderBlock {DIV} at (0,164) size 784x73
-        RenderBlock {DIV} at (5,0) size 774x50 [border: (1px solid #FF0000)]
-          RenderBlock (anonymous) at (1,1) size 772x18
-            RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,158) size 784x70
+        RenderBlock {DIV} at (5,0) size 774x48 [border: (1px solid #FF0000)]
+          RenderBlock (anonymous) at (1,1) size 772x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-          RenderBlock {DIV} at (6,24) size 762x20 [border: (1px solid #0000FF)]
-            RenderText {#text} at (1,1) size 20x19
+          RenderBlock {DIV} at (6,23) size 762x19 [border: (1px solid #0000FF)]
+            RenderText {#text} at (1,1) size 20x17
               text run at (1,1) width 20: "bar"
-        RenderBlock (anonymous) at (0,55) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,53) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
 caret: position 3 of child 1 {#text} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.png
index a203b4f..6a89a34 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.txt
index 84209c1..caaf774 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4631972-expected.txt
@@ -9,17 +9,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 640x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 640x34
           text run at (0,0) width 423: "This tests pasting a fragment containing an <iframe> after a <div>. "
           text run at (423,0) width 215: "This used to fail on an assertion in"
-          text run at (0,18) width 325: "moveParagraphContentsToNewBlockIfNecessary. "
-          text run at (325,18) width 315: "You should see 'foo' and then an <iframe> below."
-      RenderBlock {DIV} at (0,52) size 784x70
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 325: "moveParagraphContentsToNewBlockIfNecessary. "
+          text run at (325,17) width 315: "You should see 'foo' and then an <iframe> below."
+      RenderBlock {DIV} at (0,50) size 784x69
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (0,18) size 784x52
+        RenderBlock (anonymous) at (0,17) size 784x52
           RenderPartObject {IFRAME} at (0,0) size 102x52 [border: (1px solid #000000)]
             layer at (0,0) size 100x50
               RenderView at (0,0) size 100x50
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.png
index df722b8..00a3baa 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.txt
index 60268a3..e2a52ab 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4641033-expected.txt
@@ -11,26 +11,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 769x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 769x34
           text run at (0,0) width 660: "This tests for a bug when creating markup for a selection that contained unrendered nodes with children. "
           text run at (660,0) width 109: "You should see a"
-          text run at (0,18) width 248: "picture of abe followed by a select box."
-      RenderBlock {DIV} at (0,52) size 784x113
+          text run at (0,17) width 248: "picture of abe followed by a select box."
+      RenderBlock {DIV} at (0,50) size 784x113
         RenderImage {IMG} at (0,0) size 76x103
-        RenderText {#text} at (76,88) size 4x19
-          text run at (76,88) width 4: " "
-        RenderMenuList {SELECT} at (82,83) size 52x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 50x26
-            RenderText at (4,4) size 9x19
+        RenderText {#text} at (76,89) size 4x17
+          text run at (76,89) width 4: " "
+        RenderMenuList {SELECT} at (82,84) size 52x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 50x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
-      RenderBlock (anonymous) at (0,165) size 784x113
+      RenderBlock (anonymous) at (0,163) size 784x113
         RenderImage {IMG} at (0,0) size 76x103
-        RenderText {#text} at (76,88) size 4x19
-          text run at (76,88) width 4: " "
-        RenderMenuList {SELECT} at (82,83) size 52x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 50x26
-            RenderText at (4,4) size 9x19
+        RenderText {#text} at (76,89) size 4x17
+          text run at (76,89) width 4: " "
+        RenderMenuList {SELECT} at (82,84) size 52x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 50x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.png
index 0c87789..b6e41d8 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.txt
index 492cb59..f6ebabf 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4806874-expected.txt
@@ -3,16 +3,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 545x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 545x17
           text run at (0,0) width 245: "This tests for an infinite loop on Paste. "
           text run at (245,0) width 300: "You should see 'Hello: ' and then an input field."
-      RenderBlock {DIV} at (0,34) size 784x28
-        RenderText {#text} at (0,5) size 35x19
+      RenderBlock {DIV} at (0,33) size 784x27
+        RenderText {#text} at (0,5) size 35x17
           text run at (0,5) width 35: "Hello"
-        RenderTextControl {INPUT} at (37,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (231,5) size 4x19
-          text run at (231,5) width 4: ":"
-layer at (48,47) size 186x18
-  RenderBlock {DIV} at (3,3) size 186x18
+        RenderTextControl {INPUT} at (37,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (230,5) size 4x17
+          text run at (230,5) width 4: ":"
+layer at (48,46) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
 caret: position 1 of child 1 {INPUT} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.png
index e633ca6..a6a2547 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.txt
index fde13d7..6c7d849 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4944770-1-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 744x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 744x34
           text run at (0,0) width 408: "This tests smart paste of a fragment that ends in a select element. "
           text run at (408,0) width 336: "There should be no spaces added because the paste is"
-          text run at (0,18) width 214: "performed in an empty paragraph."
-      RenderBlock {DIV} at (0,52) size 784x32
-        RenderText {#text} at (0,7) size 21x19
+          text run at (0,17) width 214: "performed in an empty paragraph."
+      RenderBlock {DIV} at (0,50) size 784x31
+        RenderText {#text} at (0,7) size 21x17
           text run at (0,7) width 21: "foo"
-        RenderMenuList {SELECT} at (23,2) size 36x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 34x26
-            RenderText at (4,4) size 9x19
+        RenderMenuList {SELECT} at (23,2) size 36x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 34x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
-      RenderBlock {DIV} at (0,84) size 784x32
-        RenderText {#text} at (0,7) size 21x19
+      RenderBlock {DIV} at (0,81) size 784x31
+        RenderText {#text} at (0,7) size 21x17
           text run at (0,7) width 21: "foo"
-        RenderMenuList {SELECT} at (23,2) size 36x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 34x26
-            RenderText at (4,4) size 9x19
+        RenderMenuList {SELECT} at (23,2) size 36x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 34x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
 caret: position 3 of child 1 {SELECT} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.png
index e5f06ff..2bced6a 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.txt
index abe0b43..b49cd29 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4944770-2-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 408: "This tests smart paste of a fragment that ends in a select element. "
           text run at (408,0) width 368: "There should be spaces added before and after the inserted"
-          text run at (0,18) width 50: "content."
-      RenderBlock {DIV} at (0,52) size 784x32
-        RenderMenuList {SELECT} at (2,2) size 36x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 34x26
-            RenderText at (4,4) size 9x19
+          text run at (0,17) width 50: "content."
+      RenderBlock {DIV} at (0,50) size 784x31
+        RenderMenuList {SELECT} at (2,2) size 36x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 34x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
-      RenderBlock {DIV} at (0,84) size 784x32
-        RenderText {#text} at (0,7) size 12x19
+      RenderBlock {DIV} at (0,81) size 784x31
+        RenderText {#text} at (0,7) size 12x17
           text run at (0,7) width 12: "x "
-        RenderMenuList {SELECT} at (14,2) size 36x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 34x26
-            RenderText at (4,4) size 9x19
+        RenderMenuList {SELECT} at (14,2) size 36x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 34x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
-        RenderText {#text} at (52,7) size 4x19
+        RenderText {#text} at (52,7) size 4x17
           text run at (52,7) width 4: " "
-        RenderText {#text} at (56,7) size 8x19
+        RenderText {#text} at (56,7) size 8x17
           text run at (56,7) width 8: "x"
 caret: position 1 of child 2 {#text} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.png
index f576f7c..c072add 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.txt
index c9a821b..c93549c 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4947130-expected.txt
@@ -3,19 +3,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 780x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 780x34
           text run at (0,0) width 491: "This tests to see if dragging an image is a move drag by default (it should be). "
           text run at (491,0) width 289: "You should only see one picture and it should"
-          text run at (0,18) width 200: "be somewhere near the middle. "
-        RenderInline {B} at (0,0) size 492x19
-          RenderText {#text} at (200,18) size 492x19
-            text run at (200,18) width 492: "This demonstrates a bug, the ghost of the drag caret is left after the drop."
-      RenderBlock {DIV} at (0,52) size 784x106
-        RenderText {#text} at (0,88) size 48x19
-          text run at (0,88) width 48: "xxxxxx"
+          text run at (0,17) width 200: "be somewhere near the middle. "
+        RenderInline {B} at (0,0) size 492x17
+          RenderText {#text} at (200,17) size 492x17
+            text run at (200,17) width 492: "This demonstrates a bug, the ghost of the drag caret is left after the drop."
+      RenderBlock {DIV} at (0,50) size 784x106
+        RenderText {#text} at (0,89) size 48x17
+          text run at (0,89) width 48: "xxxxxx"
         RenderImage {IMG} at (48,0) size 76x103
-        RenderText {#text} at (124,88) size 32x19
-          text run at (124,88) width 32: "xxxx"
+        RenderText {#text} at (124,89) size 32x17
+          text run at (124,89) width 32: "xxxx"
 selection start: position 0 of child 1 {IMG} of child 2 {DIV} of body
 selection end:   position 1 of child 1 {IMG} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.png
index 45d5e75..eca6fe3 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.txt
index d35a835..2897812 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/4989774-expected.txt
@@ -7,11 +7,11 @@
       RenderImage {IMG} at (76,0) size 76x103
       RenderImage {IMG} at (152,0) size 76x103
       RenderBR {BR} at (228,103) size 0x0
-      RenderText {#text} at (0,103) size 784x37
+      RenderText {#text} at (0,103) size 784x34
         text run at (0,103) width 629: "This tests for a bug where an images pasted on the same line would appear on different lines. "
         text run at (629,103) width 153: "You should see several"
         text run at (782,103) width 2: " "
-        text run at (0,121) width 307: "pictures above all in the same line/paragraph."
+        text run at (0,120) width 307: "pictures above all in the same line/paragraph."
       RenderText {#text} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
 caret: position 164 of child 4 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.png
index 69ecd23..b4c3425 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.txt
index 7184967..a081401 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5006779-expected.txt
@@ -3,22 +3,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 597x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 597x17
           text run at (0,0) width 421: "This tests copying/pasting less than a paragraph of quoted content. "
           text run at (421,0) width 176: "It should not appear quoted."
-      RenderBlock {DIV} at (0,34) size 784x90
-        RenderBlock (anonymous) at (0,0) size 784x36
-          RenderText {#text} at (0,0) size 20x19
+      RenderBlock {DIV} at (0,33) size 784x85
+        RenderBlock (anonymous) at (0,0) size 784x34
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "On"
-          RenderBR {BR} at (20,15) size 0x0
-          RenderBR {BR} at (0,18) size 0x19
-        RenderBlock {BLOCKQUOTE} at (0,36) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (12,0) size 164x19
+          RenderBR {BR} at (20,14) size 0x0
+          RenderBR {BR} at (0,17) size 0x17
+        RenderBlock {BLOCKQUOTE} at (0,34) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (12,0) size 164x17
             text run at (12,0) width 164: "On Tuesday, Dave wrote:"
-        RenderBlock {BLOCKQUOTE} at (0,54) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderBR {BR} at (12,0) size 0x19
-        RenderBlock {BLOCKQUOTE} at (0,72) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (12,0) size 83x19
+        RenderBlock {BLOCKQUOTE} at (0,51) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderBR {BR} at (12,0) size 0x17
+        RenderBlock {BLOCKQUOTE} at (0,68) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (12,0) size 83x17
             text run at (12,0) width 83: "Hello World."
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.png
index d392442..ff177c6 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.txt
index 4f10c71..3a5b3e1 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5028447-expected.txt
@@ -3,10 +3,10 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderText {#text} at (0,0) size 784x58
+      RenderText {#text} at (0,0) size 784x54
         text run at (0,0) width 779: "All the text here should be the same size. All the text here should be the same"
         text run at (779,0) width 5: " "
-        text run at (0,29) width 45: "size."
-        text run at (45,29) width 6: " "
+        text run at (0,27) width 45: "size."
+        text run at (45,27) width 6: " "
       RenderText {#text} at (0,0) size 0x0
 caret: position 87 of child 0 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.png
new file mode 100644
index 0000000..816d264
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.txt
index acb1228..842446f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5032095-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 764x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 764x34
           text run at (0,0) width 690: "This tests for a bug where content pasted at the end of a paragraph would be inserted into the next paragraph. "
           text run at (690,0) width 74: "You should"
-          text run at (0,18) width 145: "see 'helloworld' below."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 68x19
+          text run at (0,17) width 145: "see 'helloworld' below."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 68x17
           text run at (0,0) width 68: "helloworld"
 caret: position 10 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.png
new file mode 100644
index 0000000..d763d74
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.txt
index 2790f37..e943e32 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5071074-2-expected.txt
@@ -3,18 +3,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 541x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 541x17
           text run at (0,0) width 541: "This tests for a bug where copied links wouldn't be pasted as links at certain positions."
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 159x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 159x17
             text run at (0,0) width 159: "This should be plain text."
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 159x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 159x17
             text run at (0,0) width 159: "This should be plain text."
-          RenderInline {A} at (0,0) size 136x19 [color=#0000EE]
-            RenderText {#text} at (159,0) size 136x19
+          RenderInline {A} at (0,0) size 136x17 [color=#0000EE]
+            RenderText {#text} at (159,0) size 136x17
               text run at (159,0) width 136: "This should be a link."
-        RenderBlock (anonymous) at (0,36) size 784x0
+        RenderBlock (anonymous) at (0,34) size 784x0
 caret: position 22 of child 0 {#text} of child 1 {A} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.png
index 49b0983..482ba8b 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.txt
index e0186fe..53acc14 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5071074-expected.txt
@@ -3,19 +3,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 586x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 586x17
           text run at (0,0) width 586: "This tests for a bug where links that weren't fully selected would be copy/pasted as plain text."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 163x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 163x17
           text run at (0,0) width 163: "This should be plain text. "
-        RenderInline {A} at (0,0) size 136x19 [color=#0000EE]
-          RenderText {#text} at (163,0) size 136x19
+        RenderInline {A} at (0,0) size 136x17 [color=#0000EE]
+          RenderText {#text} at (163,0) size 136x17
             text run at (163,0) width 136: "This should be a link."
-        RenderText {#text} at (299,0) size 163x19
+        RenderText {#text} at (299,0) size 163x17
           text run at (299,0) width 163: " This should be plain text."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderInline {A} at (0,0) size 136x19 [color=#0000EE]
-          RenderText {#text} at (0,0) size 136x19
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderInline {A} at (0,0) size 136x17 [color=#0000EE]
+          RenderText {#text} at (0,0) size 136x17
             text run at (0,0) width 136: "This should be a link."
 caret: position 22 of child 0 {#text} of child 0 {A} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.png
index 421fa01..7e6f06f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.txt
index 0dd4705..ff43686 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5075944-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 300x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 300x17
           text run at (0,0) width 300: "This test for a bug copy/pasting underlined text."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderInline {U} at (0,0) size 168x19
-          RenderText {#text} at (0,0) size 168x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderInline {U} at (0,0) size 168x17
+          RenderText {#text} at (0,0) size 168x17
             text run at (0,0) width 168: "This should be underlined."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderInline {U} at (0,0) size 168x19
-          RenderText {#text} at (0,0) size 168x19
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderInline {U} at (0,0) size 168x17
+          RenderText {#text} at (0,0) size 168x17
             text run at (0,0) width 168: "This should be underlined."
 caret: position 26 of child 0 {#text} of child 0 {U} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.png
new file mode 100644
index 0000000..90a5847
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.txt
index 6ce232f..8f4a51b 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5134759-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 648x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 648x17
           text run at (0,0) width 504: "This tests for a hang when pasting underlined content at the end of a paragraph. "
           text run at (504,0) width 144: "You should see 'Hello "
-        RenderInline {U} at (0,0) size 45x19
-          RenderText {#text} at (648,0) size 45x19
+        RenderInline {U} at (0,0) size 45x17
+          RenderText {#text} at (648,0) size 45x17
             text run at (648,0) width 45: "World!"
-        RenderText {#text} at (693,0) size 50x19
+        RenderText {#text} at (693,0) size 50x17
           text run at (693,0) width 50: "' below."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 39x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 39x17
             text run at (0,0) width 39: "Hello "
-          RenderInline {SPAN} at (0,0) size 45x19
-            RenderText {#text} at (39,0) size 45x19
+          RenderInline {SPAN} at (0,0) size 45x17
+            RenderText {#text} at (39,0) size 45x17
               text run at (39,0) width 45: "World!"
-        RenderBlock (anonymous) at (0,18) size 784x0
+        RenderBlock (anonymous) at (0,17) size 784x0
 caret: position 6 of child 0 {#text} of child 1 {SPAN} of child 0 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.png
new file mode 100644
index 0000000..a3b01c9
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.txt
index 12d6b66..d3376d3 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5156401-1-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 450x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 450x17
           text run at (0,0) width 450: "This tests for a crash when pasting content into a link inside a table cell."
-      RenderBlock {DIV} at (0,34) size 784x28
-        RenderTable {TABLE} at (0,0) size 146x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 144x26
-            RenderTableRow {TR} at (0,2) size 144x22
-              RenderTableCell {TD} at (2,2) size 140x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderInline {A} at (0,0) size 136x19 [color=#0000EE]
-                  RenderText {#text} at (2,2) size 136x19
+      RenderBlock {DIV} at (0,33) size 784x27
+        RenderTable {TABLE} at (0,0) size 146x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 144x25
+            RenderTableRow {TR} at (0,2) size 144x21
+              RenderTableCell {TD} at (2,2) size 140x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderInline {A} at (0,0) size 136x17 [color=#0000EE]
+                  RenderText {#text} at (2,2) size 136x17
                     text run at (2,2) width 136: "This should be a link."
 caret: position 21 of child 0 {#text} of child 0 {A} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.png
new file mode 100644
index 0000000..b2b0f88
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.txt
index 9460e7c..40d3eb0 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5387578-expected.txt
@@ -3,18 +3,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 779x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 779x34
           text run at (0,0) width 374: "This tests for a crash when pasting content into a table cell. "
           text run at (374,0) width 405: "The table cell has some collapsed whitespace at the end of it that"
-          text run at (0,18) width 110: "tickled the crash. "
-          text run at (110,18) width 333: "You should see 'Hello World' in the table cell below."
-      RenderBlock {DIV} at (0,52) size 784x28
-        RenderTable {TABLE} at (0,0) size 89x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 87x26
-            RenderTableRow {TR} at (0,2) size 87x22
-              RenderTableCell {TD} at (2,2) size 83x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 79x19
+          text run at (0,17) width 110: "tickled the crash. "
+          text run at (110,17) width 333: "You should see 'Hello World' in the table cell below."
+      RenderBlock {DIV} at (0,50) size 784x27
+        RenderTable {TABLE} at (0,0) size 89x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 87x25
+            RenderTableRow {TR} at (0,2) size 87x21
+              RenderTableCell {TD} at (2,2) size 83x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 79x17
                   text run at (2,2) width 79: "Hello World"
                   text run at (81,2) width 0: " \x{9}\x{9} \x{9}\x{9}"
 caret: position 11 of child 0 {#text} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.png
index 8ccd618..5e35cbc 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.txt
index 4c6f01d..040256f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5478250-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 513x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 513x17
           text run at (0,0) width 513: "This tests that inherited block properties do not propigate to the editing style span."
-      RenderBlock {DIV} at (50,34) size 734x18
-        RenderText {#text} at (267,0) size 150x19
+      RenderBlock {DIV} at (50,33) size 734x17
+        RenderText {#text} at (267,0) size 150x17
           text run at (267,0) width 150: "Some text that is bold."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 108x19
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 108x17
             text run at (0,0) width 108: "Some text that is "
-          RenderInline {SPAN} at (0,0) size 34x19
-            RenderText {#text} at (108,0) size 34x19
+          RenderInline {SPAN} at (0,0) size 34x17
+            RenderText {#text} at (108,0) size 34x17
               text run at (108,0) width 34: "bold."
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderInline {SPAN} at (0,0) size 393x19
-            RenderText {#text} at (0,0) size 393x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderInline {SPAN} at (0,0) size 393x17
+            RenderText {#text} at (0,0) size 393x17
               text run at (0,0) width 393: "This text should bold and left justified with \"Some text...\"."
 caret: position 61 of child 0 {#text} of child 0 {SPAN} of child 2 {DIV} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.png
index 6c28a47..2e5f334 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.txt
index 798560e..328b4e2 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5601583-1-expected.txt
@@ -3,24 +3,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 719x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 719x34
           text run at (0,0) width 407: "This tests for a bug where a copied link wouldn't paste as a link. "
           text run at (407,0) width 312: "Both editable regions below should contain a link"
-          text run at (0,18) width 105: "\"Hello\\nWorld\"."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderInline {A} at (0,0) size 40x37 [color=#0000EE]
-          RenderText {#text} at (0,0) size 35x19
+          text run at (0,17) width 105: "\"Hello\\nWorld\"."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderInline {A} at (0,0) size 40x34 [color=#0000EE]
+          RenderText {#text} at (0,0) size 35x17
             text run at (0,0) width 35: "Hello"
-          RenderBR {BR} at (35,15) size 0x0
-          RenderText {#text} at (0,18) size 40x19
-            text run at (0,18) width 40: "World"
+          RenderBR {BR} at (35,14) size 0x0
+          RenderText {#text} at (0,17) size 40x17
+            text run at (0,17) width 40: "World"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,88) size 784x36
-        RenderInline {A} at (0,0) size 40x37 [color=#0000EE]
-          RenderText {#text} at (0,0) size 35x19
+      RenderBlock {DIV} at (0,84) size 784x34
+        RenderInline {A} at (0,0) size 40x34 [color=#0000EE]
+          RenderText {#text} at (0,0) size 35x17
             text run at (0,0) width 35: "Hello"
-          RenderBR {BR} at (35,15) size 0x0
-          RenderText {#text} at (0,18) size 40x19
-            text run at (0,18) width 40: "World"
+          RenderBR {BR} at (35,14) size 0x0
+          RenderText {#text} at (0,17) size 40x17
+            text run at (0,17) width 40: "World"
 caret: position 5 of child 2 {#text} of child 0 {A} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/5780697-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/5780697-2-expected.txt
new file mode 100644
index 0000000..85ab4c73
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/5780697-2-expected.txt
@@ -0,0 +1,3 @@
+This tests for a bug where copying content from a document in quirksmode and pasting it would produce overlapping text because of a height: 1%; overflow: visible; rule. To run manually, paste into a document not in quirksmode. The paragraphs should not overlap. When you inspect the source, the paragraphs should have pixel values for the height property.
+
+<p style="height: 51px;">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam interdum lacus id lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Quisque pulvinar, libero eu tincidunt adipiscing, quam arcu pharetra libero, sed aliquet leo eros vitae sapien.</p><p style="height: 51px;">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam interdum lacus id lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Quisque pulvinar, libero eu tincidunt adipiscing, quam arcu pharetra libero, sed aliquet leo eros vitae sapien.</p><p style="height: 51px;">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam interdum lacus id lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Quisque pulvinar, libero eu tincidunt adipiscing, quam arcu pharetra libero, sed aliquet leo eros vitae sapien.</p>
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.png
new file mode 100644
index 0000000..e8639f2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.txt
index 95b06c2..00c00e5 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/7955-expected.txt
@@ -3,10 +3,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 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,0) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.png
index fce5297..d1c0a6a 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.txt
index 22b7577..95d4104 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/8145-1-expected.txt
@@ -9,10 +9,10 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 423x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 423x17
           text run at (0,0) width 423: "This is a replica of the paste that caused the crash covered by 8145."
-      RenderBlock {DIV} at (0,34) size 784x20 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 71x19
+      RenderBlock {DIV} at (0,33) size 784x19 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 71x17
           text run at (1,1) width 71: "foo bar baz"
 caret: position 11 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.png
index a20d08f..e010372 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.txt
index 8bea848..f3f698d 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/8145-2-expected.txt
@@ -11,25 +11,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 783x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 783x34
           text run at (0,0) width 299: "This tests a change made with the fix for 8145. "
           text run at (299,0) width 484: "The paragraph separator inserted to prevent nesting blocks from the fragment"
-          text run at (0,18) width 779: "to paste inside the block where the paste occured was incorrectly inserted when the paste occured at the start of a paragraph."
-      RenderBlock {DIV} at (0,52) size 784x74 [border: (1px solid #000000)]
-        RenderBlock (anonymous) at (1,1) size 782x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 779: "to paste inside the block where the paste occured was incorrectly inserted when the paste occured at the start of a paragraph."
+      RenderBlock {DIV} at (0,50) size 784x70 [border: (1px solid #000000)]
+        RenderBlock (anonymous) at (1,1) size 782x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-          RenderBR {BR} at (21,15) size 0x0
-        RenderBlock {DIV} at (1,19) size 782x18
-          RenderText {#text} at (0,0) size 21x19
+          RenderBR {BR} at (21,14) size 0x0
+        RenderBlock {DIV} at (1,18) size 782x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (1,37) size 782x36
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock (anonymous) at (1,35) size 782x34
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
-          RenderText {#text} at (20,0) size 20x19
+          RenderText {#text} at (20,0) size 20x17
             text run at (20,0) width 20: "bar"
-          RenderBR {BR} at (40,15) size 0x0
-          RenderText {#text} at (0,18) size 22x19
-            text run at (0,18) width 22: "baz"
+          RenderBR {BR} at (40,14) size 0x0
+          RenderText {#text} at (0,17) size 22x17
+            text run at (0,17) width 22: "baz"
 caret: position 3 of child 3 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.png
index f0417af..5891cbd 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.txt
index a7dfa96..a134377 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/8145-3-expected.txt
@@ -11,20 +11,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 783x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 783x51
           text run at (0,0) width 299: "This tests a change made with the fix for 8145. "
           text run at (299,0) width 484: "The paragraph separator inserted to prevent nesting blocks from the fragment"
-          text run at (0,18) width 766: "to paste inside the block where the paste occured was not being inserted when the fragment had an interchange newline at"
-          text run at (0,36) width 50: "the end."
-      RenderBlock {DIV} at (0,70) size 784x56 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (1,1) size 782x18
-          RenderText {#text} at (0,0) size 25x19
+          text run at (0,17) width 766: "to paste inside the block where the paste occured was not being inserted when the fragment had an interchange newline at"
+          text run at (0,34) width 50: "the end."
+      RenderBlock {DIV} at (0,67) size 784x53 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (1,1) size 782x17
+          RenderText {#text} at (0,0) size 25x17
             text run at (0,0) width 25: "fbar"
-        RenderBlock (anonymous) at (1,19) size 782x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (1,18) size 782x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
-        RenderBlock {DIV} at (1,37) size 782x18
-          RenderText {#text} at (0,0) size 16x19
+        RenderBlock {DIV} at (1,35) size 782x17
+          RenderText {#text} at (0,0) size 16x17
             text run at (0,0) width 16: "oo"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.png
index fc48968..bb5ae6e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.txt
index 1179eb3..b7728cf 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/bad-placeholder-expected.txt
@@ -10,19 +10,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 751x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 751x34
           text run at (0,0) width 751: "This is a test to make sure that a placeholder, even one without our special class on it, is removed only when it has been"
-          text run at (0,18) width 405: "collapsed away or when it has been displaced by pasted content."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 763x37
+          text run at (0,17) width 405: "collapsed away or when it has been displaced by pasted content."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 763x34
           text run at (0,0) width 695: "Placeholders with our special class can, through bugs in deletion, be inserted into the document unnecessarily. "
           text run at (695,0) width 61: "Once that"
-          text run at (0,18) width 763: "happens, we don't want to make matters worse by removing them if they are acting as line breaks instead of placeholders."
-      RenderBlock {DIV} at (0,104) size 784x36
-        RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 763: "happens, we don't want to make matters worse by removing them if they are acting as line breaks instead of placeholders."
+      RenderBlock {DIV} at (0,100) size 784x34
+        RenderText {#text} at (0,0) size 99x17
           text run at (0,0) width 99: "First paragraph."
-        RenderBR {BR} at (99,15) size 0x0
-        RenderText {#text} at (0,18) size 118x19
-          text run at (0,18) width 118: "Second paragraph."
+        RenderBR {BR} at (99,14) size 0x0
+        RenderText {#text} at (0,17) size 118x17
+          text run at (0,17) width 118: "Second paragraph."
 caret: position 16 of child 0 {#text} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.png
index a690ace..b6cbaf5 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.txt
index 613c037..0d2183c 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/copy-standalone-image-expected.txt
@@ -10,14 +10,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 354x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 354x17
           text run at (0,0) width 354: "This is an automatic test of copying an image document."
-      RenderBlock {P} at (0,34) size 784x36
-        RenderText {#text} at (0,0) size 759x37
+      RenderBlock {P} at (0,33) size 784x34
+        RenderText {#text} at (0,0) size 759x34
           text run at (0,0) width 759: "To perform this test manually, click once in the image frame, choose Edit -> Copy then click in the red box and paste the"
-          text run at (0,18) width 355: "image. If the image pastes successfully the test is passed."
-      RenderBlock (anonymous) at (0,86) size 784x154
+          text run at (0,17) width 355: "image. If the image pastes successfully the test is passed."
+      RenderBlock (anonymous) at (0,83) size 784x154
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px solid #0000FF)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
@@ -26,7 +26,7 @@
               RenderBody {BODY} at (0,0) size 300x150
                 RenderImage {IMG} at (0,0) size 76x103
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,240) size 784x131 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,237) size 784x131 [border: (2px solid #FF0000)]
         RenderImage {IMG} at (14,14) size 76x103
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {IMG} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.png
new file mode 100644
index 0000000..ffa7889
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.txt
index 5b4b51a..68e7ca6 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/cut-text-001-expected.txt
@@ -17,9 +17,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 78x28
-          RenderText {#text} at (14,14) size 78x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 78x26
+          RenderText {#text} at (14,14) size 78x26
             text run at (14,14) width 78: "foo  baz"
         RenderText {#text} at (0,0) size 0x0
 caret: position 4 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.png
index a475f97..4571ff7 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.txt
index 4510ceb..db69a7f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.txt
@@ -9,16 +9,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 731x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 731x34
           text run at (0,0) width 731: "This is a test to make sure that a placeholder, even one that doesn't have our special class on it, is removed when it is"
-          text run at (0,18) width 177: "displaced by pasted content."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 177: "displaced by pasted content."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "First paragraph."
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 118x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 118x17
             text run at (0,0) width 118: "Second paragraph."
-        RenderBlock (anonymous) at (0,36) size 784x0
+        RenderBlock (anonymous) at (0,34) size 784x0
 caret: position 17 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.png
index 7def5f3..aaf3167 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.txt
index a79b3be..217656d 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/displaced-placeholder-expected.txt
@@ -9,15 +9,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 596x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 596x17
           text run at (0,0) width 596: "This is a test to make sure that a placeholder is removed when it is displaced by pasted content."
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 99x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "First paragraph."
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 118x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 118x17
             text run at (0,0) width 118: "Second paragraph."
-        RenderBlock (anonymous) at (0,36) size 784x0
+        RenderBlock (anonymous) at (0,34) size 784x0
 caret: position 17 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.png
new file mode 100644
index 0000000..0331617
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.txt
index 5c81a8e..2c0982e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-dead-frame-expected.txt
@@ -4,14 +4,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 616x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 616x17
           text run at (0,0) width 616: "Check you don't crash when your previous drag target frame is deleted <rdar://problem/5049842>"
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderInline {SPAN} at (0,0) size 31x19
-          RenderText {#text} at (0,0) size 31x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderInline {SPAN} at (0,0) size 31x17
+          RenderText {#text} at (0,0) size 31x17
             text run at (0,0) width 31: "hello"
-      RenderBlock (anonymous) at (0,52) size 784x0
+      RenderBlock (anonymous) at (0,50) size 784x0
         RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 3 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 0 {SPAN} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.png
new file mode 100644
index 0000000..b6c366d
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt
index 1b5c7d5..5163b1f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-drop-modifies-page-expected.txt
@@ -11,12 +11,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 719x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 719x34
           text run at (0,0) width 719: "This tests non-smartmove drag/drop. The space should be deleted on move, but not reinserted on drop, resulting in"
-          text run at (0,18) width 86: "\"worldhello\"."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 68x19
+          text run at (0,17) width 86: "\"worldhello\"."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 68x17
           text run at (0,0) width 68: "worldhello"
 selection start: position 5 of child 0 {#text} of child 3 {DIV} of body
 selection end:   position 10 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png
new file mode 100644
index 0000000..6113e3b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt
index 89e1de4..5d383e2 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 744x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 744x34
           text run at (0,0) width 744: "This tests that we can drag an image into the last position of a content editable div in an iframe that already contains an"
-          text run at (0,18) width 155: "image, without crashing."
-      RenderBlock (anonymous) at (0,52) size 784x157
+          text run at (0,17) width 155: "image, without crashing."
+      RenderBlock (anonymous) at (0,50) size 784x157
         RenderImage {IMG} at (0,51) size 76x103
-        RenderText {#text} at (76,139) size 4x19
-          text run at (76,139) width 4: " "
+        RenderText {#text} at (76,140) size 4x17
+          text run at (76,140) width 4: " "
         RenderPartObject {IFRAME} at (80,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134
-                RenderBlock {DIV} at (0,0) size 271x129 [border: (1px solid #000000)]
+                RenderBlock {DIV} at (0,0) size 272x130 [border: (1px solid #000000)]
                   RenderImage {IMG} at (1,1) size 20x20
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {UL} at (0,225) size 784x0
+      RenderBlock {UL} at (0,223) size 784x0
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
index 0f969b4..4469fa3 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.txt
index 842056b..63e3e3c 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drag-selected-image-to-contenteditable-expected.txt
@@ -16,10 +16,10 @@
       RenderBlock (anonymous) at (0,122) size 800x103
         RenderImage {IMG} at (0,0) size 76x103
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {UL} at (0,241) size 800x18
-        RenderListItem {LI} at (40,0) size 760x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 409x19
+      RenderBlock {UL} at (0,241) size 800x17
+        RenderListItem {LI} at (40,0) size 760x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 409x17
             text run at (0,0) width 409: "Abe should appear twice, once inside the div and once outside it."
 selection start: position 0 of child 0 {IMG} of child 1 {DIV} of body
 selection end:   position 1 of child 0 {IMG} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png
index 510b831..fd6c87e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
index 41313e2..cfa1d68 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
@@ -8,36 +8,36 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 104x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 104x17
           text run at (0,0) width 104: "This is a test for "
-        RenderInline {I} at (0,0) size 751x37
-          RenderInline {A} at (0,0) size 348x19 [color=#0000EE]
-            RenderText {#text} at (104,0) size 348x19
+        RenderInline {I} at (0,0) size 751x34
+          RenderInline {A} at (0,0) size 348x17 [color=#0000EE]
+            RenderText {#text} at (104,0) size 348x17
               text run at (104,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8394"
-          RenderText {#text} at (452,0) size 751x37
+          RenderText {#text} at (452,0) size 751x34
             text run at (452,0) width 4: " "
             text run at (456,0) width 295: "Editable region does not accept dropped text if"
-            text run at (0,18) width 125: "there is no selection"
-        RenderText {#text} at (125,18) size 4x19
-          text run at (125,18) width 4: "."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 653x19
+            text run at (0,17) width 125: "there is no selection"
+        RenderText {#text} at (125,17) size 4x17
+          text run at (125,17) width 4: "."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 653x17
           text run at (0,0) width 478: "The text field should accept drag-and-dropped text, such as the link, even if "
           text run at (478,0) width 175: "no text is currently selected."
-      RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
-      RenderBlock (anonymous) at (0,96) size 784x28
-        RenderTextControl {INPUT} at (2,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (196,5) size 4x19
-          text run at (196,5) width 4: " "
-        RenderInline {A} at (0,0) size 162x19 [color=#0000EE]
-          RenderText {#text} at (200,5) size 162x19
-            text run at (200,5) width 162: "drop me into the text field"
+      RenderBlock {HR} at (0,83) size 784x2 [border: (1px inset #000000)]
+      RenderBlock (anonymous) at (0,93) size 784x27
+        RenderTextControl {INPUT} at (2,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (195,5) size 4x17
+          text run at (195,5) width 4: " "
+        RenderInline {A} at (0,0) size 162x17 [color=#0000EE]
+          RenderText {#text} at (199,5) size 162x17
+            text run at (199,5) width 162: "drop me into the text field"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
-layer at (13,109) size 186x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 186x18
-    RenderText {#text} at (0,0) size 142x19
+layer at (13,106) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
+    RenderText {#text} at (0,0) size 142x17
       text run at (0,0) width 142: "http://www.ibm.com/"
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 7 {INPUT} of body
 selection end:   position 19 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 7 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.png
index 931fa7f..4bf8508 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.txt
index 63ee61f..67f89ca 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.txt
@@ -9,24 +9,24 @@
 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 784x184 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x174 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 544x28
-            text run at (0,28) width 544: "Cntl-y at caret selection when nothing is in the kill ring."
-        RenderBlock {DIV} at (14,86) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 544x26
+            text run at (0,26) width 544: "Cntl-y at caret selection when nothing is in the kill ring."
+        RenderBlock {DIV} at (14,82) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 291x28
-            text run at (0,28) width 291: "Deletes a character, yielding: "
-          RenderBR {BR} at (291,50) size 0x0
-          RenderText {#text} at (0,56) size 166x28
-            text run at (0,56) width 166: "one tw three four"
-      RenderBlock {DIV} at (0,208) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 178x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 291x26
+            text run at (0,26) width 291: "Deletes a character, yielding: "
+          RenderBR {BR} at (291,47) size 0x0
+          RenderText {#text} at (0,52) size 166x26
+            text run at (0,52) width 166: "one tw three four"
+      RenderBlock {DIV} at (0,198) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 178x26
             text run at (2,2) width 178: "one two three four"
 caret: position 7 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.png
index fc7af5c..69d9806 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt
index bf2c7e6..bd8c59e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt
@@ -11,22 +11,22 @@
 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 784x184 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x174 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 223x28
-            text run at (0,28) width 223: "ctrl-a, ctrl-k, and ctrl-y"
-        RenderBlock {DIV} at (14,86) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 223x26
+            text run at (0,26) width 223: "ctrl-a, ctrl-k, and ctrl-y"
+        RenderBlock {DIV} at (14,82) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderBR {BR} at (0,28) size 0x28
-          RenderText {#text} at (0,56) size 222x28
-            text run at (0,56) width 222: "one two three four five"
-      RenderBlock {DIV} at (0,208) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 222x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderBR {BR} at (0,26) size 0x26
+          RenderText {#text} at (0,52) size 222x26
+            text run at (0,52) width 222: "one two three four five"
+      RenderBlock {DIV} at (0,198) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 222x26
             text run at (2,2) width 222: "one five two three four"
 caret: position 23 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.png
index f765ac7..56586fa 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt
index 51137b9..47cec4c 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt
@@ -9,37 +9,37 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 348x28
-            text run at (0,28) width 348: "Multiple ctrl-k presses then a ctrl-y."
-        RenderBlock {DIV} at (14,86) size 756x112
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 348x26
+            text run at (0,26) width 348: "Multiple ctrl-k presses then a ctrl-y."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-          RenderBlock {DIV} at (0,28) size 756x84
-            RenderBlock (anonymous) at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 132x28
+            RenderBR {BR} at (189,21) size 0x0
+          RenderBlock {DIV} at (0,26) size 756x78
+            RenderBlock (anonymous) at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 132x26
                 text run at (0,0) width 132: "one two three"
-            RenderBlock {DIV} at (0,28) size 756x28
-              RenderText {#text} at (0,0) size 118x28
+            RenderBlock {DIV} at (0,26) size 756x26
+              RenderText {#text} at (0,0) size 118x26
                 text run at (0,0) width 118: "four five six"
-            RenderBlock {DIV} at (0,56) size 756x28
-              RenderText {#text} at (0,0) size 158x28
+            RenderBlock {DIV} at (0,52) size 756x26
+              RenderText {#text} at (0,0) size 158x26
                 text run at (0,0) width 158: "seven eight nine"
-      RenderBlock {DIV} at (0,236) size 784x88
-        RenderBlock {DIV} at (0,0) size 784x88 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 132x28
+      RenderBlock {DIV} at (0,224) size 784x82
+        RenderBlock {DIV} at (0,0) size 784x82 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 132x26
               text run at (0,0) width 132: "one two three"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 118x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 118x26
               text run at (0,0) width 118: "four five six"
-          RenderBlock {DIV} at (2,58) size 780x28
-            RenderText {#text} at (0,0) size 158x28
+          RenderBlock {DIV} at (2,54) size 780x26
+            RenderText {#text} at (0,0) size 158x26
               text run at (0,0) width 158: "seven eight nine"
 caret: position 8 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.png
new file mode 100644
index 0000000..1b2e125
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.txt
index 2855a13..5400524 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/innerText-inline-table-expected.txt
@@ -3,34 +3,34 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {DIV} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 490x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 490x17
           text run at (0,0) width 490: "Checks that the text iterator is emitting a space before and after an inline table."
-      RenderBlock {DIV} at (0,18) size 784x24
-        RenderText {#text} at (0,6) size 31x19
+      RenderBlock {DIV} at (0,17) size 784x23
+        RenderText {#text} at (0,6) size 31x17
           text run at (0,6) width 31: "hello"
-        RenderTable {TABLE} at (31,0) size 14x24
-          RenderTableSection {TBODY} at (0,0) size 14x24
-            RenderTableRow {TR} at (0,2) size 14x20
-              RenderTableCell {TD} at (2,2) size 10x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 8x19
+        RenderTable {TABLE} at (31,0) size 14x23
+          RenderTableSection {TBODY} at (0,0) size 14x23
+            RenderTableRow {TR} at (0,2) size 14x19
+              RenderTableCell {TD} at (2,2) size 10x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 8x17
                   text run at (1,1) width 8: "1"
-        RenderText {#text} at (45,6) size 37x19
+        RenderText {#text} at (45,6) size 37x17
           text run at (45,6) width 37: "world"
-      RenderBlock {DIV} at (0,42) size 784x24
-        RenderText {#text} at (0,6) size 25x19
+      RenderBlock {DIV} at (0,40) size 784x23
+        RenderText {#text} at (0,6) size 25x17
           text run at (0,6) width 25: "foo "
-        RenderTable {TABLE} at (25,0) size 14x24
-          RenderTableSection {TBODY} at (0,0) size 14x24
-            RenderTableRow {TR} at (0,2) size 14x20
-              RenderTableCell {TD} at (2,2) size 10x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 8x19
+        RenderTable {TABLE} at (25,0) size 14x23
+          RenderTableSection {TBODY} at (0,0) size 14x23
+            RenderTableRow {TR} at (0,2) size 14x19
+              RenderTableCell {TD} at (2,2) size 10x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 8x17
                   text run at (1,1) width 8: "2"
-        RenderText {#text} at (39,6) size 24x19
+        RenderText {#text} at (39,6) size 24x17
           text run at (39,6) width 24: " bar"
-      RenderBlock {UL} at (0,82) size 784x19
-        RenderListItem {LI} at (40,0) size 744x19
-          RenderBlock {PRE} at (0,0) size 744x19
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,4) size 64x15
-              text run at (0,4) width 64: "Success!"
+      RenderBlock {UL} at (0,79) size 784x18
+        RenderListItem {LI} at (40,0) size 744x18
+          RenderBlock {PRE} at (0,0) size 744x18
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,3) size 64x15
+              text run at (0,3) width 64: "Success!"
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.png
index 4b00f55..dec7478 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.txt
index c03c4dd..8eb4de5 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/input-field-1-expected.txt
@@ -14,19 +14,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 235x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 235x17
           text run at (0,0) width 235: "This tests Copy/Paste of a input field."
-      RenderBlock {DIV} at (0,34) size 784x28
-        RenderTextControl {INPUT} at (2,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderTextControl {INPUT} at (198,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-      RenderBlock {UL} at (0,78) size 784x18
-        RenderListItem {LI} at (40,0) size 744x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 43x19
+      RenderBlock {DIV} at (0,33) size 784x27
+        RenderTextControl {INPUT} at (2,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderTextControl {INPUT} at (197,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+      RenderBlock {UL} at (0,76) size 784x17
+        RenderListItem {LI} at (40,0) size 744x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 43x17
             text run at (0,0) width 43: "Passed"
-layer at (13,47) size 186x18
-  RenderBlock {DIV} at (3,3) size 186x18
-layer at (209,47) size 186x18
-  RenderBlock {DIV} at (3,3) size 186x18
+layer at (13,46) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
+layer at (208,46) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
 caret: position 1 of child 1 {INPUT} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.png
index 5efc08c..5404448 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.txt
index 38c713c..7e17b1e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-1-expected.txt
@@ -12,25 +12,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 777x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 777x51
           text run at (0,0) width 773: "When ReplaceSelectionCommand deletes the current selection, it should request that the deletion do a merge in some cases"
-          text run at (0,18) width 777: "(normally, though, it should ask that a merge not be done, because a merge will cause information about block nesting to be"
-          text run at (0,36) width 35: "lost). "
-          text run at (35,36) width 368: "It wasn't requesting a merge in cases where it should have."
-      RenderBlock {P} at (0,70) size 784x72
-        RenderText {#text} at (0,0) size 783x73
+          text run at (0,17) width 777: "(normally, though, it should ask that a merge not be done, because a merge will cause information about block nesting to be"
+          text run at (0,34) width 35: "lost). "
+          text run at (35,34) width 368: "It wasn't requesting a merge in cases where it should have."
+      RenderBlock {P} at (0,67) size 784x68
+        RenderText {#text} at (0,0) size 783x68
           text run at (0,0) width 783: "The failing case is where the incoming fragment has more than one block, and the selection being pasted into ends at the end"
-          text run at (0,18) width 99: "of a paragraph. "
-          text run at (99,18) width 683: "Any time the selection being pasted into ends at the end of a paragraph, deleting will leave leave a) a br or b)"
-          text run at (0,36) width 318: "an empty block at the end of the deleted selection. "
-          text run at (318,36) width 457: "So, not merging will leave an extraneous empty line or a collapsed block"
-          text run at (0,54) width 154: "after the paste operation."
-      RenderBlock {DIV} at (2,158) size 780x48 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (3,3) size 774x20 [border: (1px solid #FF0000)]
-          RenderText {#text} at (1,1) size 29x19
+          text run at (0,17) width 99: "of a paragraph. "
+          text run at (99,17) width 683: "Any time the selection being pasted into ends at the end of a paragraph, deleting will leave leave a) a br or b)"
+          text run at (0,34) width 318: "an empty block at the end of the deleted selection. "
+          text run at (318,34) width 457: "So, not merging will leave an extraneous empty line or a collapsed block"
+          text run at (0,51) width 154: "after the paste operation."
+      RenderBlock {DIV} at (2,151) size 780x46 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (3,3) size 774x19 [border: (1px solid #FF0000)]
+          RenderText {#text} at (1,1) size 29x17
             text run at (1,1) width 29: "bfoo"
-        RenderBlock {DIV} at (3,25) size 774x20 [border: (1px solid #000000)]
-          RenderText {#text} at (1,1) size 20x19
+        RenderBlock {DIV} at (3,24) size 774x19 [border: (1px solid #000000)]
+          RenderText {#text} at (1,1) size 20x17
             text run at (1,1) width 20: "bar"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.png
index 5efc08c..5404448 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.txt
index 0fb97f8..ef40298 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-2-expected.txt
@@ -12,26 +12,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 777x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 777x51
           text run at (0,0) width 773: "When ReplaceSelectionCommand deletes the current selection, it should request that the deletion do a merge in some cases"
-          text run at (0,18) width 777: "(normally, though, it should ask that a merge not be done, because a merge will cause information about block nesting to be"
-          text run at (0,36) width 35: "lost). "
-          text run at (35,36) width 368: "It wasn't requesting a merge in cases where it should have."
-      RenderBlock {P} at (0,70) size 784x72
-        RenderText {#text} at (0,0) size 783x73
+          text run at (0,17) width 777: "(normally, though, it should ask that a merge not be done, because a merge will cause information about block nesting to be"
+          text run at (0,34) width 35: "lost). "
+          text run at (35,34) width 368: "It wasn't requesting a merge in cases where it should have."
+      RenderBlock {P} at (0,67) size 784x68
+        RenderText {#text} at (0,0) size 783x68
           text run at (0,0) width 783: "The failing case is where the incoming fragment has more than one block, and the selection being pasted into ends at the end"
-          text run at (0,18) width 99: "of a paragraph. "
-          text run at (99,18) width 683: "Any time the selection being pasted into ends at the end of a paragraph, deleting will leave leave a) a br or b)"
-          text run at (0,36) width 318: "an empty block at the end of the deleted selection. "
-          text run at (318,36) width 457: "So, not merging will leave an extraneous empty line or a collapsed block"
-          text run at (0,54) width 154: "after the paste operation."
-      RenderBlock {DIV} at (2,158) size 780x48 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (3,3) size 774x20 [border: (1px solid #FF0000)]
-          RenderText {#text} at (1,1) size 29x19
+          text run at (0,17) width 99: "of a paragraph. "
+          text run at (99,17) width 683: "Any time the selection being pasted into ends at the end of a paragraph, deleting will leave leave a) a br or b)"
+          text run at (0,34) width 318: "an empty block at the end of the deleted selection. "
+          text run at (318,34) width 457: "So, not merging will leave an extraneous empty line or a collapsed block"
+          text run at (0,51) width 154: "after the paste operation."
+      RenderBlock {DIV} at (2,151) size 780x46 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (3,3) size 774x19 [border: (1px solid #FF0000)]
+          RenderText {#text} at (1,1) size 29x17
             text run at (1,1) width 29: "bfoo"
-        RenderBlock (anonymous) at (1,25) size 778x0
-        RenderBlock {DIV} at (3,25) size 774x20 [border: (1px solid #000000)]
-          RenderText {#text} at (1,1) size 20x19
+        RenderBlock (anonymous) at (1,24) size 778x0
+        RenderBlock {DIV} at (3,24) size 774x19 [border: (1px solid #000000)]
+          RenderText {#text} at (1,1) size 20x17
             text run at (1,1) width 20: "bar"
 caret: position 3 of child 0 {#text} of child 1 {DIV} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.png
index f709d45..e12a071 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.txt
index a130e30..32c62ce 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-after-delete-expected.txt
@@ -12,11 +12,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {DIV} at (4,0) size 776x54 [border: (1px solid #0000FF)]
-        RenderBlock {DIV} at (5,5) size 766x20 [border: (1px solid #0000FF)]
-          RenderText {#text} at (1,1) size 26x19
+      RenderBlock {DIV} at (4,0) size 776x52 [border: (1px solid #0000FF)]
+        RenderBlock {DIV} at (5,5) size 766x19 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 26x17
             text run at (1,1) width 26: "ffoo"
-        RenderBlock (anonymous) at (1,29) size 774x0
-        RenderBlock {DIV} at (5,29) size 766x20 [border: (1px solid #0000FF)]
-          RenderBR {BR} at (1,1) size 0x19
+        RenderBlock (anonymous) at (1,28) size 774x0
+        RenderBlock {DIV} at (5,28) size 766x19 [border: (1px solid #0000FF)]
+          RenderBR {BR} at (1,1) size 0x17
 caret: position 0 of child 0 {BR} of child 1 {DIV} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.png
index ec91a6a..f273492 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.txt
index e779639..15faaa9 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-blockquote-expected.txt
@@ -19,26 +19,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 606x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 606x17
           text run at (0,0) width 397: "This tests pasting a Mail blockquote at the start of a paragraph. "
           text run at (397,0) width 209: "Blockquoting should be stripped."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 122x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 122x17
           text run at (0,0) width 122: "Blockquoted Textx"
-      RenderBlock {P} at (0,68) size 784x36
-        RenderText {#text} at (0,0) size 759x37
+      RenderBlock {P} at (0,66) size 784x34
+        RenderText {#text} at (0,0) size 759x34
           text run at (0,0) width 289: "This tests pasting text into a Mail blockquote. "
           text run at (289,0) width 470: "The last bit of content in the incoming fragment should be merged with the"
-          text run at (0,18) width 287: "paragraph after the position being pasted into."
-      RenderBlock {DIV} at (0,120) size 784x52
-        RenderBlock {BLOCKQUOTE} at (40,0) size 704x18
-          RenderBlock {DIV} at (0,0) size 704x18
-            RenderText {#text} at (0,0) size 102x19
+          text run at (0,17) width 287: "paragraph after the position being pasted into."
+      RenderBlock {DIV} at (0,116) size 784x50
+        RenderBlock {BLOCKQUOTE} at (40,0) size 704x17
+          RenderBlock {DIV} at (0,0) size 704x17
+            RenderText {#text} at (0,0) size 102x17
               text run at (0,0) width 102: "Blockquotedfoo"
-        RenderBlock (anonymous) at (0,34) size 784x0
-        RenderBlock {BLOCKQUOTE} at (40,34) size 704x18
-          RenderBlock {DIV} at (0,0) size 704x18
-            RenderText {#text} at (0,0) size 49x19
+        RenderBlock (anonymous) at (0,33) size 784x0
+        RenderBlock {BLOCKQUOTE} at (40,33) size 704x17
+          RenderBlock {DIV} at (0,0) size 704x17
+            RenderText {#text} at (0,0) size 49x17
               text run at (0,0) width 49: "barText"
 caret: position 3 of child 0 {#text} of child 0 {DIV} of child 1 {BLOCKQUOTE} of child 10 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.png
index aff117b..4b1d4ed 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.txt
index bbca816..904edf7 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-end-borders-expected.txt
@@ -15,22 +15,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 761x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 761x51
           text run at (0,0) width 761: "This is a test for the merge that paste does of the last paragraph of the incoming fragment with content after the end of the"
-          text run at (0,18) width 174: "selection being pasted into. "
-          text run at (174,18) width 585: "A fragment that ends in with paragraph surrounded by a blue border is pasted into a selection"
-          text run at (0,36) width 320: "ending in a paragraph surrounded by a red border. "
-          text run at (320,36) width 172: "The red border should win."
-      RenderBlock {P} at (0,70) size 784x18
-        RenderInline {B} at (0,0) size 587x19
-          RenderText {#text} at (0,0) size 587x19
+          text run at (0,17) width 174: "selection being pasted into. "
+          text run at (174,17) width 585: "A fragment that ends in with paragraph surrounded by a blue border is pasted into a selection"
+          text run at (0,34) width 320: "ending in a paragraph surrounded by a red border. "
+          text run at (320,34) width 172: "The red border should win."
+      RenderBlock {P} at (0,67) size 784x17
+        RenderInline {B} at (0,0) size 587x17
+          RenderText {#text} at (0,0) size 587x17
             text run at (0,0) width 587: "The second paragraph should be surrounded by a red border before and after the test."
-      RenderBlock {DIV} at (0,104) size 784x38
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 95x19
+      RenderBlock {DIV} at (0,100) size 784x36
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 95x17
             text run at (0,0) width 95: "First paragraph"
-        RenderBlock {DIV} at (0,18) size 784x20 [border: (1px solid #FF0000)]
-          RenderText {#text} at (1,1) size 299x19
+        RenderBlock {DIV} at (0,17) size 784x19 [border: (1px solid #FF0000)]
+          RenderText {#text} at (1,1) size 299x17
             text run at (1,1) width 299: "This text should be surrounded by a red border."
 caret: position 4 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.png
index 0d3c682..7015987 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.txt
index 7220c9f..dfe0e10 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-blockquote-expected.txt
@@ -9,16 +9,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "This test makes sure that content inside a Mail blockquote in an incoming fragment isn't pulled out of the blockquote during"
-          text run at (0,18) width 36: "paste."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderInline {B} at (0,0) size 566x19
-          RenderText {#text} at (0,0) size 566x19
+          text run at (0,17) width 36: "paste."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderInline {B} at (0,0) size 566x17
+          RenderText {#text} at (0,0) size 566x17
             text run at (0,0) width 566: "You should see 'bar' inside a blockquote (it will have a blue border around it if it is)."
-      RenderBlock {DIV} at (0,86) size 784x20
-        RenderBlock {BLOCKQUOTE} at (40,0) size 704x20 [border: (1px solid #0000FF)]
-          RenderText {#text} at (1,1) size 20x19
+      RenderBlock {DIV} at (0,83) size 784x19
+        RenderBlock {BLOCKQUOTE} at (40,0) size 704x19 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 20x17
             text run at (1,1) width 20: "bar"
 caret: position 3 of child 0 {#text} of child 0 {BLOCKQUOTE} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.png
index 75f3658..9279b54 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.txt
index ec4e58c..ccbcebf 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/merge-start-list-expected.txt
@@ -9,17 +9,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 679x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 679x17
           text run at (0,0) width 679: "This test makes sure that content inside a list in an incoming fragment isn't pulled out of the list during paste."
-      RenderBlock {P} at (0,34) size 784x18
-        RenderInline {B} at (0,0) size 253x19
-          RenderText {#text} at (0,0) size 253x19
+      RenderBlock {P} at (0,33) size 784x17
+        RenderInline {B} at (0,0) size 253x17
+          RenderText {#text} at (0,0) size 253x17
             text run at (0,0) width 253: "You should see 'bar' inside a list item."
-      RenderBlock {DIV} at (0,68) size 784x18
-        RenderBlock {UL} at (0,0) size 784x18
-          RenderListItem {LI} at (40,0) size 744x18
-            RenderListMarker at (-18,0) size 7x19: bullet
-            RenderText {#text} at (0,0) size 20x19
+      RenderBlock {DIV} at (0,66) size 784x17
+        RenderBlock {UL} at (0,0) size 784x17
+          RenderListItem {LI} at (40,0) size 744x17
+            RenderListMarker at (-17,0) size 7x17: bullet
+            RenderText {#text} at (0,0) size 20x17
               text run at (0,0) width 20: "bar"
 caret: position 3 of child 0 {#text} of child 0 {LI} of child 0 {UL} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.png
index 63c8d98..8c69a05 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.txt
index 09e236a..c2aa192 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-4038267-fix-expected.txt
@@ -14,39 +14,39 @@
 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 784x268 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x252 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 113x28
-            text run at (0,28) width 113: "Bug fix for "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (113,28) size 260x28
-              text run at (113,28) width 260: "<rdar://problem/4038267>"
-          RenderText {#text} at (373,28) size 747x56
-            text run at (373,28) width 374: " REGRESSION (Mail): Crash copying"
-            text run at (0,56) width 287: "and pasting end of paragraph."
-        RenderBlock {DIV} at (14,114) size 756x140
-          RenderBlock (anonymous) at (0,0) size 756x84
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 113x26
+            text run at (0,26) width 113: "Bug fix for "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (113,26) size 260x26
+              text run at (113,26) width 260: "<rdar://problem/4038267>"
+          RenderText {#text} at (373,26) size 747x52
+            text run at (373,26) width 374: " REGRESSION (Mail): Crash copying"
+            text run at (0,52) width 287: "and pasting end of paragraph."
+        RenderBlock {DIV} at (14,108) size 756x130
+          RenderBlock (anonymous) at (0,0) size 756x78
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 732x56
-              text run at (0,28) width 732: "Should see this content in the red box below (insertion point must be on the"
-              text run at (0,56) width 308: "second line, right before \"bar\"):"
-          RenderBlock {DIV} at (0,84) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 732x52
+              text run at (0,26) width 732: "Should see this content in the red box below (insertion point must be on the"
+              text run at (0,52) width 308: "second line, right before \"bar\"):"
+          RenderBlock {DIV} at (0,78) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (0,112) size 756x28
-            RenderText {#text} at (0,0) size 31x28
+          RenderBlock {DIV} at (0,104) size 756x26
+            RenderText {#text} at (0,0) size 31x26
               text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,292) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,276) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 31x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 31x26
               text run at (0,0) width 31: "bar"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
new file mode 100644
index 0000000..8746601
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt
index 1f19e21..2686732 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 354x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 354x17
           text run at (0,0) width 354: "This tests pasting a blockquote after another blockquote."
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock {BLOCKQUOTE} at (0,0) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (22,0) size 41x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock {BLOCKQUOTE} at (0,0) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (22,0) size 41x17
             text run at (22,0) width 41: "Line 1"
-        RenderBlock {BLOCKQUOTE} at (0,18) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (22,0) size 41x19
+        RenderBlock {BLOCKQUOTE} at (0,17) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (22,0) size 41x17
             text run at (22,0) width 41: "Line 2"
-        RenderBlock (anonymous) at (0,36) size 784x0
+        RenderBlock (anonymous) at (0,34) size 784x0
 caret: position 6 of child 0 {#text} of child 1 {BLOCKQUOTE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
new file mode 100644
index 0000000..4320726
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt
index ff48e98..eedb9c2 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 548x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 548x17
           text run at (0,0) width 548: "This test passes if nothing is double-quoted, and \"Two\" and \"Four\" aren't quoted at all."
-      RenderBlock {DIV} at (0,34) size 784x90
-        RenderBlock {BLOCKQUOTE} at (0,0) size 784x36 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (22,0) size 33x19
+      RenderBlock {DIV} at (0,33) size 784x85
+        RenderBlock {BLOCKQUOTE} at (0,0) size 784x34 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (22,0) size 33x17
             text run at (22,0) width 33: "Paste"
-          RenderBR {BR} at (55,15) size 0x0
-          RenderText {#text} at (22,18) size 58x19
-            text run at (22,18) width 58: "HereOne"
-        RenderBlock (anonymous) at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 30x19
+          RenderBR {BR} at (55,14) size 0x0
+          RenderText {#text} at (22,17) size 58x17
+            text run at (22,17) width 58: "HereOne"
+        RenderBlock (anonymous) at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 30x17
             text run at (0,0) width 30: "Two"
-        RenderBlock {BLOCKQUOTE} at (0,54) size 784x18 [color=#0000FF] [border: none (2px solid #0000FF)]
-          RenderText {#text} at (22,0) size 37x19
+        RenderBlock {BLOCKQUOTE} at (0,51) size 784x17 [color=#0000FF] [border: none (2px solid #0000FF)]
+          RenderText {#text} at (22,0) size 37x17
             text run at (22,0) width 37: "Three"
-        RenderBlock (anonymous) at (0,72) size 784x18
-          RenderText {#text} at (0,0) size 30x19
+        RenderBlock (anonymous) at (0,68) size 784x17
+          RenderText {#text} at (0,0) size 30x17
             text run at (0,0) width 30: "Four"
 caret: position 4 of child 3 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.png
index 9132e58..7138f39 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.txt
index 8f4ead9..c9e18af 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-001-expected.txt
@@ -19,31 +19,31 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045511>"
-          RenderText {#text} at (422,28) size 705x56
-            text run at (422,28) width 283: " Copying and pasting end-of-"
-            text run at (0,56) width 533: "paragraph selection puts insertion point in wrong place"
-        RenderBlock {DIV} at (14,114) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045511>"
+          RenderText {#text} at (422,26) size 705x52
+            text run at (422,26) width 283: " Copying and pasting end-of-"
+            text run at (0,52) width 533: "paragraph selection puts insertion point in wrong place"
+        RenderBlock {DIV} at (14,108) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 715x56
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
-      RenderBlock {DIV} at (0,236) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 715x52
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
+      RenderBlock {DIV} at (0,224) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 78x26
             text run at (2,2) width 78: "line one"
-          RenderBR {BR} at (80,24) size 0x0
-          RenderText {#text} at (2,30) size 79x28
-            text run at (2,30) width 79: "line two"
+          RenderBR {BR} at (80,23) size 0x0
+          RenderText {#text} at (2,28) size 79x26
+            text run at (2,28) width 79: "line two"
 caret: position 0 of child 2 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.png
index 9132e58..7138f39 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.txt
index 4be8b95..7b8d765 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-002-expected.txt
@@ -19,32 +19,32 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045511>"
-          RenderText {#text} at (422,28) size 705x56
-            text run at (422,28) width 283: " Copying and pasting end-of-"
-            text run at (0,56) width 533: "paragraph selection puts insertion point in wrong place"
-        RenderBlock {DIV} at (14,114) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045511>"
+          RenderText {#text} at (422,26) size 705x52
+            text run at (422,26) width 283: " Copying and pasting end-of-"
+            text run at (0,52) width 533: "paragraph selection puts insertion point in wrong place"
+        RenderBlock {DIV} at (14,108) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 715x56
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
-      RenderBlock {DIV} at (0,236) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 715x52
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
+      RenderBlock {DIV} at (0,224) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 78x26
               text run at (0,0) width 78: "line one"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 79x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 79x26
               text run at (0,0) width 79: "line two"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.png
index 9132e58..7138f39 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.txt
index f128e63..3aa174e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-003-expected.txt
@@ -19,32 +19,32 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045511>"
-          RenderText {#text} at (422,28) size 705x56
-            text run at (422,28) width 283: " Copying and pasting end-of-"
-            text run at (0,56) width 533: "paragraph selection puts insertion point in wrong place"
-        RenderBlock {DIV} at (14,114) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045511>"
+          RenderText {#text} at (422,26) size 705x52
+            text run at (422,26) width 283: " Copying and pasting end-of-"
+            text run at (0,52) width 533: "paragraph selection puts insertion point in wrong place"
+        RenderBlock {DIV} at (14,108) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 715x56
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
-      RenderBlock {DIV} at (0,236) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 715x52
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
+      RenderBlock {DIV} at (0,224) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 78x26
               text run at (0,0) width 78: "line one"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 79x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 79x26
               text run at (0,0) width 79: "line two"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.png
index 9132e58..7138f39 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.txt
index c11502b..474b514 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-004-expected.txt
@@ -19,33 +19,33 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045511>"
-          RenderText {#text} at (422,28) size 705x56
-            text run at (422,28) width 283: " Copying and pasting end-of-"
-            text run at (0,56) width 533: "paragraph selection puts insertion point in wrong place"
-        RenderBlock {DIV} at (14,114) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045511>"
+          RenderText {#text} at (422,26) size 705x52
+            text run at (422,26) width 283: " Copying and pasting end-of-"
+            text run at (0,52) width 533: "paragraph selection puts insertion point in wrong place"
+        RenderBlock {DIV} at (14,108) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 715x56
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
-      RenderBlock {DIV} at (0,236) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x56
-            RenderBlock (anonymous) at (0,0) size 780x28
-              RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 715x52
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
+      RenderBlock {DIV} at (0,224) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x52
+            RenderBlock (anonymous) at (0,0) size 780x26
+              RenderText {#text} at (0,0) size 78x26
                 text run at (0,0) width 78: "line one"
-            RenderBlock {DIV} at (0,28) size 780x28
-              RenderText {#text} at (0,0) size 79x28
+            RenderBlock {DIV} at (0,26) size 780x26
+              RenderText {#text} at (0,0) size 79x26
                 text run at (0,0) width 79: "line two"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.png
index 9132e58..7138f39 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.txt
index 54167da..a3a7f8b 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-005-expected.txt
@@ -19,33 +19,33 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045511>"
-          RenderText {#text} at (422,28) size 705x56
-            text run at (422,28) width 283: " Copying and pasting end-of-"
-            text run at (0,56) width 533: "paragraph selection puts insertion point in wrong place"
-        RenderBlock {DIV} at (14,114) size 756x84
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045511>"
+          RenderText {#text} at (422,26) size 705x52
+            text run at (422,26) width 283: " Copying and pasting end-of-"
+            text run at (0,52) width 533: "paragraph selection puts insertion point in wrong place"
+        RenderBlock {DIV} at (14,108) size 756x78
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 715x56
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
-      RenderBlock {DIV} at (0,236) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x56
-            RenderBlock {DIV} at (0,0) size 780x28
-              RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 715x52
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 715: "one\" and \"line two\". The insertion point must be at the start of \"line two\"."
+      RenderBlock {DIV} at (0,224) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x52
+            RenderBlock {DIV} at (0,0) size 780x26
+              RenderText {#text} at (0,0) size 78x26
                 text run at (0,0) width 78: "line one"
-            RenderBlock (anonymous) at (0,28) size 780x28
-              RenderText {#text} at (0,0) size 79x28
+            RenderBlock (anonymous) at (0,26) size 780x26
+              RenderText {#text} at (0,0) size 79x26
                 text run at (0,0) width 79: "line two"
 caret: position 0 of child 1 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.png
index d836d55..0a17f8f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.txt
index a6f46f3..48acd76 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-006-expected.txt
@@ -21,34 +21,34 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045513>"
-          RenderText {#text} at (422,28) size 721x56
-            text run at (422,28) width 299: " Copying and pasting selection"
-            text run at (0,56) width 601: "starting at end of paragraph can incorrectly remove line break"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045513>"
+          RenderText {#text} at (422,26) size 721x52
+            text run at (422,26) width 299: " Copying and pasting selection"
+            text run at (0,52) width 601: "starting at end of paragraph can incorrectly remove line break"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
-            text run at (0,84) width 131: "of \"line two\"."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
+            text run at (0,78) width 131: "of \"line two\"."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 78x26
             text run at (2,2) width 78: "line one"
-          RenderBR {BR} at (80,24) size 0x0
-          RenderText {#text} at (2,30) size 7x28
-            text run at (2,30) width 7: "l"
-          RenderText {#text} at (9,30) size 72x28
-            text run at (9,30) width 72: "ine two"
+          RenderBR {BR} at (80,23) size 0x0
+          RenderText {#text} at (2,28) size 7x26
+            text run at (2,28) width 7: "l"
+          RenderText {#text} at (9,28) size 72x26
+            text run at (9,28) width 72: "ine two"
 caret: position 1 of child 2 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.png
index d836d55..0a17f8f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.txt
index afca1b1..90c54e0 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-007-expected.txt
@@ -21,34 +21,34 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045513>"
-          RenderText {#text} at (422,28) size 721x56
-            text run at (422,28) width 299: " Copying and pasting selection"
-            text run at (0,56) width 601: "starting at end of paragraph can incorrectly remove line break"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045513>"
+          RenderText {#text} at (422,26) size 721x52
+            text run at (422,26) width 299: " Copying and pasting selection"
+            text run at (0,52) width 601: "starting at end of paragraph can incorrectly remove line break"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
-            text run at (0,84) width 131: "of \"line two\"."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
+            text run at (0,78) width 131: "of \"line two\"."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 78x26
               text run at (0,0) width 78: "line one"
-            RenderBR {BR} at (78,22) size 0x0
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 79x28
+            RenderBR {BR} at (78,21) size 0x0
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 79x26
               text run at (0,0) width 79: "line two"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.png
index d836d55..0a17f8f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt
index 9e0bafc..48349bb 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt
@@ -21,34 +21,34 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045513>"
-          RenderText {#text} at (422,28) size 721x56
-            text run at (422,28) width 299: " Copying and pasting selection"
-            text run at (0,56) width 601: "starting at end of paragraph can incorrectly remove line break"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045513>"
+          RenderText {#text} at (422,26) size 721x52
+            text run at (422,26) width 299: " Copying and pasting selection"
+            text run at (0,52) width 601: "starting at end of paragraph can incorrectly remove line break"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
-            text run at (0,84) width 131: "of \"line two\"."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
+            text run at (0,78) width 131: "of \"line two\"."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 78x26
               text run at (0,0) width 78: "line one"
-          RenderBlock (anonymous) at (2,30) size 780x0
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderText {#text} at (0,0) size 79x28
+          RenderBlock (anonymous) at (2,28) size 780x0
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderText {#text} at (0,0) size 79x26
               text run at (0,0) width 79: "line two"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.png
index d836d55..0a17f8f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt
index 42e3c7b..a9b567e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt
@@ -21,35 +21,35 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045513>"
-          RenderText {#text} at (422,28) size 721x56
-            text run at (422,28) width 299: " Copying and pasting selection"
-            text run at (0,56) width 601: "starting at end of paragraph can incorrectly remove line break"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045513>"
+          RenderText {#text} at (422,26) size 721x52
+            text run at (422,26) width 299: " Copying and pasting selection"
+            text run at (0,52) width 601: "starting at end of paragraph can incorrectly remove line break"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
-            text run at (0,84) width 131: "of \"line two\"."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x56
-            RenderBlock (anonymous) at (0,0) size 780x28
-              RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
+            text run at (0,78) width 131: "of \"line two\"."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x52
+            RenderBlock (anonymous) at (0,0) size 780x26
+              RenderText {#text} at (0,0) size 78x26
                 text run at (0,0) width 78: "line one"
-              RenderBR {BR} at (78,22) size 0x0
-            RenderBlock {DIV} at (0,28) size 780x28
-              RenderText {#text} at (0,0) size 79x28
+              RenderBR {BR} at (78,21) size 0x0
+            RenderBlock {DIV} at (0,26) size 780x26
+              RenderText {#text} at (0,0) size 79x26
                 text run at (0,0) width 79: "line two"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.png
index d836d55..0a17f8f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt
index b544c1e..db2f607 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt
@@ -21,34 +21,34 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/4045513>"
-          RenderText {#text} at (422,28) size 721x56
-            text run at (422,28) width 299: " Copying and pasting selection"
-            text run at (0,56) width 601: "starting at end of paragraph can incorrectly remove line break"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/4045513>"
+          RenderText {#text} at (422,26) size 721x52
+            text run at (422,26) width 299: " Copying and pasting selection"
+            text run at (0,52) width 601: "starting at end of paragraph can incorrectly remove line break"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 747x84
-            text run at (0,28) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
-            text run at (0,56) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
-            text run at (0,84) width 131: "of \"line two\"."
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x56
-            RenderBlock {DIV} at (0,0) size 780x28
-              RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 747x78
+            text run at (0,26) width 708: "Should see two lines of text below, self-documenting themselves as \"line"
+            text run at (0,52) width 747: "one\" and \"line two\". The insertion point must be after the first character (\"l\")"
+            text run at (0,78) width 131: "of \"line two\"."
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x52
+            RenderBlock {DIV} at (0,0) size 780x26
+              RenderText {#text} at (0,0) size 78x26
                 text run at (0,0) width 78: "line one"
-            RenderBlock (anonymous) at (0,28) size 780x28
-              RenderText {#text} at (0,0) size 79x28
+            RenderBlock (anonymous) at (0,26) size 780x26
+              RenderText {#text} at (0,0) size 79x26
                 text run at (0,0) width 79: "line two"
 caret: position 1 of child 1 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.png
index 7051838..6acc14a 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt
index 7046b56..b9a2326 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt
@@ -19,30 +19,30 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 267x28
-            text run at (0,28) width 267: "Pasting and matching style."
-        RenderBlock {DIV} at (14,86) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 267x26
+            text run at (0,26) width 267: "Pasting and matching style."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 749x56
-            text run at (0,28) width 749: "The pasted letter should match the style of the preexisting bold letter. Should"
-            text run at (0,56) width 368: "see this content in the red box below: "
-          RenderBR {BR} at (368,78) size 0x0
-          RenderInline {B} at (0,0) size 25x28
-            RenderText {#text} at (0,84) size 25x28
-              text run at (0,84) width 25: "ab"
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 749x52
+            text run at (0,26) width 749: "The pasted letter should match the style of the preexisting bold letter. Should"
+            text run at (0,52) width 368: "see this content in the red box below: "
+          RenderBR {BR} at (368,73) size 0x0
+          RenderInline {B} at (0,0) size 25x26
+            RenderText {#text} at (0,78) size 25x26
+              text run at (0,78) width 25: "ab"
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,236) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderInline {B} at (0,0) size 25x28
-            RenderText {#text} at (2,2) size 25x28
+      RenderBlock {DIV} at (0,224) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {B} at (0,0) size 25x26
+            RenderText {#text} at (2,2) size 25x26
               text run at (2,2) width 25: "ab"
-        RenderBlock (anonymous) at (0,32) size 784x0
+        RenderBlock (anonymous) at (0,30) size 784x0
           RenderText {#text} at (0,0) size 0x0
 caret: position 2 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.png
index 6630286..94c73c7 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.txt
index 6937ce9..15a5e34 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-match-style-002-expected.txt
@@ -16,34 +16,34 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 735x56
-            text run at (0,28) width 735: "Pasting and matching style when there is nothing typed, but the typing style"
-            text run at (0,56) width 459: "is set to bold. This test was created after fixing "
-          RenderInline {A} at (0,0) size 84x28 [color=#0000EE]
-            RenderText {#text} at (459,56) size 84x28
-              text run at (459,56) width 84: "3976872"
-          RenderText {#text} at (543,56) size 6x28
-            text run at (543,56) width 6: "."
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 735x52
+            text run at (0,26) width 735: "Pasting and matching style when there is nothing typed, but the typing style"
+            text run at (0,52) width 459: "is set to bold. This test was created after fixing "
+          RenderInline {A} at (0,0) size 84x26 [color=#0000EE]
+            RenderText {#text} at (459,52) size 84x26
+              text run at (459,52) width 84: "3976872"
+          RenderText {#text} at (543,52) size 6x26
+            text run at (543,52) width 6: "."
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 697x56
-            text run at (0,28) width 691: "The pasted word should match the current typing style. In this case, the"
-            text run at (0,56) width 697: "typing style is set to bold. Should see this content in the red box below: "
-          RenderBR {BR} at (697,78) size 0x0
-          RenderInline {B} at (0,0) size 50x28
-            RenderText {#text} at (0,84) size 50x28
-              text run at (0,84) width 50: "hello"
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 697x52
+            text run at (0,26) width 691: "The pasted word should match the current typing style. In this case, the"
+            text run at (0,52) width 697: "typing style is set to bold. Should see this content in the red box below: "
+          RenderBR {BR} at (697,73) size 0x0
+          RenderInline {B} at (0,0) size 50x26
+            RenderText {#text} at (0,78) size 50x26
+              text run at (0,78) width 50: "hello"
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,264) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderInline {B} at (0,0) size 50x28
-            RenderText {#text} at (2,2) size 50x28
+      RenderBlock {DIV} at (0,250) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {B} at (0,0) size 50x26
+            RenderText {#text} at (2,2) size 50x26
               text run at (2,2) width 50: "hello"
 caret: position 5 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.png
new file mode 100644
index 0000000..5a84a56
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.txt
index b881cba..dfaf639 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-004-expected.txt
@@ -50,16 +50,16 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 348x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 348x26
           text run at (14,14) width 348: "There is a tide in the affairs of men,"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 434x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 434x26
           text run at (14,14) width 434: "Which taken at the flood leads on to fortune."
-      RenderBlock {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 351x28
+      RenderBlock {DIV} at (0,108) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 351x26
           text run at (14,14) width 351: "Omitted, all the voyage of their life,"
-      RenderBlock {DIV} at (0,168) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 357x28
+      RenderBlock {DIV} at (0,162) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 357x26
           text run at (14,14) width 357: "Is bound in shallows and in miseries."
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.png
new file mode 100644
index 0000000..8c51bee
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.txt
index 1f87796..195e2ec 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.txt
@@ -113,18 +113,18 @@
 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)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 351x28
+      RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 351x26
             text run at (0,0) width 351: "Omitted, all the voyage of their life,"
-        RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 357x28
+        RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 357x26
             text run at (14,14) width 357: "Is bound in shallows and in miseries."
-        RenderBlock (anonymous) at (14,98) size 756x28
-          RenderText {#text} at (0,0) size 440x28
+        RenderBlock (anonymous) at (14,94) size 756x26
+          RenderText {#text} at (0,0) size 440x26
             text run at (0,0) width 440: "Upon such a full seashallows and in miseries."
-      RenderBlock (anonymous) at (0,140) size 784x0
-      RenderBlock {DIV} at (0,140) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 382x28
+      RenderBlock (anonymous) at (0,134) size 784x0
+      RenderBlock {DIV} at (0,134) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 382x26
           text run at (14,14) width 382: "Upon such a full sea are we now afloat,"
 caret: position 20 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.png
new file mode 100644
index 0000000..2e968ce
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.txt
index 499adee..6890ca1 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-009-expected.txt
@@ -94,18 +94,18 @@
 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)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 351x28
+      RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 351x26
             text run at (0,0) width 351: "Omitted, all the voyage of their life,"
-        RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 357x28
+        RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 357x26
             text run at (14,14) width 357: "Is bound in shallows and in miseries."
-        RenderBlock (anonymous) at (14,98) size 756x28
-          RenderText {#text} at (0,0) size 17x28
+        RenderBlock (anonymous) at (14,94) size 756x26
+          RenderText {#text} at (0,0) size 17x26
             text run at (0,0) width 17: "U"
-      RenderBlock (anonymous) at (0,140) size 784x0
-      RenderBlock {DIV} at (0,140) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 382x28
+      RenderBlock (anonymous) at (0,134) size 784x0
+      RenderBlock {DIV} at (0,134) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 382x26
           text run at (14,14) width 382: "Upon such a full sea are we now afloat,"
 caret: position 1 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.png
new file mode 100644
index 0000000..0d6bcba
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.txt
index d3b383b..25c45c9 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-013-expected.txt
@@ -18,31 +18,31 @@
 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 784x54
-        RenderText {#text} at (0,0) size 85x19
+      RenderBlock (anonymous) at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 85x17
           text run at (0,0) width 85: "See this bug: "
-        RenderInline {A} at (0,0) size 167x19 [color=#0000EE]
-          RenderText {#text} at (85,0) size 167x19
+        RenderInline {A} at (0,0) size 167x17 [color=#0000EE]
+          RenderText {#text} at (85,0) size 167x17
             text run at (85,0) width 167: "<rdar://problem/3918712>"
-        RenderText {#text} at (252,0) size 781x55
+        RenderText {#text} at (252,0) size 781x51
           text run at (252,0) width 484: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost)."
           text run at (736,0) width 4: " "
-          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"
-          text run at (777,18) width 4: " "
-          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)]
-        RenderBlock {DIV} at (14,38) size 756x28
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (0,17) 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"
+          text run at (777,17) width 4: " "
+          text run at (0,34) width 79: "blockquote)."
+      RenderBlock {DIV} at (0,51) size 784x24
+      RenderBlock {DIV} at (0,75) size 784x102 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,38) size 756x26
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-      RenderBlock {DIV} at (0,182) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 12x28
+      RenderBlock {DIV} at (0,177) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 12x26
           text run at (14,14) width 12: "x"
-      RenderBlock {DIV} at (0,238) size 784x132 [border: (2px solid #FF0000)]
-        RenderBlock {BLOCKQUOTE} at (54,38) size 676x28
-          RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,231) size 784x128 [border: (2px solid #FF0000)]
+        RenderBlock {BLOCKQUOTE} at (54,38) size 676x26
+          RenderText {#text} at (0,0) size 32x26
             text run at (0,0) width 32: "foo"
-        RenderBlock {DIV} at (14,90) size 756x28
-          RenderBR {BR} at (0,0) size 0x28
+        RenderBlock {DIV} at (14,88) size 756x26
+          RenderBR {BR} at (0,0) size 0x26
 caret: position 0 of child 0 {BR} of child 1 {DIV} of child 8 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.png
index ef5a2f5..d47d90e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.txt
index 1d80cb8..0cf0619 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-014-expected.txt
@@ -18,27 +18,27 @@
 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 784x36
-        RenderText {#text} at (0,0) size 85x19
+      RenderBlock (anonymous) at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 85x17
           text run at (0,0) width 85: "See this bug: "
-        RenderInline {A} at (0,0) size 167x19 [color=#0000EE]
-          RenderText {#text} at (85,0) size 167x19
+        RenderInline {A} at (0,0) size 167x17 [color=#0000EE]
+          RenderText {#text} at (85,0) size 167x17
             text run at (85,0) width 167: "<rdar://problem/3918712>"
-        RenderText {#text} at (252,0) size 740x37
+        RenderText {#text} at (252,0) size 740x34
           text run at (252,0) width 484: " \"Paste as Quotation\" in Mail just pastes (<blockquote> tag seems to be lost)."
           text run at (736,0) width 4: " "
-          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)]
-        RenderBlock {DIV} at (14,38) size 756x28
-          RenderBlock {BLOCKQUOTE} at (40,0) size 676x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (0,17) width 585: "Should see two boxes with blockquoted \"foo\" text, followed by a box with an unquoted \"x\"."
+      RenderBlock {DIV} at (0,34) size 784x24
+      RenderBlock {DIV} at (0,58) size 784x102 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,38) size 756x26
+          RenderBlock {BLOCKQUOTE} at (40,0) size 676x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-      RenderBlock {DIV} at (0,164) size 784x104 [border: (2px solid #FF0000)]
-        RenderBlock {BLOCKQUOTE} at (54,38) size 676x28
-          RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,160) size 784x102 [border: (2px solid #FF0000)]
+        RenderBlock {BLOCKQUOTE} at (54,38) size 676x26
+          RenderText {#text} at (0,0) size 32x26
             text run at (0,0) width 32: "foo"
-      RenderBlock {DIV} at (0,268) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 12x28
+      RenderBlock {DIV} at (0,262) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 12x26
           text run at (14,14) width 12: "x"
 caret: position 0 of child 0 {#text} of child 8 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.png
index a42b853..b06d912 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.txt
index a85a909..d094e7a 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-016-expected.txt
@@ -26,40 +26,40 @@
 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 784x36
-        RenderText {#text} at (0,0) size 96x19
+      RenderBlock (anonymous) at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 96x17
           text run at (0,0) width 96: "Fixes this bug: "
-        RenderInline {A} at (0,0) size 167x19 [color=#0000EE]
-          RenderText {#text} at (96,0) size 167x19
+        RenderInline {A} at (0,0) size 167x17 [color=#0000EE]
+          RenderText {#text} at (96,0) size 167x17
             text run at (96,0) width 167: "<rdar://problem/3927554>"
-        RenderText {#text} at (263,0) size 385x19
+        RenderText {#text} at (263,0) size 385x17
           text run at (263,0) width 385: " REGRESSION (Mail): Paste inserts content in wrong place "
         RenderBR {BR} at (0,0) size 0x0
-        RenderText {#text} at (0,18) size 378x19
-          text run at (0,18) width 378: "***TEST*** line should be second, following the first line."
-      RenderBlock {DIV} at (0,36) size 784x12
-      RenderBlock {DIV} at (0,48) size 784x224
-        RenderBlock {DIV} at (0,0) size 784x224 [border: (2px solid #FF0000)]
-          RenderBlock {P} at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 319x28
+        RenderText {#text} at (0,17) size 378x17
+          text run at (0,17) width 378: "***TEST*** line should be second, following the first line."
+      RenderBlock {DIV} at (0,34) size 784x12
+      RenderBlock {DIV} at (0,46) size 784x210
+        RenderBlock {DIV} at (0,0) size 784x210 [border: (2px solid #FF0000)]
+          RenderBlock {P} at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 319x26
               text run at (0,0) width 319: "Should be first line of document."
-            RenderBR {BR} at (319,22) size 0x0
-          RenderBlock {P} at (14,42) size 756x28
-            RenderText {#text} at (0,0) size 130x28
+            RenderBR {BR} at (319,21) size 0x0
+          RenderBlock {P} at (14,40) size 756x26
+            RenderText {#text} at (0,0) size 130x26
               text run at (0,0) width 130: "***TEST***"
-          RenderBlock {DIV} at (14,70) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
-          RenderBlock {P} at (14,98) size 756x28
-            RenderText {#text} at (0,0) size 128x28
+          RenderBlock {DIV} at (14,66) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
+          RenderBlock {P} at (14,92) size 756x26
+            RenderText {#text} at (0,0) size 128x26
               text run at (0,0) width 128: "Another line."
-          RenderBlock {P} at (14,126) size 756x0
-          RenderBlock (anonymous) at (14,126) size 756x28
-            RenderText {#text} at (0,0) size 6x28
+          RenderBlock {P} at (14,118) size 756x0
+          RenderBlock (anonymous) at (14,118) size 756x26
+            RenderText {#text} at (0,0) size 6x26
               text run at (0,0) width 6: " "
-          RenderBlock {P} at (14,154) size 756x0
-          RenderBlock (anonymous) at (14,154) size 756x28
-            RenderText {#text} at (0,0) size 6x28
+          RenderBlock {P} at (14,144) size 756x0
+          RenderBlock (anonymous) at (14,144) size 756x26
+            RenderText {#text} at (0,0) size 6x26
               text run at (0,0) width 6: " "
-          RenderBlock {P} at (14,182) size 756x28
-            RenderBR {BR} at (0,0) size 0x28
+          RenderBlock {P} at (14,170) size 756x26
+            RenderBR {BR} at (0,0) size 0x26
 caret: position 0 of child 0 {BR} of child 2 {DIV} of child 1 {DIV} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.png
index 6e8d4df..cade9e3 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.txt
index 9b72d49..2115028 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-019-expected.txt
@@ -22,37 +22,37 @@
 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 784x287 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x275 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 557x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 557x28
-              text run at (162,28) width 557: "<http://bugzilla.opendarwin.org/show_bug.cgi?id=3429>"
-          RenderText {#text} at (0,56) size 729x28
-            text run at (0,56) width 729: "Text transformed with text-transform does not copy with transform applied"
-        RenderBlock {DIV} at (14,114) size 756x159
-          RenderBlock (anonymous) at (0,0) size 756x56
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 557x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 557x26
+              text run at (162,26) width 557: "<http://bugzilla.opendarwin.org/show_bug.cgi?id=3429>"
+          RenderText {#text} at (0,52) size 729x26
+            text run at (0,52) width 729: "Text transformed with text-transform does not copy with transform applied"
+        RenderBlock {DIV} at (14,108) size 756x153
+          RenderBlock (anonymous) at (0,0) size 756x52
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 202x28
-              text run at (0,28) width 202: "Should see the string"
-          RenderBlock {PRE} at (0,80) size 756x27
-            RenderText {#text} at (0,0) size 210x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 202x26
+              text run at (0,26) width 202: "Should see the string"
+          RenderBlock {PRE} at (0,76) size 756x27
+            RenderText {#text} at (0,0) size 210x27
               text run at (0,0) width 210: "Foo Bar baz Bar"
-          RenderBlock (anonymous) at (0,131) size 756x28
-            RenderText {#text} at (0,0) size 155x28
+          RenderBlock (anonymous) at (0,127) size 756x26
+            RenderText {#text} at (0,0) size 155x26
               text run at (0,0) width 155: "(case sensitive)."
-      RenderBlock {DIV} at (0,311) size 784x32 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 153x28
-          RenderInline {SPAN} at (0,0) size 78x28
-            RenderText {#text} at (2,2) size 78x28
+      RenderBlock {DIV} at (0,299) size 784x30 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 153x26
+          RenderInline {SPAN} at (0,0) size 78x26
+            RenderText {#text} at (2,2) size 78x26
               text run at (2,2) width 78: "Foo Bar"
-          RenderText {#text} at (80,2) size 75x28
+          RenderText {#text} at (80,2) size 75x26
             text run at (80,2) width 75: " bazBar"
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 1 {#text} of child 1 {SPAN} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.png
index 709fde5..03c141e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.txt
index c4e5efd..525b0ff 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/paste-text-at-tabspan-003-expected.txt
@@ -18,16 +18,16 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 178x28
-          RenderText {#text} at (14,14) size 11x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 178x26
+          RenderText {#text} at (14,14) size 11x26
             text run at (14,14) width 11: "a"
-          RenderInline {SPAN} at (0,0) size 133x28
-            RenderText {#text} at (25,14) size 133x28
+          RenderInline {SPAN} at (0,0) size 133x26
+            RenderText {#text} at (25,14) size 133x26
               text run at (25,14) width 133: "\x{9}\x{9}\x{9}"
-          RenderText {#text} at (158,14) size 23x28
+          RenderText {#text} at (158,14) size 23x26
             text run at (158,14) width 23: "ax"
-          RenderText {#text} at (181,14) size 11x28
+          RenderText {#text} at (181,14) size 11x26
             text run at (181,14) width 11: "z"
         RenderText {#text} at (0,0) size 0x0
 caret: position 2 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.png
index dcae3a0..f4975a4 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.txt
index 3bd8f9b..7b256e1 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/pasting-object-expected.txt
@@ -11,14 +11,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 757x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 757x34
           text run at (0,0) width 757: "This tests for a bug where attachments dragged into Mail documents blew all content after the position being pasted into."
-          text run at (0,18) width 319: "You should see \"Hello[black box] World!\" below."
-      RenderBlock {DIV} at (0,52) size 784x155
-        RenderText {#text} at (0,137) size 35x19
-          text run at (0,137) width 35: "Hello"
+          text run at (0,17) width 319: "You should see \"Hello[black box] World!\" below."
+      RenderBlock {DIV} at (0,50) size 784x155
+        RenderText {#text} at (0,138) size 35x17
+          text run at (0,138) width 35: "Hello"
         RenderEmbeddedObject {OBJECT} at (35,0) size 302x152 [border: (1px solid #AAAAAA)]
-        RenderText {#text} at (337,137) size 49x19
-          text run at (337,137) width 49: " World!"
+        RenderText {#text} at (337,138) size 49x17
+          text run at (337,138) width 49: " World!"
 caret: position 1 of child 1 {OBJECT} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.png
index 65125eb..88df914 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.txt
index 76eaf44..00c5693 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/pasting-tabs-expected.txt
@@ -13,24 +13,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 766x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 766x34
           text run at (0,0) width 647: "This tests copying plain text with tabs and pasting it into an editable region using paste and match tyle. "
           text run at (647,0) width 119: "The tabs should be"
-          text run at (0,18) width 65: "preserved."
-      RenderBlock (anonymous) at (0,52) size 784x46
+          text run at (0,17) width 65: "preserved."
+      RenderBlock (anonymous) at (0,50) size 784x44
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,98) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock {DIV} at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "Tab->"
-        RenderInline {SPAN} at (0,0) size 25x19
-          RenderText {#text} at (39,0) size 25x19
+        RenderInline {SPAN} at (0,0) size 25x17
+          RenderText {#text} at (39,0) size 25x17
             text run at (39,0) width 25: "\x{9}"
-        RenderText {#text} at (64,0) size 39x19
+        RenderText {#text} at (64,0) size 39x17
           text run at (64,0) width 39: "<-Tab"
-layer at (10,62) size 201x42 clip at (11,63) size 199x40
-  RenderTextControl {TEXTAREA} at (2,2) size 201x42 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-    RenderBlock {DIV} at (3,3) size 195x18
-      RenderText {#text} at (0,0) size 106x19
+layer at (10,60) size 201x40 clip at (11,61) size 199x38
+  RenderTextControl {TEXTAREA} at (2,2) size 201x40 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 195x17
+      RenderText {#text} at (0,0) size 106x17
         text run at (0,0) width 106: "Tab->\x{9}<-Tab"
 caret: position 5 of child 2 {#text} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.png
index 68550ac..e4c7c21 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.txt
index 009485e5..1faef20 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.txt
@@ -10,17 +10,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 779x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 779x34
           text run at (0,0) width 779: "This is a test to make sure that the final <br> in an incoming fragment is interpretted strictly in quirks mode (where brs at the"
-          text run at (0,18) width 184: "end of blocks are collapsed). "
-          text run at (184,18) width 509: "This test used to fail because of unrendered content to the left of the collapsed br."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 370x19
+          text run at (0,17) width 184: "end of blocks are collapsed). "
+          text run at (184,17) width 509: "This test used to fail because of unrendered content to the left of the collapsed br."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 370x17
             text run at (0,0) width 370: "The test should add a single blank line after this paragraph."
-          RenderInline {SPAN} at (0,0) size 0x19
-          RenderBR {BR} at (370,15) size 0x0
-        RenderBlock (anonymous) at (0,18) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
+          RenderInline {SPAN} at (0,0) size 0x17
+          RenderBR {BR} at (370,14) size 0x0
+        RenderBlock (anonymous) at (0,17) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 1 {BR} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.png
new file mode 100644
index 0000000..8cf489d
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.txt
index e8cf85e..c3262b5 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/smart-drag-drop-expected.txt
@@ -12,12 +12,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 773x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 773x34
           text run at (0,0) width 773: "Tests that drag/drop after double-click does a smart drag. Specifically the end result should have a space: \"world hello\". To"
-          text run at (0,18) width 434: "test manually double click on the \"hello\" and drag it to after \"world\"."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 68x19
+          text run at (0,17) width 434: "test manually double click on the \"hello\" and drag it to after \"world\"."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 68x17
           text run at (0,0) width 68: "worldhello"
 selection start: position 5 of child 0 {#text} of child 3 {DIV} of body
 selection end:   position 10 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.png
index 41ab515..9e88bfa 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.txt
index f78e62c..9388218 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-007-expected.txt
@@ -25,26 +25,26 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 460x28
-            text run at (0,28) width 460: "Smart paste when pasting between two periods."
-        RenderBlock {DIV} at (14,86) size 756x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 460x26
+            text run at (0,26) width 460: "Smart paste when pasting between two periods."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 744x56
-            text run at (0,28) width 744: "A space should be added before, but not after the pasted word. It should look"
-            text run at (0,56) width 91: "like this: "
-          RenderBR {BR} at (91,78) size 0x0
-          RenderText {#text} at (0,84) size 52x28
-            text run at (0,84) width 52: ". test."
-      RenderBlock {DIV} at (0,236) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 52x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 744x52
+            text run at (0,26) width 744: "A space should be added before, but not after the pasted word. It should look"
+            text run at (0,52) width 91: "like this: "
+          RenderBR {BR} at (91,73) size 0x0
+          RenderText {#text} at (0,78) size 52x26
+            text run at (0,78) width 52: ". test."
+      RenderBlock {DIV} at (0,224) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 52x26
             text run at (2,2) width 52: ". test."
-        RenderBlock (anonymous) at (0,32) size 784x0
+        RenderBlock (anonymous) at (0,30) size 784x0
 caret: position 6 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.png
index 0250e81..da4554c 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.txt
index 49d044f..518ee5f 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/smart-paste-008-expected.txt
@@ -16,19 +16,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 773x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 773x34
           text run at (0,0) width 394: "There was a bug in paste's smart replace whitespace handling. "
           text run at (394,0) width 379: "In some cases, it used information gathered at the start of the"
-          text run at (0,18) width 722: "selection being pasted into to decide whether or not a space needed to be added to the end of the incoming content."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 765x37
+          text run at (0,17) width 722: "selection being pasted into to decide whether or not a space needed to be added to the end of the incoming content."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 765x34
           text run at (0,0) width 548: "A smart paste is performed into a selection starting in one block and ending in another. "
           text run at (548,0) width 217: "Spaces should surround the pasted"
-          text run at (0,18) width 37: "word."
-      RenderBlock {DIV} at (0,104) size 784x18
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 54x19
+          text run at (0,17) width 37: "word."
+      RenderBlock {DIV} at (0,100) size 784x17
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 54x17
             text run at (0,0) width 54: "f foo bar"
-        RenderBlock (anonymous) at (0,18) size 784x0
+        RenderBlock (anonymous) at (0,17) size 784x0
 caret: position 5 of child 0 {#text} of child 0 {DIV} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.png
index d5612fa..d862f9a 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.txt
index aaa5e13..3ebdb68 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/styled-element-markup-expected.txt
@@ -17,19 +17,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 772x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 772x34
           text run at (0,0) width 334: "This tests copy/paste of styled elements, like images. "
           text run at (334,0) width 438: "The image in the region below should be centered after its copied and"
-          text run at (0,18) width 44: "pasted."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderInline {B} at (0,0) size 778x37
-          RenderText {#text} at (0,0) size 778x37
+          text run at (0,17) width 44: "pasted."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderInline {B} at (0,0) size 778x34
+          RenderText {#text} at (0,0) size 778x34
             text run at (0,0) width 778: "This demonstrates a bug: createMarkup puts the text-align property on the image, which doesn't center it, so its left"
-            text run at (0,18) width 113: "aligned on paste."
-      RenderBlock {DIV} at (0,104) size 784x103
+            text run at (0,17) width 113: "aligned on paste."
+      RenderBlock {DIV} at (0,100) size 784x103
         RenderBlock {CENTER} at (0,0) size 784x103
           RenderImage {IMG} at (354,0) size 76x103
-      RenderBlock {DIV} at (0,207) size 784x103
+      RenderBlock {DIV} at (0,203) size 784x103
         RenderImage {IMG} at (0,0) size 76x103
 caret: position 1 of child 0 {IMG} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.png
new file mode 100644
index 0000000..f9928b0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt
index ebdd3d4..413c54b 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/subframe-dragndrop-1-expected.txt
@@ -25,11 +25,11 @@
           layer at (0,0) size 300x300
             RenderBlock {HTML} at (0,0) size 300x300
               RenderBody {BODY} at (8,8) size 284x284 [bgcolor=#FFFFE0]
-                RenderText {#text} at (0,0) size 67x19
+                RenderText {#text} at (0,0) size 67x17
                   text run at (0,0) width 67: "foo bazbar"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {P} at (0,320) size 800x36
-        RenderText {#text} at (0,0) size 795x37
+      RenderBlock {P} at (0,320) size 800x34
+        RenderText {#text} at (0,0) size 795x34
           text run at (0,0) width 795: "This test uses the eventSender to do drag and drop. To run it manually, drag the word selected in the above subframe and drop"
-          text run at (0,18) width 80: "it after 'baz'. "
-          text run at (80,18) width 213: "The result should be 'foo baz bar'."
+          text run at (0,17) width 80: "it after 'baz'. "
+          text run at (80,17) width 213: "The result should be 'foo baz bar'."
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.png
index ae7c21a..b7607e4 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.txt
index 0c8d0ec..2329b64 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.txt
@@ -20,19 +20,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 750x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 750x34
           text run at (0,0) width 573: "This is a testcase for 8193, hitting an assert inside RemoveNodeCommand on Undo Paste. "
           text run at (573,0) width 177: "Both editable regions below"
-          text run at (0,18) width 217: "should look the same after the test."
-      RenderBlock {HR} at (0,52) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,62) size 784x38 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (1,1) size 782x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 217: "should look the same after the test."
+      RenderBlock {HR} at (0,50) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,60) size 784x36 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (1,1) size 782x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock {DIV} at (1,19) size 782x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock {DIV} at (1,18) size 782x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
-      RenderBlock {DIV} at (0,100) size 784x20 [border: (1px solid #000000)]
-        RenderBR {BR} at (1,1) size 0x19
+      RenderBlock {DIV} at (0,96) size 784x19 [border: (1px solid #000000)]
+        RenderBR {BR} at (1,1) size 0x17
 caret: position 0 of child 0 {BR} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.png
index 6f802bc..72e694e 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.png
+++ b/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.txt
index b835034..85ab3ff 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/unrendered-br-expected.txt
@@ -10,16 +10,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 763x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 763x34
           text run at (0,0) width 763: "This is a test to make sure that an unrendered br at the end of the selection being pasted into doesn't become rendered as a"
-          text run at (0,18) width 114: "result of the paste."
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 114: "result of the paste."
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "First paragraph."
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 118x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 118x17
             text run at (0,0) width 118: "Second paragraph."
-        RenderBlock (anonymous) at (0,36) size 784x0
+        RenderBlock (anonymous) at (0,34) size 784x0
 caret: position 17 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/13804-expected.png b/LayoutTests/platform/gtk/editing/selection/13804-expected.png
new file mode 100644
index 0000000..5d90701
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/13804-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/13804-expected.txt b/LayoutTests/platform/gtk/editing/selection/13804-expected.txt
index 029e7d1..3029a3b 100644
--- a/LayoutTests/platform/gtk/editing/selection/13804-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/13804-expected.txt
@@ -3,11 +3,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 778x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 778x34
           text run at (0,0) width 778: "This tests for a bug when moving the caret backward through a misspelled word. Once the caret is no longer adjacent to it it"
-          text run at (0,18) width 203: "should be marked as misspelled."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 298x19
+          text run at (0,17) width 203: "should be marked as misspelled."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 298x17
           text run at (0,0) width 298: "This sentence ends with a misspelled word asd."
 caret: position 40 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/14971-expected.png b/LayoutTests/platform/gtk/editing/selection/14971-expected.png
new file mode 100644
index 0000000..f521bf3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/14971-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/14971-expected.txt b/LayoutTests/platform/gtk/editing/selection/14971-expected.txt
index eb928d3..f196c2e 100644
--- a/LayoutTests/platform/gtk/editing/selection/14971-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/14971-expected.txt
@@ -3,19 +3,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 756x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 756x34
           text run at (0,0) width 599: "This tests to make sure that a drag-selecting through a -webkit-user-select:ignore region works. "
           text run at (599,0) width 157: "The selection should end"
-          text run at (0,18) width 270: "somewhere inside the word 'World' below."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderInline {SPAN} at (0,0) size 35x19
-          RenderText {#text} at (0,0) size 35x19
+          text run at (0,17) width 270: "somewhere inside the word 'World' below."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderInline {SPAN} at (0,0) size 35x17
+          RenderText {#text} at (0,0) size 35x17
             text run at (0,0) width 35: "Hello"
-        RenderText {#text} at (35,0) size 4x19
+        RenderText {#text} at (35,0) size 4x17
           text run at (35,0) width 4: " "
-        RenderInline {SPAN} at (0,0) size 40x19
-          RenderText {#text} at (39,0) size 40x19
+        RenderInline {SPAN} at (0,0) size 40x17
+          RenderText {#text} at (39,0) size 40x17
             text run at (39,0) width 40: "World"
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 2 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 2 {SPAN} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.png b/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.png
index 6c54bdc..803387e 100644
--- a/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.txt
index 7dad017..674a5dd 100644
--- a/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/3690703-2-expected.txt
@@ -14,7 +14,7 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,3) size 784x581 [bgcolor=#FFFFFF]
-      RenderBlock {CENTER} at (0,0) size 784x271
+      RenderBlock {CENTER} at (0,0) size 784x262
         RenderTable {TABLE} at (0,0) size 784x19
           RenderTableSection {TBODY} at (0,0) size 784x19
             RenderTableRow {TR} at (0,0) size 784x15
@@ -26,11 +26,11 @@
             RenderTableRow {TR} at (0,15) size 784x4
               RenderTableCell {TD} at (0,16) size 784x1 [r=1 c=0 rs=1 cs=1]
                 RenderImage {IMG} at (0,0) size 1x1
-        RenderBlock (anonymous) at (0,19) size 784x36
-          RenderBR {BR} at (392,0) size 0x19
-          RenderBR {BR} at (392,18) size 0x19
-        RenderBlock {DIV} at (0,55) size 784x119 [border: (2px solid #AAAAFF)]
-          RenderTable {TABLE} at (215,2) size 353x23
+        RenderBlock (anonymous) at (0,19) size 784x34
+          RenderBR {BR} at (392,0) size 0x17
+          RenderBR {BR} at (392,17) size 0x17
+        RenderBlock {DIV} at (0,53) size 784x116 [border: (2px solid #AAAAFF)]
+          RenderTable {TABLE} at (215,2) size 354x23
             RenderTableSection {TBODY} at (0,0) size 353x23
               RenderTableRow {TR} at (0,0) size 353x23
                 RenderTableCell {TD} at (0,0) size 353x23 [r=0 c=0 rs=1 cs=1]
@@ -63,7 +63,7 @@
                     RenderInline {A} at (0,0) size 31x15 [color=#0000CC]
                       RenderText {#text} at (238,4) size 31x15
                         text run at (238,4) width 31: "Local"
-                      RenderInline {SUP} at (0,0) size 0x13
+                      RenderInline {SUP} at (0,0) size 0x12
                     RenderInline {A} at (0,0) size 28x15
                       RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
                         RenderText {#text} at (269,4) size 28x15
@@ -74,79 +74,79 @@
                       RenderInline {A} at (0,0) size 40x15 [color=#0000CC]
                         RenderText {#text} at (309,4) size 40x15
                           text run at (309,4) width 40: "more \x{BB}"
-          RenderTable {TABLE} at (2,25) size 780x59
-            RenderTableSection {TBODY} at (0,0) size 780x59
-              RenderTableRow {TR} at (0,0) size 780x59
-                RenderTableCell {TD} at (0,20) size 120x18 [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (0,0) size 4x19
+          RenderTable {TABLE} at (2,25) size 780x57
+            RenderTableSection {TBODY} at (0,0) size 780x57
+              RenderTableRow {TR} at (0,0) size 780x57
+                RenderTableCell {TD} at (0,20) size 121x17 [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (0,0) size 4x17
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (120,0) size 511x59 [r=0 c=1 rs=1 cs=1]
-                  RenderTextControl {INPUT} at (2,2) size 507x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderBR {BR} at (511,20) size 0x0
-                  RenderButton {INPUT} at (122,30) size 123x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-                    RenderBlock (anonymous) at (8,4) size 107x18
-                      RenderText at (0,0) size 107x19
+                RenderTableCell {TD} at (121,0) size 510x57 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 506x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (510,19) size 0x0
+                  RenderButton {INPUT} at (121,29) size 124x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                    RenderBlock (anonymous) at (8,4) size 107x17
+                      RenderText at (0,0) size 107x17
                         text run at (0,0) width 107: "Google Search"
-                  RenderButton {INPUT} at (249,30) size 140x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-                    RenderBlock (anonymous) at (8,4) size 124x18
-                      RenderText at (0,0) size 124x19
+                  RenderButton {INPUT} at (248,29) size 141x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                    RenderBlock (anonymous) at (8,4) size 124x17
+                      RenderText at (0,0) size 124x17
                         text run at (0,0) width 124: "I'm Feeling Lucky"
-                RenderTableCell {TD} at (631,0) size 149x36 [r=0 c=2 rs=1 cs=1]
-                  RenderInline {FONT} at (0,0) size 74x36
-                    RenderText {#text} at (0,0) size 6x12
+                RenderTableCell {TD} at (631,0) size 149x33 [r=0 c=2 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 74x33
+                    RenderText {#text} at (0,0) size 6x11
                       text run at (0,0) width 6: "  "
-                    RenderInline {A} at (0,0) size 68x12 [color=#0000CC]
-                      RenderText {#text} at (6,0) size 68x12
+                    RenderInline {A} at (0,0) size 68x11 [color=#0000CC]
+                      RenderText {#text} at (6,0) size 68x11
                         text run at (6,0) width 68: "Advanced Search"
                     RenderBR {BR} at (74,9) size 0x0
-                    RenderText {#text} at (0,12) size 6x12
-                      text run at (0,12) width 6: "  "
-                    RenderInline {A} at (0,0) size 44x12 [color=#0000CC]
-                      RenderText {#text} at (6,12) size 44x12
-                        text run at (6,12) width 44: "Preferences"
-                    RenderBR {BR} at (50,21) size 0x0
-                    RenderText {#text} at (0,24) size 6x12
-                      text run at (0,24) width 6: "  "
-                    RenderInline {A} at (0,0) size 64x12 [color=#0000CC]
-                      RenderText {#text} at (6,24) size 64x12
-                        text run at (6,24) width 64: "Language Tools"
-          RenderBlock (anonymous) at (2,84) size 780x33
-            RenderBR {BR} at (390,0) size 0x19
+                    RenderText {#text} at (0,11) size 6x11
+                      text run at (0,11) width 6: "  "
+                    RenderInline {A} at (0,0) size 44x11 [color=#0000CC]
+                      RenderText {#text} at (6,11) size 44x11
+                        text run at (6,11) width 44: "Preferences"
+                    RenderBR {BR} at (50,20) size 0x0
+                    RenderText {#text} at (0,22) size 6x11
+                      text run at (0,22) width 6: "  "
+                    RenderInline {A} at (0,0) size 64x11 [color=#0000CC]
+                      RenderText {#text} at (6,22) size 64x11
+                        text run at (6,22) width 64: "Language Tools"
+          RenderBlock (anonymous) at (2,82) size 780x32
+            RenderBR {BR} at (390,0) size 0x17
             RenderInline {FONT} at (0,0) size 148x15
               RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
-                RenderText {#text} at (316,18) size 28x15
-                  text run at (316,18) width 28: "New!"
-              RenderText {#text} at (344,18) size 3x15
-                text run at (344,18) width 3: " "
+                RenderText {#text} at (316,17) size 28x15
+                  text run at (316,17) width 28: "New!"
+              RenderText {#text} at (344,17) size 3x15
+                text run at (344,17) width 3: " "
               RenderInline {A} at (0,0) size 114x15 [color=#0000CC]
-                RenderText {#text} at (347,18) size 114x15
-                  text run at (347,18) width 114: "Personalize this page"
-              RenderText {#text} at (461,18) size 3x15
-                text run at (461,18) width 3: "."
+                RenderText {#text} at (347,17) size 114x15
+                  text run at (347,17) width 114: "Personalize this page"
+              RenderText {#text} at (461,17) size 3x15
+                text run at (461,17) width 3: "."
             RenderText {#text} at (0,0) size 0x0
-        RenderBlock (anonymous) at (0,174) size 784x69
-          RenderBR {BR} at (392,0) size 0x19
-          RenderBR {BR} at (392,18) size 0x19
-          RenderBR {BR} at (392,36) size 0x19
+        RenderBlock (anonymous) at (0,169) size 784x66
+          RenderBR {BR} at (392,0) size 0x17
+          RenderBR {BR} at (392,17) size 0x17
+          RenderBR {BR} at (392,34) size 0x17
           RenderInline {FONT} at (0,0) size 318x15
             RenderInline {A} at (0,0) size 118x15 [color=#0000CC]
-              RenderText {#text} at (233,54) size 118x15
-                text run at (233,54) width 118: "Advertising Programs"
-            RenderText {#text} at (350,54) size 11x15
-              text run at (350,54) width 11: " - "
+              RenderText {#text} at (233,51) size 118x15
+                text run at (233,51) width 118: "Advertising Programs"
+            RenderText {#text} at (350,51) size 11x15
+              text run at (350,51) width 11: " - "
             RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
-              RenderText {#text} at (360,54) size 104x15
-                text run at (360,54) width 104: "Business Solutions"
-            RenderText {#text} at (463,54) size 11x15
-              text run at (463,54) width 11: " - "
+              RenderText {#text} at (360,51) size 104x15
+                text run at (360,51) width 104: "Business Solutions"
+            RenderText {#text} at (463,51) size 11x15
+              text run at (463,51) width 11: " - "
             RenderInline {A} at (0,0) size 78x15 [color=#0000CC]
-              RenderText {#text} at (473,54) size 78x15
-                text run at (473,54) width 78: "About Google"
-        RenderBlock {P} at (0,259) size 784x12
-          RenderInline {FONT} at (0,0) size 60x12
-            RenderText {#text} at (362,0) size 60x12
+              RenderText {#text} at (473,51) size 78x15
+                text run at (473,51) width 78: "About Google"
+        RenderBlock {P} at (0,251) size 784x11
+          RenderInline {FONT} at (0,0) size 60x11
+            RenderText {#text} at (362,0) size 60x11
               text run at (362,0) width 60: "\x{A9}2005 Google"
-layer at (135,88) size 501x18
-  RenderBlock {DIV} at (3,3) size 501x18
+layer at (136,86) size 500x17
+  RenderBlock {DIV} at (3,3) size 500x17
 selection start: position 0 of child 3 {INPUT} of child 1 {TD} of child 0 {TR} of child 0 {TBODY} of child 2 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
 selection end:   position 1 of child 2 {BR} of child 0 {FONT} of child 2 {TD} of child 0 {TR} of child 0 {TBODY} of child 2 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/3690703-expected.png b/LayoutTests/platform/gtk/editing/selection/3690703-expected.png
index ddb2513..e65b3db 100644
--- a/LayoutTests/platform/gtk/editing/selection/3690703-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/3690703-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/3690703-expected.txt b/LayoutTests/platform/gtk/editing/selection/3690703-expected.txt
index 30c63e9..1677996 100644
--- a/LayoutTests/platform/gtk/editing/selection/3690703-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/3690703-expected.txt
@@ -16,7 +16,7 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,3) size 784x581 [bgcolor=#FFFFFF]
-      RenderBlock {CENTER} at (0,0) size 784x271
+      RenderBlock {CENTER} at (0,0) size 784x262
         RenderTable {TABLE} at (0,0) size 784x19
           RenderTableSection {TBODY} at (0,0) size 784x19
             RenderTableRow {TR} at (0,0) size 784x15
@@ -28,11 +28,11 @@
             RenderTableRow {TR} at (0,15) size 784x4
               RenderTableCell {TD} at (0,16) size 784x1 [r=1 c=0 rs=1 cs=1]
                 RenderImage {IMG} at (0,0) size 1x1
-        RenderBlock (anonymous) at (0,19) size 784x36
-          RenderBR {BR} at (392,0) size 0x19
-          RenderBR {BR} at (392,18) size 0x19
-        RenderBlock {DIV} at (0,55) size 784x119 [border: (2px solid #AAAAFF)]
-          RenderTable {TABLE} at (215,2) size 353x23
+        RenderBlock (anonymous) at (0,19) size 784x34
+          RenderBR {BR} at (392,0) size 0x17
+          RenderBR {BR} at (392,17) size 0x17
+        RenderBlock {DIV} at (0,53) size 784x116 [border: (2px solid #AAAAFF)]
+          RenderTable {TABLE} at (215,2) size 354x23
             RenderTableSection {TBODY} at (0,0) size 353x23
               RenderTableRow {TR} at (0,0) size 353x23
                 RenderTableCell {TD} at (0,0) size 353x23 [r=0 c=0 rs=1 cs=1]
@@ -65,7 +65,7 @@
                     RenderInline {A} at (0,0) size 31x15 [color=#0000CC]
                       RenderText {#text} at (238,4) size 31x15
                         text run at (238,4) width 31: "Local"
-                      RenderInline {SUP} at (0,0) size 0x13
+                      RenderInline {SUP} at (0,0) size 0x12
                     RenderInline {A} at (0,0) size 28x15
                       RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
                         RenderText {#text} at (269,4) size 28x15
@@ -76,79 +76,79 @@
                       RenderInline {A} at (0,0) size 40x15 [color=#0000CC]
                         RenderText {#text} at (309,4) size 40x15
                           text run at (309,4) width 40: "more \x{BB}"
-          RenderTable {TABLE} at (2,25) size 780x59
-            RenderTableSection {TBODY} at (0,0) size 780x59
-              RenderTableRow {TR} at (0,0) size 780x59
-                RenderTableCell {TD} at (0,20) size 120x18 [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (0,0) size 4x19
+          RenderTable {TABLE} at (2,25) size 780x57
+            RenderTableSection {TBODY} at (0,0) size 780x57
+              RenderTableRow {TR} at (0,0) size 780x57
+                RenderTableCell {TD} at (0,20) size 121x17 [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (0,0) size 4x17
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (120,0) size 511x59 [r=0 c=1 rs=1 cs=1]
-                  RenderTextControl {INPUT} at (2,2) size 507x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderBR {BR} at (511,20) size 0x0
-                  RenderButton {INPUT} at (122,30) size 123x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-                    RenderBlock (anonymous) at (8,4) size 107x18
-                      RenderText at (0,0) size 107x19
+                RenderTableCell {TD} at (121,0) size 510x57 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 506x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (510,19) size 0x0
+                  RenderButton {INPUT} at (121,29) size 124x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                    RenderBlock (anonymous) at (8,4) size 107x17
+                      RenderText at (0,0) size 107x17
                         text run at (0,0) width 107: "Google Search"
-                  RenderButton {INPUT} at (249,30) size 140x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-                    RenderBlock (anonymous) at (8,4) size 124x18
-                      RenderText at (0,0) size 124x19
+                  RenderButton {INPUT} at (248,29) size 141x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                    RenderBlock (anonymous) at (8,4) size 124x17
+                      RenderText at (0,0) size 124x17
                         text run at (0,0) width 124: "I'm Feeling Lucky"
-                RenderTableCell {TD} at (631,0) size 149x36 [r=0 c=2 rs=1 cs=1]
-                  RenderInline {FONT} at (0,0) size 74x36
-                    RenderText {#text} at (0,0) size 6x12
+                RenderTableCell {TD} at (631,0) size 149x33 [r=0 c=2 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 74x33
+                    RenderText {#text} at (0,0) size 6x11
                       text run at (0,0) width 6: "  "
-                    RenderInline {A} at (0,0) size 68x12 [color=#0000CC]
-                      RenderText {#text} at (6,0) size 68x12
+                    RenderInline {A} at (0,0) size 68x11 [color=#0000CC]
+                      RenderText {#text} at (6,0) size 68x11
                         text run at (6,0) width 68: "Advanced Search"
                     RenderBR {BR} at (74,9) size 0x0
-                    RenderText {#text} at (0,12) size 6x12
-                      text run at (0,12) width 6: "  "
-                    RenderInline {A} at (0,0) size 44x12 [color=#0000CC]
-                      RenderText {#text} at (6,12) size 44x12
-                        text run at (6,12) width 44: "Preferences"
-                    RenderBR {BR} at (50,21) size 0x0
-                    RenderText {#text} at (0,24) size 6x12
-                      text run at (0,24) width 6: "  "
-                    RenderInline {A} at (0,0) size 64x12 [color=#0000CC]
-                      RenderText {#text} at (6,24) size 64x12
-                        text run at (6,24) width 64: "Language Tools"
-          RenderBlock (anonymous) at (2,84) size 780x33
-            RenderBR {BR} at (390,0) size 0x19
+                    RenderText {#text} at (0,11) size 6x11
+                      text run at (0,11) width 6: "  "
+                    RenderInline {A} at (0,0) size 44x11 [color=#0000CC]
+                      RenderText {#text} at (6,11) size 44x11
+                        text run at (6,11) width 44: "Preferences"
+                    RenderBR {BR} at (50,20) size 0x0
+                    RenderText {#text} at (0,22) size 6x11
+                      text run at (0,22) width 6: "  "
+                    RenderInline {A} at (0,0) size 64x11 [color=#0000CC]
+                      RenderText {#text} at (6,22) size 64x11
+                        text run at (6,22) width 64: "Language Tools"
+          RenderBlock (anonymous) at (2,82) size 780x32
+            RenderBR {BR} at (390,0) size 0x17
             RenderInline {FONT} at (0,0) size 148x15
               RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
-                RenderText {#text} at (316,18) size 28x15
-                  text run at (316,18) width 28: "New!"
-              RenderText {#text} at (344,18) size 3x15
-                text run at (344,18) width 3: " "
+                RenderText {#text} at (316,17) size 28x15
+                  text run at (316,17) width 28: "New!"
+              RenderText {#text} at (344,17) size 3x15
+                text run at (344,17) width 3: " "
               RenderInline {A} at (0,0) size 114x15 [color=#0000CC]
-                RenderText {#text} at (347,18) size 114x15
-                  text run at (347,18) width 114: "Personalize this page"
-              RenderText {#text} at (461,18) size 3x15
-                text run at (461,18) width 3: "."
+                RenderText {#text} at (347,17) size 114x15
+                  text run at (347,17) width 114: "Personalize this page"
+              RenderText {#text} at (461,17) size 3x15
+                text run at (461,17) width 3: "."
             RenderText {#text} at (0,0) size 0x0
-        RenderBlock (anonymous) at (0,174) size 784x69
-          RenderBR {BR} at (392,0) size 0x19
-          RenderBR {BR} at (392,18) size 0x19
-          RenderBR {BR} at (392,36) size 0x19
+        RenderBlock (anonymous) at (0,169) size 784x66
+          RenderBR {BR} at (392,0) size 0x17
+          RenderBR {BR} at (392,17) size 0x17
+          RenderBR {BR} at (392,34) size 0x17
           RenderInline {FONT} at (0,0) size 318x15
             RenderInline {A} at (0,0) size 118x15 [color=#0000CC]
-              RenderText {#text} at (233,54) size 118x15
-                text run at (233,54) width 118: "Advertising Programs"
-            RenderText {#text} at (350,54) size 11x15
-              text run at (350,54) width 11: " - "
+              RenderText {#text} at (233,51) size 118x15
+                text run at (233,51) width 118: "Advertising Programs"
+            RenderText {#text} at (350,51) size 11x15
+              text run at (350,51) width 11: " - "
             RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
-              RenderText {#text} at (360,54) size 104x15
-                text run at (360,54) width 104: "Business Solutions"
-            RenderText {#text} at (463,54) size 11x15
-              text run at (463,54) width 11: " - "
+              RenderText {#text} at (360,51) size 104x15
+                text run at (360,51) width 104: "Business Solutions"
+            RenderText {#text} at (463,51) size 11x15
+              text run at (463,51) width 11: " - "
             RenderInline {A} at (0,0) size 78x15 [color=#0000CC]
-              RenderText {#text} at (473,54) size 78x15
-                text run at (473,54) width 78: "About Google"
-        RenderBlock {P} at (0,259) size 784x12
-          RenderInline {FONT} at (0,0) size 60x12
-            RenderText {#text} at (362,0) size 60x12
+              RenderText {#text} at (473,51) size 78x15
+                text run at (473,51) width 78: "About Google"
+        RenderBlock {P} at (0,251) size 784x11
+          RenderInline {FONT} at (0,0) size 60x11
+            RenderText {#text} at (362,0) size 60x11
               text run at (362,0) width 60: "\x{A9}2005 Google"
-layer at (135,88) size 501x18
-  RenderBlock {DIV} at (3,3) size 501x18
+layer at (136,86) size 500x17
+  RenderBlock {DIV} at (3,3) size 500x17
 selection start: position 0 of child 1 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
 selection end:   position 1 of child 3 {#text} of child 4 {FONT} of child 4 {DIV} of child 0 {CENTER} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/3690719-expected.png b/LayoutTests/platform/gtk/editing/selection/3690719-expected.png
index ddb2513..e65b3db 100644
--- a/LayoutTests/platform/gtk/editing/selection/3690719-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/3690719-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/3690719-expected.txt b/LayoutTests/platform/gtk/editing/selection/3690719-expected.txt
index 5698aad..2066585 100644
--- a/LayoutTests/platform/gtk/editing/selection/3690719-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/3690719-expected.txt
@@ -8,7 +8,7 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,3) size 784x581 [bgcolor=#FFFFFF]
-      RenderBlock {CENTER} at (0,0) size 784x271
+      RenderBlock {CENTER} at (0,0) size 784x262
         RenderTable {TABLE} at (0,0) size 784x19
           RenderTableSection {TBODY} at (0,0) size 784x19
             RenderTableRow {TR} at (0,0) size 784x15
@@ -20,11 +20,11 @@
             RenderTableRow {TR} at (0,15) size 784x4
               RenderTableCell {TD} at (0,16) size 784x1 [r=1 c=0 rs=1 cs=1]
                 RenderImage {IMG} at (0,0) size 1x1
-        RenderBlock (anonymous) at (0,19) size 784x36
-          RenderBR {BR} at (392,0) size 0x19
-          RenderBR {BR} at (392,18) size 0x19
-        RenderBlock {DIV} at (0,55) size 784x119 [border: (2px solid #AAAAFF)]
-          RenderTable {TABLE} at (215,2) size 353x23
+        RenderBlock (anonymous) at (0,19) size 784x34
+          RenderBR {BR} at (392,0) size 0x17
+          RenderBR {BR} at (392,17) size 0x17
+        RenderBlock {DIV} at (0,53) size 784x116 [border: (2px solid #AAAAFF)]
+          RenderTable {TABLE} at (215,2) size 354x23
             RenderTableSection {TBODY} at (0,0) size 353x23
               RenderTableRow {TR} at (0,0) size 353x23
                 RenderTableCell {TD} at (0,0) size 353x23 [r=0 c=0 rs=1 cs=1]
@@ -57,7 +57,7 @@
                     RenderInline {A} at (0,0) size 31x15 [color=#0000CC]
                       RenderText {#text} at (238,4) size 31x15
                         text run at (238,4) width 31: "Local"
-                      RenderInline {SUP} at (0,0) size 0x13
+                      RenderInline {SUP} at (0,0) size 0x12
                     RenderInline {A} at (0,0) size 28x15
                       RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
                         RenderText {#text} at (269,4) size 28x15
@@ -68,79 +68,79 @@
                       RenderInline {A} at (0,0) size 40x15 [color=#0000CC]
                         RenderText {#text} at (309,4) size 40x15
                           text run at (309,4) width 40: "more \x{BB}"
-          RenderTable {TABLE} at (2,25) size 780x59
-            RenderTableSection {TBODY} at (0,0) size 780x59
-              RenderTableRow {TR} at (0,0) size 780x59
-                RenderTableCell {TD} at (0,20) size 120x18 [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (0,0) size 4x19
+          RenderTable {TABLE} at (2,25) size 780x57
+            RenderTableSection {TBODY} at (0,0) size 780x57
+              RenderTableRow {TR} at (0,0) size 780x57
+                RenderTableCell {TD} at (0,20) size 121x17 [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (0,0) size 4x17
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (120,0) size 511x59 [r=0 c=1 rs=1 cs=1]
-                  RenderTextControl {INPUT} at (2,2) size 507x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-                  RenderBR {BR} at (511,20) size 0x0
-                  RenderButton {INPUT} at (122,30) size 123x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-                    RenderBlock (anonymous) at (8,4) size 107x18
-                      RenderText at (0,0) size 107x19
+                RenderTableCell {TD} at (121,0) size 510x57 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 506x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (510,19) size 0x0
+                  RenderButton {INPUT} at (121,29) size 124x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                    RenderBlock (anonymous) at (8,4) size 107x17
+                      RenderText at (0,0) size 107x17
                         text run at (0,0) width 107: "Google Search"
-                  RenderButton {INPUT} at (249,30) size 140x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-                    RenderBlock (anonymous) at (8,4) size 124x18
-                      RenderText at (0,0) size 124x19
+                  RenderButton {INPUT} at (248,29) size 141x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                    RenderBlock (anonymous) at (8,4) size 124x17
+                      RenderText at (0,0) size 124x17
                         text run at (0,0) width 124: "I'm Feeling Lucky"
-                RenderTableCell {TD} at (631,0) size 149x36 [r=0 c=2 rs=1 cs=1]
-                  RenderInline {FONT} at (0,0) size 74x36
-                    RenderText {#text} at (0,0) size 6x12
+                RenderTableCell {TD} at (631,0) size 149x33 [r=0 c=2 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 74x33
+                    RenderText {#text} at (0,0) size 6x11
                       text run at (0,0) width 6: "  "
-                    RenderInline {A} at (0,0) size 68x12 [color=#0000CC]
-                      RenderText {#text} at (6,0) size 68x12
+                    RenderInline {A} at (0,0) size 68x11 [color=#0000CC]
+                      RenderText {#text} at (6,0) size 68x11
                         text run at (6,0) width 68: "Advanced Search"
                     RenderBR {BR} at (74,9) size 0x0
-                    RenderText {#text} at (0,12) size 6x12
-                      text run at (0,12) width 6: "  "
-                    RenderInline {A} at (0,0) size 44x12 [color=#0000CC]
-                      RenderText {#text} at (6,12) size 44x12
-                        text run at (6,12) width 44: "Preferences"
-                    RenderBR {BR} at (50,21) size 0x0
-                    RenderText {#text} at (0,24) size 6x12
-                      text run at (0,24) width 6: "  "
-                    RenderInline {A} at (0,0) size 64x12 [color=#0000CC]
-                      RenderText {#text} at (6,24) size 64x12
-                        text run at (6,24) width 64: "Language Tools"
-          RenderBlock (anonymous) at (2,84) size 780x33
-            RenderBR {BR} at (390,0) size 0x19
+                    RenderText {#text} at (0,11) size 6x11
+                      text run at (0,11) width 6: "  "
+                    RenderInline {A} at (0,0) size 44x11 [color=#0000CC]
+                      RenderText {#text} at (6,11) size 44x11
+                        text run at (6,11) width 44: "Preferences"
+                    RenderBR {BR} at (50,20) size 0x0
+                    RenderText {#text} at (0,22) size 6x11
+                      text run at (0,22) width 6: "  "
+                    RenderInline {A} at (0,0) size 64x11 [color=#0000CC]
+                      RenderText {#text} at (6,22) size 64x11
+                        text run at (6,22) width 64: "Language Tools"
+          RenderBlock (anonymous) at (2,82) size 780x32
+            RenderBR {BR} at (390,0) size 0x17
             RenderInline {FONT} at (0,0) size 148x15
               RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
-                RenderText {#text} at (316,18) size 28x15
-                  text run at (316,18) width 28: "New!"
-              RenderText {#text} at (344,18) size 3x15
-                text run at (344,18) width 3: " "
+                RenderText {#text} at (316,17) size 28x15
+                  text run at (316,17) width 28: "New!"
+              RenderText {#text} at (344,17) size 3x15
+                text run at (344,17) width 3: " "
               RenderInline {A} at (0,0) size 114x15 [color=#0000CC]
-                RenderText {#text} at (347,18) size 114x15
-                  text run at (347,18) width 114: "Personalize this page"
-              RenderText {#text} at (461,18) size 3x15
-                text run at (461,18) width 3: "."
+                RenderText {#text} at (347,17) size 114x15
+                  text run at (347,17) width 114: "Personalize this page"
+              RenderText {#text} at (461,17) size 3x15
+                text run at (461,17) width 3: "."
             RenderText {#text} at (0,0) size 0x0
-        RenderBlock (anonymous) at (0,174) size 784x69
-          RenderBR {BR} at (392,0) size 0x19
-          RenderBR {BR} at (392,18) size 0x19
-          RenderBR {BR} at (392,36) size 0x19
+        RenderBlock (anonymous) at (0,169) size 784x66
+          RenderBR {BR} at (392,0) size 0x17
+          RenderBR {BR} at (392,17) size 0x17
+          RenderBR {BR} at (392,34) size 0x17
           RenderInline {FONT} at (0,0) size 318x15
             RenderInline {A} at (0,0) size 118x15 [color=#0000CC]
-              RenderText {#text} at (233,54) size 118x15
-                text run at (233,54) width 118: "Advertising Programs"
-            RenderText {#text} at (350,54) size 11x15
-              text run at (350,54) width 11: " - "
+              RenderText {#text} at (233,51) size 118x15
+                text run at (233,51) width 118: "Advertising Programs"
+            RenderText {#text} at (350,51) size 11x15
+              text run at (350,51) width 11: " - "
             RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
-              RenderText {#text} at (360,54) size 104x15
-                text run at (360,54) width 104: "Business Solutions"
-            RenderText {#text} at (463,54) size 11x15
-              text run at (463,54) width 11: " - "
+              RenderText {#text} at (360,51) size 104x15
+                text run at (360,51) width 104: "Business Solutions"
+            RenderText {#text} at (463,51) size 11x15
+              text run at (463,51) width 11: " - "
             RenderInline {A} at (0,0) size 78x15 [color=#0000CC]
-              RenderText {#text} at (473,54) size 78x15
-                text run at (473,54) width 78: "About Google"
-        RenderBlock {P} at (0,259) size 784x12
-          RenderInline {FONT} at (0,0) size 60x12
-            RenderText {#text} at (362,0) size 60x12
+              RenderText {#text} at (473,51) size 78x15
+                text run at (473,51) width 78: "About Google"
+        RenderBlock {P} at (0,251) size 784x11
+          RenderInline {FONT} at (0,0) size 60x11
+            RenderText {#text} at (362,0) size 60x11
               text run at (362,0) width 60: "\x{A9}2005 Google"
-layer at (135,88) size 501x18
-  RenderBlock {DIV} at (3,3) size 501x18
+layer at (136,86) size 500x17
+  RenderBlock {DIV} at (3,3) size 500x17
 selection start: position 0 of child 1 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
 selection end:   position 1 of child 3 {#text} of child 4 {FONT} of child 4 {DIV} of child 0 {CENTER} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4397952-expected.png b/LayoutTests/platform/gtk/editing/selection/4397952-expected.png
index 70869ce..8c0f160 100644
--- a/LayoutTests/platform/gtk/editing/selection/4397952-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4397952-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4397952-expected.txt b/LayoutTests/platform/gtk/editing/selection/4397952-expected.txt
index 19aa8f7..48b9230 100644
--- a/LayoutTests/platform/gtk/editing/selection/4397952-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4397952-expected.txt
@@ -8,18 +8,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 565x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 565x17
           text run at (0,0) width 264: "This tests caret movement across buttons. "
           text run at (264,0) width 301: "The caret should be just after the second button."
-      RenderBlock {DIV} at (0,34) size 784x31
-        RenderButton {INPUT} at (2,2) size 44x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-          RenderBlock (anonymous) at (8,4) size 28x18
-            RenderText at (0,0) size 28x19
+      RenderBlock {DIV} at (0,33) size 784x30
+        RenderButton {INPUT} at (2,2) size 44x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+          RenderBlock (anonymous) at (8,4) size 28x17
+            RenderText at (0,0) size 28x17
               text run at (0,0) width 28: "Foo"
-        RenderButton {INPUT} at (50,2) size 41x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-          RenderBlock (anonymous) at (8,4) size 25x18
-            RenderText at (0,0) size 25x19
+        RenderButton {INPUT} at (50,2) size 41x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+          RenderBlock (anonymous) at (8,4) size 25x17
+            RenderText at (0,0) size 25x17
               text run at (0,0) width 25: "Bar"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 2 {INPUT} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4402375-expected.png b/LayoutTests/platform/gtk/editing/selection/4402375-expected.png
index 2423f22..f5b6211 100644
--- a/LayoutTests/platform/gtk/editing/selection/4402375-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4402375-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4402375-expected.txt b/LayoutTests/platform/gtk/editing/selection/4402375-expected.txt
index 83dcaa5..a5aa389 100644
--- a/LayoutTests/platform/gtk/editing/selection/4402375-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4402375-expected.txt
@@ -4,24 +4,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 131x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 131x17
           text run at (0,0) width 131: "This is a testcase for "
-        RenderInline {A} at (0,0) size 149x19 [color=#0000EE]
-          RenderText {#text} at (131,0) size 149x19
+        RenderInline {A} at (0,0) size 149x17 [color=#0000EE]
+          RenderText {#text} at (131,0) size 149x17
             text run at (131,0) width 149: "rdar://problem/4402375"
-        RenderText {#text} at (280,0) size 761x37
+        RenderText {#text} at (280,0) size 761x34
           text run at (280,0) width 481: " \"REGRESSION (417.8-TOT): finding text sometimes also selects previous"
-          text run at (0,18) width 137: "image (5127) (6451)\""
-      RenderBlock {HR} at (0,52) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {P} at (0,70) size 784x36
-        RenderText {#text} at (0,0) size 743x37
+          text run at (0,17) width 137: "image (5127) (6451)\""
+      RenderBlock {HR} at (0,50) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,68) size 784x34
+        RenderText {#text} at (0,0) size 743x34
           text run at (0,0) width 413: "This test uses a right aligned image next to some left aligned text. "
           text run at (413,0) width 330: "The image should not be selected, and should not be"
-          text run at (0,18) width 598: "included in the selection rect (you won't see the selection rect when you run this test manually)."
-      RenderBlock {DIV} at (0,122) size 784x18
+          text run at (0,17) width 598: "included in the selection rect (you won't see the selection rect when you run this test manually)."
+      RenderBlock {DIV} at (0,118) size 784x17
         RenderImage {IMG} at (708,0) size 76x103
-        RenderText {#text} at (0,0) size 178x19
+        RenderText {#text} at (0,0) size 178x17
           text run at (0,0) width 178: "This text should be selected."
 selection start: position 0 of child 1 {#text} of child 6 {DIV} of body
 selection end:   position 29 of child 1 {#text} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4776665-expected.png b/LayoutTests/platform/gtk/editing/selection/4776665-expected.png
index c785f3f..1cd140c 100644
--- a/LayoutTests/platform/gtk/editing/selection/4776665-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4776665-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4776665-expected.txt b/LayoutTests/platform/gtk/editing/selection/4776665-expected.txt
index f91567d..29604a1 100644
--- a/LayoutTests/platform/gtk/editing/selection/4776665-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4776665-expected.txt
@@ -4,11 +4,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 585x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 585x17
           text run at (0,0) width 217: "This tests for a caret painting bug. "
           text run at (217,0) width 368: "You should not see a caret in the editable subframe below."
-      RenderBlock (anonymous) at (0,34) size 784x154
+      RenderBlock (anonymous) at (0,33) size 784x154
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
diff --git a/LayoutTests/platform/gtk/editing/selection/4818145-expected.png b/LayoutTests/platform/gtk/editing/selection/4818145-expected.png
new file mode 100644
index 0000000..666ef2b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4818145-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4818145-expected.txt b/LayoutTests/platform/gtk/editing/selection/4818145-expected.txt
index a586146..b751c09 100644
--- a/LayoutTests/platform/gtk/editing/selection/4818145-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4818145-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 734x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 734x34
           text run at (0,0) width 509: "This tries to select a table inside an editable region whose content is not editable. "
           text run at (509,0) width 225: "The table and its contents should be"
-          text run at (0,18) width 54: "selected."
-      RenderBlock {DIV} at (0,52) size 784x28
-        RenderTable {TABLE} at (0,0) size 31x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 29x26
-            RenderTableRow {TR} at (0,2) size 29x22
-              RenderTableCell {TD} at (2,2) size 25x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 21x19
+          text run at (0,17) width 54: "selected."
+      RenderBlock {DIV} at (0,50) size 784x27
+        RenderTable {TABLE} at (0,0) size 31x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 29x25
+            RenderTableRow {TR} at (0,2) size 29x21
+              RenderTableCell {TD} at (2,2) size 25x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 21x17
                   text run at (2,2) width 21: "foo"
 selection start: position 0 of child 0 {TABLE} of child 2 {DIV} of body
 selection end:   position 1 of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4866671-expected.png b/LayoutTests/platform/gtk/editing/selection/4866671-expected.png
new file mode 100644
index 0000000..bed494c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4866671-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4866671-expected.txt b/LayoutTests/platform/gtk/editing/selection/4866671-expected.txt
index c1d4185..4ea245f 100644
--- a/LayoutTests/platform/gtk/editing/selection/4866671-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4866671-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 612x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 612x17
           text run at (0,0) width 432: "This tests caret movement through -webkit-user-select:none content. "
           text run at (432,0) width 180: "The caret should move over "
-        RenderInline {B} at (0,0) size 24x19
-          RenderText {#text} at (612,0) size 24x19
+        RenderInline {B} at (0,0) size 24x17
+          RenderText {#text} at (612,0) size 24x17
             text run at (612,0) width 24: "yyy"
-        RenderText {#text} at (636,0) size 4x19
+        RenderText {#text} at (636,0) size 4x17
           text run at (636,0) width 4: "."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 8x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 8x17
           text run at (0,0) width 8: "x"
-        RenderInline {SPAN} at (0,0) size 24x19
-          RenderText {#text} at (8,0) size 24x19
+        RenderInline {SPAN} at (0,0) size 24x17
+          RenderText {#text} at (8,0) size 24x17
             text run at (8,0) width 24: "yyy"
-        RenderText {#text} at (32,0) size 8x19
+        RenderText {#text} at (32,0) size 8x17
           text run at (32,0) width 8: "x"
 caret: position 0 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4889598-expected.png b/LayoutTests/platform/gtk/editing/selection/4889598-expected.png
new file mode 100644
index 0000000..f44c2cf
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4889598-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4889598-expected.txt b/LayoutTests/platform/gtk/editing/selection/4889598-expected.txt
index c1d625a..1049574 100644
--- a/LayoutTests/platform/gtk/editing/selection/4889598-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4889598-expected.txt
@@ -41,25 +41,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 784x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 784x17
           text run at (0,0) width 784: "This tests for a bug moving down by a line from a line just above a ToDo, and moving up by a line from just below a ToDo."
-      RenderBlock {DIV} at (0,34) size 784x64
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 279x19
+      RenderBlock {DIV} at (0,33) size 784x61
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 279x17
             text run at (0,0) width 279: "Click anywhere in this line and move down."
-        RenderTable {TABLE} at (0,18) size 335x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 333x26
-            RenderTableRow {TR} at (0,2) size 333x22
-              RenderTableCell {TD} at (2,2) size 329x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 63x19
+        RenderTable {TABLE} at (0,17) size 335x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 333x25
+            RenderTableRow {TR} at (0,2) size 333x21
+              RenderTableCell {TD} at (2,2) size 329x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 63x17
                   text run at (2,2) width 63: "The caret "
-                RenderInline {SPAN} at (0,0) size 42x19 [color=#0000FF]
-                  RenderText {#text} at (65,2) size 42x19
+                RenderInline {SPAN} at (0,0) size 42x17 [color=#0000FF]
+                  RenderText {#text} at (65,2) size 42x17
                     text run at (65,2) width 42: "should"
-                RenderText {#text} at (107,2) size 220x19
+                RenderText {#text} at (107,2) size 220x17
                   text run at (107,2) width 220: " always go into the editable region."
-        RenderBlock {DIV} at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 259x19
+        RenderBlock {DIV} at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 259x17
             text run at (0,0) width 259: "Click anywhere in this line and move up."
 caret: position 6 of child 0 {#text} of child 1 {SPAN} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 3 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.png b/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.png
new file mode 100644
index 0000000..6b1e6be
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.txt
index 001f8e7..da268f5 100644
--- a/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4895428-2-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 775x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 775x51
           text run at (0,0) width 775: "This tests to see if a mouse click inside an editable, focusable node focuses that node. Normally, we focus a node on mouse"
-          text run at (0,18) width 765: "down, but to make it easier to drag selections containing editable pieces we delay focus until mouse up. The editable table"
-          text run at (0,36) width 440: "cell should be focused and you should see a 'Success' message below."
-      RenderBlock {DIV} at (0,70) size 784x28
-        RenderTable {TABLE} at (0,0) size 143x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 141x26
-            RenderTableRow {TR} at (0,2) size 141x22
-              RenderTableCell {TD} at (2,2) size 82x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 78x19
+          text run at (0,17) width 765: "down, but to make it easier to drag selections containing editable pieces we delay focus until mouse up. The editable table"
+          text run at (0,34) width 440: "cell should be focused and you should see a 'Success' message below."
+      RenderBlock {DIV} at (0,67) size 784x27
+        RenderTable {TABLE} at (0,0) size 143x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 141x25
+            RenderTableRow {TR} at (0,2) size 141x21
+              RenderTableCell {TD} at (2,2) size 82x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 78x17
                   text run at (2,2) width 78: "non-editable"
-              RenderTableCell {TD} at (86,2) size 53x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 49x19
+              RenderTableCell {TD} at (86,2) size 53x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 49x17
                   text run at (2,2) width 49: "editable"
-      RenderBlock {DIV} at (0,98) size 784x18
-        RenderBR {BR} at (0,0) size 0x19
-      RenderBlock {UL} at (0,132) size 784x18
-        RenderListItem {LI} at (40,0) size 744x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 50x19
+      RenderBlock {DIV} at (0,94) size 784x17
+        RenderBR {BR} at (0,0) size 0x17
+      RenderBlock {UL} at (0,127) size 784x17
+        RenderListItem {LI} at (40,0) size 744x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 50x17
             text run at (0,0) width 50: "Success"
 caret: position 4 of child 0 {#text} of child 1 {TD} of child 0 {TR} of child 0 {TBODY} of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.png b/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.png
index 0bf0fc3..ddfe4bc 100644
--- a/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.txt
index 3df89e6..07725ab 100644
--- a/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4895428-3-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 782x37
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 782x34
           text run at (0,0) width 782: "We delay focus until mouse up if the mouse down occurs inside a focusable node that is inside an already focused node. But"
-          text run at (0,18) width 533: "we shouldn't delay focus unless the mouse down occurs in an already focused node. "
-          text run at (533,18) width 249: "The text field below should be focused."
-        RenderInline {B} at (0,0) size 654x19
-          RenderText {#text} at (0,36) size 654x19
-            text run at (0,36) width 654: "To run manually, select everything from 'foo' though 'baz', then mouse down inside the text field."
-      RenderBlock {DIV} at (0,70) size 784x64
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 533: "we shouldn't delay focus unless the mouse down occurs in an already focused node. "
+          text run at (533,17) width 249: "The text field below should be focused."
+        RenderInline {B} at (0,0) size 654x17
+          RenderText {#text} at (0,34) size 654x17
+            text run at (0,34) width 654: "To run manually, select everything from 'foo' though 'baz', then mouse down inside the text field."
+      RenderBlock {DIV} at (0,67) size 784x61
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock (anonymous) at (0,18) size 784x28
-          RenderTextControl {INPUT} at (2,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderBlock {DIV} at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,17) size 784x27
+          RenderTextControl {INPUT} at (2,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBlock {DIV} at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
-layer at (13,101) size 186x18
-  RenderBlock {DIV} at (3,3) size 186x18
+layer at (13,97) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
 caret: position 0 of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.png b/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.png
index 0f0380a..f1e4839 100644
--- a/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.txt
index 3395a20..0b6aba2 100644
--- a/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4932260-1-expected.txt
@@ -8,13 +8,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 429x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 429x17
           text run at (0,0) width 429: "This tests for a bug where images would act as sentence boundaries."
-      RenderBlock {DIV} at (0,34) size 784x106
-        RenderText {#text} at (0,88) size 128x19
-          text run at (0,88) width 128: "The caret should be "
+      RenderBlock {DIV} at (0,33) size 784x106
+        RenderText {#text} at (0,89) size 128x17
+          text run at (0,89) width 128: "The caret should be "
         RenderImage {IMG} at (128,0) size 76x103
-        RenderText {#text} at (204,88) size 206x19
-          text run at (204,88) width 206: "at the beginning of this sentence."
+        RenderText {#text} at (204,89) size 206x17
+          text run at (204,89) width 206: "at the beginning of this sentence."
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.png b/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.png
index 593b483..2028b5c 100644
--- a/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.txt
index 9d08899..1b4f26b 100644
--- a/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4932260-2-expected.txt
@@ -8,13 +8,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 408x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 408x17
           text run at (0,0) width 408: "This tests for a bug where images would act as word boundaries."
-      RenderBlock {DIV} at (0,34) size 784x106
-        RenderText {#text} at (0,88) size 25x19
-          text run at (0,88) width 25: "The"
+      RenderBlock {DIV} at (0,33) size 784x106
+        RenderText {#text} at (0,89) size 25x17
+          text run at (0,89) width 25: "The"
         RenderImage {IMG} at (25,0) size 76x103
-        RenderText {#text} at (101,88) size 365x19
-          text run at (101,88) width 365: "caret should be just after the second word in this sentence."
+        RenderText {#text} at (101,89) size 365x17
+          text run at (101,89) width 365: "caret should be just after the second word in this sentence."
 caret: position 5 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.png b/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.png
index 0ff4fdc..7f60804 100644
--- a/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.txt
index 8fbbe3b..b652a5e 100644
--- a/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4932260-3-expected.txt
@@ -8,13 +8,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 408x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 408x17
           text run at (0,0) width 408: "This tests for a bug where images would act as word boundaries."
-      RenderBlock {DIV} at (0,34) size 784x106
-        RenderText {#text} at (0,88) size 385x19
-          text run at (0,88) width 385: "The caret should be just before the second to last word in this"
+      RenderBlock {DIV} at (0,33) size 784x106
+        RenderText {#text} at (0,89) size 385x17
+          text run at (0,89) width 385: "The caret should be just before the second to last word in this"
         RenderImage {IMG} at (385,0) size 76x103
-        RenderText {#text} at (461,88) size 58x19
-          text run at (461,88) width 58: "sentence."
+        RenderText {#text} at (461,89) size 58x17
+          text run at (461,89) width 58: "sentence."
 caret: position 59 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4947387-expected.png b/LayoutTests/platform/gtk/editing/selection/4947387-expected.png
new file mode 100644
index 0000000..211db91
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4947387-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4947387-expected.txt b/LayoutTests/platform/gtk/editing/selection/4947387-expected.txt
index d9cc2b3..cf4dc64 100644
--- a/LayoutTests/platform/gtk/editing/selection/4947387-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4947387-expected.txt
@@ -17,19 +17,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x72
-        RenderText {#text} at (0,0) size 775x73
+      RenderBlock {P} at (0,0) size 784x68
+        RenderText {#text} at (0,0) size 775x68
           text run at (0,0) width 419: "This tests moveTo{Beginning, End}OfLineAndModifySelection. "
           text run at (419,0) width 343: "It should operate on line boundaries and not paragraph"
-          text run at (0,18) width 77: "boundaries. "
-          text run at (77,18) width 684: "To run it manually, click inside the first line of the editable region below and do Command+Shift+Left/Right"
-          text run at (0,36) width 606: "Arrow, the selection should extend to the start/end of the line, not the start/end of the paragraph. "
-          text run at (606,36) width 169: "Also, moveTo{Beginning,"
-          text run at (0,54) width 335: "End}OfParagraphAndModifySelection should work."
-      RenderBlock {DIV} at (0,88) size 200x36
-        RenderText {#text} at (0,0) size 189x37
+          text run at (0,17) width 77: "boundaries. "
+          text run at (77,17) width 684: "To run it manually, click inside the first line of the editable region below and do Command+Shift+Left/Right"
+          text run at (0,34) width 606: "Arrow, the selection should extend to the start/end of the line, not the start/end of the paragraph. "
+          text run at (606,34) width 169: "Also, moveTo{Beginning,"
+          text run at (0,51) width 335: "End}OfParagraphAndModifySelection should work."
+      RenderBlock {DIV} at (0,84) size 200x34
+        RenderText {#text} at (0,0) size 189x34
           text run at (0,0) width 185: "The quick brown fox jumped"
           text run at (185,0) width 4: " "
-          text run at (0,18) width 158: "over the lazy brown dog."
+          text run at (0,17) width 158: "over the lazy brown dog."
 selection start: position 0 of child 0 {#text} of child 2 {DIV} of body
 selection end:   position 51 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4960116-expected.png b/LayoutTests/platform/gtk/editing/selection/4960116-expected.png
new file mode 100644
index 0000000..f64e4e5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4960116-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4960116-expected.txt b/LayoutTests/platform/gtk/editing/selection/4960116-expected.txt
index 6aa34c9..3d58697 100644
--- a/LayoutTests/platform/gtk/editing/selection/4960116-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4960116-expected.txt
@@ -3,11 +3,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 770x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 770x51
           text run at (0,0) width 764: "This tests for a crash when performing a selection modification, when a node containing the selection was made invisible,"
-          text run at (0,18) width 363: "and when there is nowhere visible for the selection to go. "
-          text run at (363,18) width 407: "For example, set the caret inside of an editable div, and make the"
-          text run at (0,36) width 492: "div invisible, then try to move the selection forward/backward by a paragraph."
-      RenderBlock {DIV} at (0,70) size 784x18
+          text run at (0,17) width 363: "and when there is nowhere visible for the selection to go. "
+          text run at (363,17) width 407: "For example, set the caret inside of an editable div, and make the"
+          text run at (0,34) width 492: "div invisible, then try to move the selection forward/backward by a paragraph."
+      RenderBlock {DIV} at (0,67) size 784x17
 caret: position 0 of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4960137-expected.png b/LayoutTests/platform/gtk/editing/selection/4960137-expected.png
new file mode 100644
index 0000000..54f6af1
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4960137-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4960137-expected.txt b/LayoutTests/platform/gtk/editing/selection/4960137-expected.txt
index daca72c..d71e07a 100644
--- a/LayoutTests/platform/gtk/editing/selection/4960137-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4960137-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 659x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 659x17
           text run at (0,0) width 659: "This tests for an ASSERTion failure when setting the main frame's selection inside a node in a subframe."
-      RenderBlock (anonymous) at (0,34) size 784x154
+      RenderBlock (anonymous) at (0,33) size 784x154
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134
-                RenderText {#text} at (0,0) size 72x19
+                RenderText {#text} at (0,0) size 72x17
                   text run at (0,0) width 72: "hello world"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/selection/4975120-expected.png b/LayoutTests/platform/gtk/editing/selection/4975120-expected.png
index 7d5e8d1..17371a5 100644
--- a/LayoutTests/platform/gtk/editing/selection/4975120-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/4975120-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4975120-expected.txt b/LayoutTests/platform/gtk/editing/selection/4975120-expected.txt
index 224f76d..49aae6f 100644
--- a/LayoutTests/platform/gtk/editing/selection/4975120-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4975120-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 784x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 784x34
           text run at (0,0) width 784: "This tests for a bug that caused the parent of an active frame to paint as though it were active when its window becomes key."
-          text run at (0,18) width 776: "To run manually, make another window active and then make this window active. Only the subframe should appear active."
-      RenderBlock (anonymous) at (0,52) size 784x182
-        RenderTextControl {INPUT} at (2,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderBR {BR} at (196,20) size 0x0
-        RenderPartObject {IFRAME} at (0,28) size 304x154 [border: (2px inset #000000)]
+          text run at (0,17) width 776: "To run manually, make another window active and then make this window active. Only the subframe should appear active."
+      RenderBlock (anonymous) at (0,50) size 784x181
+        RenderTextControl {INPUT} at (2,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBR {BR} at (195,19) size 0x0
+        RenderPartObject {IFRAME} at (0,27) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
@@ -18,9 +18,9 @@
               RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
-layer at (13,65) size 186x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 186x18
-    RenderText {#text} at (0,0) size 22x19
+layer at (13,63) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
+    RenderText {#text} at (0,0) size 22x17
       text run at (0,0) width 22: "foo"
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 3 {INPUT} of body
 selection end:   position 3 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 3 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/4983858-expected.png b/LayoutTests/platform/gtk/editing/selection/4983858-expected.png
new file mode 100644
index 0000000..58f99c0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/4983858-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/4983858-expected.txt b/LayoutTests/platform/gtk/editing/selection/4983858-expected.txt
index 4a56fc0..15edf32 100644
--- a/LayoutTests/platform/gtk/editing/selection/4983858-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/4983858-expected.txt
@@ -3,16 +3,16 @@
 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 784x36
-        RenderText {#text} at (0,0) size 772x37
+      RenderBlock (anonymous) at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 772x34
           text run at (0,0) width 570: "This tests for a bug where selecting a word would select the line break and word before it. "
           text run at (570,0) width 135: "Only the word in the "
           text run at (705,0) width 63: "paragraph"
           text run at (768,0) width 4: " "
-          text run at (0,18) width 162: "below should be selected:"
+          text run at (0,17) width 162: "below should be selected:"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,36) size 784x18
-        RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,34) size 784x17
+        RenderText {#text} at (0,0) size 21x17
           text run at (0,0) width 21: "foo"
 selection start: position 0 of child 0 {#text} of child 3 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.png
new file mode 100644
index 0000000..c66051f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.txt
index c8a72b1..59e2f84 100644
--- a/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5007143-2-expected.txt
@@ -3,22 +3,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 759x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 759x34
           text run at (0,0) width 759: "This tests for a bug when moving the caret forward by a line from a range selection with a horizontal position for vertical"
-          text run at (0,18) width 136: "arrow navigation set. "
-          text run at (136,18) width 601: "To match TextEdit, the caret should be between the second and third 'x's in the forth paragraph."
-      RenderBlock {DIV} at (0,52) size 784x72
-        RenderText {#text} at (0,0) size 24x19
+          text run at (0,17) width 136: "arrow navigation set. "
+          text run at (136,17) width 601: "To match TextEdit, the caret should be between the second and third 'x's in the forth paragraph."
+      RenderBlock {DIV} at (0,50) size 784x68
+        RenderText {#text} at (0,0) size 24x17
           text run at (0,0) width 24: "xxx"
-        RenderBR {BR} at (24,15) size 0x0
-        RenderText {#text} at (0,18) size 24x19
-          text run at (0,18) width 24: "xxx"
-        RenderBR {BR} at (24,33) size 0x0
-        RenderText {#text} at (0,36) size 8x19
-          text run at (0,36) width 8: "x"
-        RenderBR {BR} at (8,51) size 0x0
-        RenderText {#text} at (0,54) size 24x19
-          text run at (0,54) width 24: "xxx"
-        RenderBR {BR} at (24,69) size 0x0
+        RenderBR {BR} at (24,14) size 0x0
+        RenderText {#text} at (0,17) size 24x17
+          text run at (0,17) width 24: "xxx"
+        RenderBR {BR} at (24,31) size 0x0
+        RenderText {#text} at (0,34) size 8x17
+          text run at (0,34) width 8: "x"
+        RenderBR {BR} at (8,48) size 0x0
+        RenderText {#text} at (0,51) size 24x17
+          text run at (0,51) width 24: "xxx"
+        RenderBR {BR} at (24,65) size 0x0
 caret: position 3 of child 6 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5007143-expected.png b/LayoutTests/platform/gtk/editing/selection/5007143-expected.png
new file mode 100644
index 0000000..d3b8834
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5007143-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5007143-expected.txt b/LayoutTests/platform/gtk/editing/selection/5007143-expected.txt
index 46bae8f..fff635b 100644
--- a/LayoutTests/platform/gtk/editing/selection/5007143-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5007143-expected.txt
@@ -3,22 +3,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 764x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 764x51
           text run at (0,0) width 521: "This tests for a bug when moving the caret forward/backward by a line/paragraph. "
           text run at (521,0) width 220: "The horizontal position of the caret"
-          text run at (0,18) width 583: "would be lost when moving the caret into an empty paragraph, when it should be preserved. "
-          text run at (583,18) width 181: "The caret should be between"
-          text run at (0,36) width 289: "the first and second 'x's in the third paragraph."
-      RenderBlock {DIV} at (0,70) size 784x72
-        RenderText {#text} at (0,0) size 24x19
+          text run at (0,17) width 583: "would be lost when moving the caret into an empty paragraph, when it should be preserved. "
+          text run at (583,17) width 181: "The caret should be between"
+          text run at (0,34) width 289: "the first and second 'x's in the third paragraph."
+      RenderBlock {DIV} at (0,67) size 784x68
+        RenderText {#text} at (0,0) size 24x17
           text run at (0,0) width 24: "xxx"
-        RenderBR {BR} at (24,15) size 0x0
-        RenderText {#text} at (0,18) size 24x19
-          text run at (0,18) width 24: "xxx"
-        RenderBR {BR} at (24,33) size 0x0
-        RenderBR {BR} at (0,36) size 0x19
-        RenderText {#text} at (0,54) size 24x19
-          text run at (0,54) width 24: "xxx"
-        RenderBR {BR} at (24,69) size 0x0
+        RenderBR {BR} at (24,14) size 0x0
+        RenderText {#text} at (0,17) size 24x17
+          text run at (0,17) width 24: "xxx"
+        RenderBR {BR} at (24,31) size 0x0
+        RenderBR {BR} at (0,34) size 0x17
+        RenderText {#text} at (0,51) size 24x17
+          text run at (0,51) width 24: "xxx"
+        RenderBR {BR} at (24,65) size 0x0
 caret: position 2 of child 6 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.png
new file mode 100644
index 0000000..a255253
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.txt
index b85c2ee..bd2051b 100644
--- a/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5057506-2-expected.txt
@@ -1,30 +1,30 @@
 ALERT: 34
-ALERT: 108.5
+ALERT: 103.5
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x72
-        RenderText {#text} at (0,0) size 779x73
+      RenderBlock {P} at (0,0) size 784x68
+        RenderText {#text} at (0,0) size 779x68
           text run at (0,0) width 489: "This tests triple clicking after the last character in the last cell of a block table. "
           text run at (489,0) width 278: "The paragraph break (the space between the"
-          text run at (0,18) width 490: "last character and the first character in the next paragraph) should be selected. "
-          text run at (490,18) width 289: "Selection painting problems might prevent the"
-          text run at (0,36) width 389: "paragraph break from appearing as selected even though it is. "
-          text run at (389,36) width 387: "To test manually, triple click inside the table cell, after the last"
-          text run at (0,54) width 157: "character, and hit delete. "
-          text run at (157,54) width 288: "Afterward, the table should contain only 'bar'."
-      RenderBlock {DIV} at (0,88) size 784x46
-        RenderTable {TABLE} at (0,0) size 110x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 108x26
-            RenderTableRow {TR} at (0,2) size 108x22
-              RenderTableCell {TD} at (2,2) size 104x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderInline {SPAN} at (0,0) size 21x19
-                  RenderText {#text} at (2,2) size 21x19
+          text run at (0,17) width 490: "last character and the first character in the next paragraph) should be selected. "
+          text run at (490,17) width 289: "Selection painting problems might prevent the"
+          text run at (0,34) width 389: "paragraph break from appearing as selected even though it is. "
+          text run at (389,34) width 387: "To test manually, triple click inside the table cell, after the last"
+          text run at (0,51) width 157: "character, and hit delete. "
+          text run at (157,51) width 288: "Afterward, the table should contain only 'bar'."
+      RenderBlock {DIV} at (0,84) size 784x44
+        RenderTable {TABLE} at (0,0) size 110x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 108x25
+            RenderTableRow {TR} at (0,2) size 108x21
+              RenderTableCell {TD} at (2,2) size 104x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderInline {SPAN} at (0,0) size 21x17
+                  RenderText {#text} at (2,2) size 21x17
                     text run at (2,2) width 21: "foo"
-        RenderBlock {DIV} at (0,28) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock {DIV} at (0,27) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 2 {DIV} of body
 selection end:   position 0 of child 3 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5057506-expected.png b/LayoutTests/platform/gtk/editing/selection/5057506-expected.png
new file mode 100644
index 0000000..6d4a7f2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5057506-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5057506-expected.txt b/LayoutTests/platform/gtk/editing/selection/5057506-expected.txt
index 2b26aa0..d1a3299 100644
--- a/LayoutTests/platform/gtk/editing/selection/5057506-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5057506-expected.txt
@@ -1,30 +1,30 @@
 ALERT: 34
-ALERT: 108.5
+ALERT: 103.5
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x72
-        RenderText {#text} at (0,0) size 779x73
+      RenderBlock {P} at (0,0) size 784x68
+        RenderText {#text} at (0,0) size 779x68
           text run at (0,0) width 500: "This tests double clicking after the last character in the last cell of a block table. "
           text run at (500,0) width 278: "The paragraph break (the space between the"
-          text run at (0,18) width 490: "last character and the first character in the next paragraph) should be selected. "
-          text run at (490,18) width 289: "Selection painting problems might prevent the"
-          text run at (0,36) width 389: "paragraph break from appearing as selected even though it is. "
-          text run at (389,36) width 373: "To test manually, double click inside the table cell, after the"
-          text run at (0,54) width 182: "last character, and hit delete. "
-          text run at (182,54) width 277: "Afterward, the table should contain 'foobar'."
-      RenderBlock {DIV} at (0,88) size 784x46
-        RenderTable {TABLE} at (0,0) size 110x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 108x26
-            RenderTableRow {TR} at (0,2) size 108x22
-              RenderTableCell {TD} at (2,2) size 104x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderInline {SPAN} at (0,0) size 21x19
-                  RenderText {#text} at (2,2) size 21x19
+          text run at (0,17) width 490: "last character and the first character in the next paragraph) should be selected. "
+          text run at (490,17) width 289: "Selection painting problems might prevent the"
+          text run at (0,34) width 389: "paragraph break from appearing as selected even though it is. "
+          text run at (389,34) width 373: "To test manually, double click inside the table cell, after the"
+          text run at (0,51) width 182: "last character, and hit delete. "
+          text run at (182,51) width 277: "Afterward, the table should contain 'foobar'."
+      RenderBlock {DIV} at (0,84) size 784x44
+        RenderTable {TABLE} at (0,0) size 110x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 108x25
+            RenderTableRow {TR} at (0,2) size 108x21
+              RenderTableCell {TD} at (2,2) size 104x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderInline {SPAN} at (0,0) size 21x17
+                  RenderText {#text} at (2,2) size 21x17
                     text run at (2,2) width 21: "foo"
-        RenderBlock {DIV} at (0,28) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock {DIV} at (0,27) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
 selection start: position 3 of child 0 {#text} of child 0 {SPAN} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 2 {DIV} of body
 selection end:   position 0 of child 3 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.png b/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.png
new file mode 100644
index 0000000..3c1ba31
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.txt
index 41092c0..4462da3 100644
--- a/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5076323-1-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 782x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 782x34
           text run at (0,0) width 782: "This tests for a bug where moving the selection to the end of the document would move it outside of an editable region if the"
-          text run at (0,18) width 219: "selection started just before a table."
-      RenderBlock {DIV} at (0,52) size 784x44
-        RenderTable {TABLE} at (0,0) size 29x26 [border: (1px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (1,1) size 27x24
-            RenderTableRow {TR} at (0,2) size 27x20
-              RenderTableCell {TD} at (2,2) size 23x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 21x19
+          text run at (0,17) width 219: "selection started just before a table."
+      RenderBlock {DIV} at (0,50) size 784x42
+        RenderTable {TABLE} at (0,0) size 29x25 [border: (1px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (1,1) size 27x23
+            RenderTableRow {TR} at (0,2) size 27x19
+              RenderTableCell {TD} at (2,2) size 23x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 21x17
                   text run at (1,1) width 21: "foo"
-        RenderBlock (anonymous) at (0,26) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock (anonymous) at (0,25) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
-      RenderBlock {P} at (0,112) size 784x18
-        RenderText {#text} at (0,0) size 563x19
+      RenderBlock {P} at (0,108) size 784x17
+        RenderText {#text} at (0,0) size 563x17
           text run at (0,0) width 563: "In the above editable region, you should see 'foo' in the bordered table and 'bar' outside it."
 caret: position 3 of child 1 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.png
new file mode 100644
index 0000000..a4a9098
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.txt
index e029c5f..a79c95c 100644
--- a/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5076323-2-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 632x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 632x17
           text run at (0,0) width 632: "This tests caret painting before a table, you should see a caret before the table containing 'foo' above."
-      RenderBlock {DIV} at (0,34) size 784x26
-        RenderTable {TABLE} at (0,0) size 29x26 [border: (1px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (1,1) size 27x24
-            RenderTableRow {TR} at (0,2) size 27x20
-              RenderTableCell {TD} at (2,2) size 23x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x25
+        RenderTable {TABLE} at (0,0) size 29x25 [border: (1px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (1,1) size 27x23
+            RenderTableRow {TR} at (0,2) size 27x19
+              RenderTableCell {TD} at (2,2) size 23x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 21x17
                   text run at (1,1) width 21: "foo"
 caret: position 0 of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.png b/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.png
new file mode 100644
index 0000000..dc4e6d0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.txt
index 5e49797..7cf6523 100644
--- a/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5076323-3-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 608x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 608x17
           text run at (0,0) width 608: "This tests caret painting after a table, you should see a caret after the table containing 'foo' above."
-      RenderBlock {DIV} at (0,34) size 784x26
-        RenderTable {TABLE} at (0,0) size 29x26 [border: (1px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (1,1) size 27x24
-            RenderTableRow {TR} at (0,2) size 27x20
-              RenderTableCell {TD} at (2,2) size 23x20 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x25
+        RenderTable {TABLE} at (0,0) size 29x25 [border: (1px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (1,1) size 27x23
+            RenderTableRow {TR} at (0,2) size 27x19
+              RenderTableCell {TD} at (2,2) size 23x19 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 21x17
                   text run at (1,1) width 21: "foo"
 caret: position 1 of child 0 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.png b/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.png
new file mode 100644
index 0000000..973617a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.txt
index 7cfc85a..7cec4d6 100644
--- a/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5081257-1-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 784x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 784x51
           text run at (0,0) width 727: "This tests for setting the selection at a position inside the document when the document node is non-editable and the"
           text run at (727,0) width 4: " "
-          text run at (0,18) width 251: "document's body element *is* editable. "
-          text run at (251,18) width 532: "The expected behavior is to create a selection at [body, 0]. There should be a caret at"
-          text run at (783,18) width 1: " "
-          text run at (0,36) width 163: "the start of this paragraph."
+          text run at (0,17) width 251: "document's body element *is* editable. "
+          text run at (251,17) width 532: "The expected behavior is to create a selection at [body, 0]. There should be a caret at"
+          text run at (783,17) width 1: " "
+          text run at (0,34) width 163: "the start of this paragraph."
 caret: position 0 of child 0 {#text} of child 1 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.png
new file mode 100644
index 0000000..cbfd79f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.txt
index 7f29cf1..d603e44 100644
--- a/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5081257-2-expected.txt
@@ -3,10 +3,10 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 767x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 767x34
           text run at (0,0) width 512: "This tests for setting the selection at a position inside a document in designMode. "
           text run at (512,0) width 251: "You should see a caret at the start of the"
           text run at (763,0) width 4: " "
-          text run at (0,18) width 36: "body."
+          text run at (0,17) width 36: "body."
 caret: position 0 of child 0 {#text} of child 1 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5099303-expected.png b/LayoutTests/platform/gtk/editing/selection/5099303-expected.png
new file mode 100644
index 0000000..58cac64
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5099303-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5099303-expected.txt b/LayoutTests/platform/gtk/editing/selection/5099303-expected.txt
index 77c79e0..0645af3 100644
--- a/LayoutTests/platform/gtk/editing/selection/5099303-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5099303-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 758x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 758x17
           text run at (0,0) width 439: "This tests extending an editable selection across non-editable content. "
           text run at (439,0) width 319: "Everything in the region below should be selected."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 8x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 8x17
           text run at (0,0) width 8: "x"
-        RenderInline {SPAN} at (0,0) size 16x19
-          RenderText {#text} at (8,0) size 16x19
+        RenderInline {SPAN} at (0,0) size 16x17
+          RenderText {#text} at (8,0) size 16x17
             text run at (8,0) width 16: "xx"
-        RenderText {#text} at (24,0) size 8x19
+        RenderText {#text} at (24,0) size 8x17
           text run at (24,0) width 8: "x"
 selection start: position 0 of child 0 {#text} of child 2 {DIV} of body
 selection end:   position 1 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.png b/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.png
new file mode 100644
index 0000000..e78cf73
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.txt
index 450760a..549c595 100644
--- a/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-1-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 724x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 724x34
           text run at (0,0) width 446: "This tests clicking to place a caret in the padding of an editable region. "
           text run at (446,0) width 278: "The eventSender clicks to the left of the first"
-          text run at (0,18) width 650: "paragraph in the left padding of the editable region and the caret should be at the start of that paragraph."
-      RenderBlock {DIV} at (0,52) size 784x116 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (26,26) size 732x18
-          RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 650: "paragraph in the left padding of the editable region and the caret should be at the start of that paragraph."
+      RenderBlock {DIV} at (0,50) size 784x113 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (26,26) size 732x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "Paragraph One."
-        RenderTable {TABLE} at (26,44) size 93x28 [border: (1px solid #BBBBBB)]
-          RenderTableSection {TBODY} at (1,1) size 91x26
-            RenderTableRow {TR} at (0,2) size 91x22 [border: (1px solid #BBBBBB)]
-              RenderTableCell {TD} at (2,2) size 8x22 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 4x19
+        RenderTable {TABLE} at (26,43) size 93x27 [border: (1px solid #BBBBBB)]
+          RenderTableSection {TBODY} at (1,1) size 91x25
+            RenderTableRow {TR} at (0,2) size 91x21 [border: (1px solid #BBBBBB)]
+              RenderTableCell {TD} at (2,2) size 8x21 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 4x17
                   text run at (2,2) width 4: " "
-              RenderTableCell {TD} at (12,2) size 77x22 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 73x19
+              RenderTableCell {TD} at (12,2) size 77x21 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 73x17
                   text run at (2,2) width 73: "ToDo One."
-        RenderBlock {DIV} at (26,72) size 732x18
-          RenderText {#text} at (0,0) size 102x19
+        RenderBlock {DIV} at (26,70) size 732x17
+          RenderText {#text} at (0,0) size 102x17
             text run at (0,0) width 102: "Paragraph Two."
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.png
new file mode 100644
index 0000000..5e9d26c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.txt
index 7856bf0..a28a081 100644
--- a/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-2-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 777x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 777x34
           text run at (0,0) width 446: "This tests clicking to place a caret in the padding of an editable region. "
           text run at (446,0) width 331: "The eventSender clicks to the left of the ToDo in the"
-          text run at (0,18) width 504: "left padding of the editable region and the caret should be just before that ToDo."
-      RenderBlock {DIV} at (0,52) size 784x116 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (26,26) size 732x18
-          RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 504: "left padding of the editable region and the caret should be just before that ToDo."
+      RenderBlock {DIV} at (0,50) size 784x113 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (26,26) size 732x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "Paragraph One."
-        RenderTable {TABLE} at (26,44) size 93x28 [border: (1px solid #BBBBBB)]
-          RenderTableSection {TBODY} at (1,1) size 91x26
-            RenderTableRow {TR} at (0,2) size 91x22 [border: (1px solid #BBBBBB)]
-              RenderTableCell {TD} at (2,2) size 8x22 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 4x19
+        RenderTable {TABLE} at (26,43) size 93x27 [border: (1px solid #BBBBBB)]
+          RenderTableSection {TBODY} at (1,1) size 91x25
+            RenderTableRow {TR} at (0,2) size 91x21 [border: (1px solid #BBBBBB)]
+              RenderTableCell {TD} at (2,2) size 8x21 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 4x17
                   text run at (2,2) width 4: " "
-              RenderTableCell {TD} at (12,2) size 77x22 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 73x19
+              RenderTableCell {TD} at (12,2) size 77x21 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 73x17
                   text run at (2,2) width 73: "ToDo One."
-        RenderBlock {DIV} at (26,72) size 732x18
-          RenderText {#text} at (0,0) size 102x19
+        RenderBlock {DIV} at (26,70) size 732x17
+          RenderText {#text} at (0,0) size 102x17
             text run at (0,0) width 102: "Paragraph Two."
 caret: position 0 of child 3 {TABLE} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.png b/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.png
new file mode 100644
index 0000000..5af3d21
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.txt
index 18e5c0f..7d0cde1 100644
--- a/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-3-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 774x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 774x34
           text run at (0,0) width 446: "This tests clicking to place a caret in the padding of an editable region. "
           text run at (446,0) width 328: "The eventSender clicks in the left padding to the left"
-          text run at (0,18) width 468: "of the third paragraph and the caret should be at the start of that paragraph."
-      RenderBlock {DIV} at (0,52) size 784x116 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (26,26) size 732x18
-          RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 468: "of the third paragraph and the caret should be at the start of that paragraph."
+      RenderBlock {DIV} at (0,50) size 784x113 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (26,26) size 732x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "Paragraph One."
-        RenderTable {TABLE} at (26,44) size 93x28 [border: (1px solid #BBBBBB)]
-          RenderTableSection {TBODY} at (1,1) size 91x26
-            RenderTableRow {TR} at (0,2) size 91x22 [border: (1px solid #BBBBBB)]
-              RenderTableCell {TD} at (2,2) size 8x22 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 4x19
+        RenderTable {TABLE} at (26,43) size 93x27 [border: (1px solid #BBBBBB)]
+          RenderTableSection {TBODY} at (1,1) size 91x25
+            RenderTableRow {TR} at (0,2) size 91x21 [border: (1px solid #BBBBBB)]
+              RenderTableCell {TD} at (2,2) size 8x21 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 4x17
                   text run at (2,2) width 4: " "
-              RenderTableCell {TD} at (12,2) size 77x22 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 73x19
+              RenderTableCell {TD} at (12,2) size 77x21 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 73x17
                   text run at (2,2) width 73: "ToDo One."
-        RenderBlock {DIV} at (26,72) size 732x18
-          RenderText {#text} at (0,0) size 102x19
+        RenderBlock {DIV} at (26,70) size 732x17
+          RenderText {#text} at (0,0) size 102x17
             text run at (0,0) width 102: "Paragraph Two."
 caret: position 0 of child 0 {#text} of child 5 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.png b/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.png
new file mode 100644
index 0000000..26d75b2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.txt b/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.txt
index ad4006c..8717731 100644
--- a/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5131716-4-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 775x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 775x34
           text run at (0,0) width 446: "This tests clicking to place a caret in the padding of an editable region. "
           text run at (446,0) width 329: "The eventSender clicks in the bottom padding of the"
-          text run at (0,18) width 444: "editable region and the caret should be placed at the end of that region."
-      RenderBlock {DIV} at (0,52) size 784x116 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (26,26) size 732x18
-          RenderText {#text} at (0,0) size 99x19
+          text run at (0,17) width 444: "editable region and the caret should be placed at the end of that region."
+      RenderBlock {DIV} at (0,50) size 784x113 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (26,26) size 732x17
+          RenderText {#text} at (0,0) size 99x17
             text run at (0,0) width 99: "Paragraph One."
-        RenderTable {TABLE} at (26,44) size 93x28 [border: (1px solid #BBBBBB)]
-          RenderTableSection {TBODY} at (1,1) size 91x26
-            RenderTableRow {TR} at (0,2) size 91x22 [border: (1px solid #BBBBBB)]
-              RenderTableCell {TD} at (2,2) size 8x22 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 4x19
+        RenderTable {TABLE} at (26,43) size 93x27 [border: (1px solid #BBBBBB)]
+          RenderTableSection {TBODY} at (1,1) size 91x25
+            RenderTableRow {TR} at (0,2) size 91x21 [border: (1px solid #BBBBBB)]
+              RenderTableCell {TD} at (2,2) size 8x21 [border: (1px solid #BBBBBB)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 4x17
                   text run at (2,2) width 4: " "
-              RenderTableCell {TD} at (12,2) size 77x22 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 73x19
+              RenderTableCell {TD} at (12,2) size 77x21 [border: (1px solid #BBBBBB)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 73x17
                   text run at (2,2) width 73: "ToDo One."
-        RenderBlock {DIV} at (26,72) size 732x18
-          RenderText {#text} at (0,0) size 102x19
+        RenderBlock {DIV} at (26,70) size 732x17
+          RenderText {#text} at (0,0) size 102x17
             text run at (0,0) width 102: "Paragraph Two."
 caret: position 14 of child 0 {#text} of child 5 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.png
new file mode 100644
index 0000000..171ab24
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.txt
index 15503bc..f1d8bb2 100644
--- a/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5195166-2-expected.txt
@@ -14,12 +14,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 653x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 653x17
           text run at (0,0) width 653: "This tests for a bug where selection change notifications would post the wrong proposed selected range."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 355x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 355x17
           text run at (0,0) width 355: "There should be five characters selected in this sentence."
-      RenderBlock {UL} at (0,68) size 784x0
+      RenderBlock {UL} at (0,66) size 784x0
 selection start: position 0 of child 0 {#text} of child 2 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5232159-expected.png b/LayoutTests/platform/gtk/editing/selection/5232159-expected.png
new file mode 100644
index 0000000..b6a9605d
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5232159-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5232159-expected.txt b/LayoutTests/platform/gtk/editing/selection/5232159-expected.txt
index 3440984..240e47c 100644
--- a/LayoutTests/platform/gtk/editing/selection/5232159-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5232159-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 755x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 755x34
           text run at (0,0) width 755: "This tests for a bug where autoscroll code would prevent text from being selected. To run manually create a selection by"
-          text run at (0,18) width 564: "clicking somewhere in the first sentence of the paragraph below and dragging downward."
+          text run at (0,17) width 564: "clicking somewhere in the first sentence of the paragraph below and dragging downward."
 layer at (0,60) size 800x540
   RenderBlock (positioned) {DIV} at (0,60) size 800x540
-layer at (0,60) size 800x90
-  RenderBlock (positioned) {DIV} at (0,0) size 800x90
-    RenderBlock {DIV} at (11,0) size 778x90
-      RenderText {#text} at (0,0) size 46x19
+layer at (0,60) size 800x85
+  RenderBlock (positioned) {DIV} at (0,0) size 800x85
+    RenderBlock {DIV} at (11,0) size 778x85
+      RenderText {#text} at (0,0) size 46x17
         text run at (0,0) width 46: "Lorem "
-      RenderInline {SPAN} at (0,0) size 38x19
-        RenderText {#text} at (46,0) size 38x19
+      RenderInline {SPAN} at (0,0) size 38x17
+        RenderText {#text} at (46,0) size 38x17
           text run at (46,0) width 38: "ipsum"
-      RenderText {#text} at (84,0) size 754x91
+      RenderText {#text} at (84,0) size 754x85
         text run at (84,0) width 670: " dolor sit amet, consectetuer adipiscing elit. Integer vehicula accumsan massa. Quisque elementum. Cras id"
-        text run at (0,18) width 724: "neque a mi rutrum scelerisque. Nulla sed dui a massa sodales posuere. Nulla libero. Nulla posuere, felis id tincidunt"
-        text run at (0,36) width 740: "tincidunt, ipsum metus tristique risus, et convallis turpis elit eget massa. Nunc consectetuer dolor vel nunc. Cum sociis"
-        text run at (0,54) width 753: "natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque dapibus ante et nulla. Cras nec velit."
-        text run at (0,72) width 645: "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut tortor."
+        text run at (0,17) width 724: "neque a mi rutrum scelerisque. Nulla sed dui a massa sodales posuere. Nulla libero. Nulla posuere, felis id tincidunt"
+        text run at (0,34) width 740: "tincidunt, ipsum metus tristique risus, et convallis turpis elit eget massa. Nunc consectetuer dolor vel nunc. Cum sociis"
+        text run at (0,51) width 753: "natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque dapibus ante et nulla. Cras nec velit."
+        text run at (0,68) width 645: "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut tortor."
 selection start: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 236 of child 2 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.png b/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.png
new file mode 100644
index 0000000..c22c2cd
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.txt
index 495541a..797e534 100644
--- a/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5234383-1-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 651x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 651x17
           text run at (0,0) width 324: "This tests moving forward by sentence boundaries. "
           text run at (324,0) width 327: "The caret should be at the start of the third sentence."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderText {#text} at (0,0) size 758x55
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderText {#text} at (0,0) size 758x51
           text run at (0,0) width 754: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc a augue. Pellentesque habitant morbi tristique senectus et"
           text run at (754,0) width 4: " "
-          text run at (0,18) width 719: "netus et malesuada fames ac turpis egestas. Mauris ut pede. Integer lacus. Ut ipsum. Phasellus tristique leo eu velit."
-          text run at (719,18) width 4: " "
-          text run at (0,36) width 655: "Vestibulum arcu lacus, blandit ac, condimentum sed, commodo in, arcu. Curabitur suscipit pede eu sem."
+          text run at (0,17) width 719: "netus et malesuada fames ac turpis egestas. Mauris ut pede. Integer lacus. Ut ipsum. Phasellus tristique leo eu velit."
+          text run at (719,17) width 4: " "
+          text run at (0,34) width 655: "Vestibulum arcu lacus, blandit ac, condimentum sed, commodo in, arcu. Curabitur suscipit pede eu sem."
 caret: position 72 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.png
new file mode 100644
index 0000000..758217c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.txt
index 10b6ea4..7a71007 100644
--- a/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5234383-2-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 719x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 719x17
           text run at (0,0) width 336: "This tests moving backward by sentence boundaries. "
           text run at (336,0) width 383: "The caret should be at the start of the second to last sentence."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderText {#text} at (0,0) size 758x55
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderText {#text} at (0,0) size 758x51
           text run at (0,0) width 754: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc a augue. Pellentesque habitant morbi tristique senectus et"
           text run at (754,0) width 4: " "
-          text run at (0,18) width 719: "netus et malesuada fames ac turpis egestas. Mauris ut pede. Integer lacus. Ut ipsum. Phasellus tristique leo eu velit."
-          text run at (719,18) width 4: " "
-          text run at (0,36) width 655: "Vestibulum arcu lacus, blandit ac, condimentum sed, commodo in, arcu. Curabitur suscipit pede eu sem."
+          text run at (0,17) width 719: "netus et malesuada fames ac turpis egestas. Mauris ut pede. Integer lacus. Ut ipsum. Phasellus tristique leo eu velit."
+          text run at (719,17) width 4: " "
+          text run at (0,34) width 655: "Vestibulum arcu lacus, blandit ac, condimentum sed, commodo in, arcu. Curabitur suscipit pede eu sem."
 caret: position 241 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5240265-expected.png b/LayoutTests/platform/gtk/editing/selection/5240265-expected.png
index 0ba3485..ed31bfd 100644
--- a/LayoutTests/platform/gtk/editing/selection/5240265-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/5240265-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5240265-expected.txt b/LayoutTests/platform/gtk/editing/selection/5240265-expected.txt
index deccc7e..ed03e32 100644
--- a/LayoutTests/platform/gtk/editing/selection/5240265-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5240265-expected.txt
@@ -3,20 +3,20 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 782x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 782x51
           text run at (0,0) width 757: "This tests to see that clicking on content outside of an editable region with -webkit-user-select: ignore doesn't remove the"
-          text run at (0,18) width 467: "selection from the editable region. To run it manually, click on the button. "
-          text run at (467,18) width 315: "The editable region should not be focused, but the"
-          text run at (0,36) width 216: "text inside of it should be selected."
-      RenderBlock (anonymous) at (0,70) size 784x31
-        RenderButton {INPUT} at (2,2) size 100x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-          RenderBlock (anonymous) at (8,4) size 84x18
-            RenderText at (0,0) size 84x19
+          text run at (0,17) width 467: "selection from the editable region. To run it manually, click on the button. "
+          text run at (467,17) width 315: "The editable region should not be focused, but the"
+          text run at (0,34) width 216: "text inside of it should be selected."
+      RenderBlock (anonymous) at (0,67) size 784x30
+        RenderButton {INPUT} at (2,2) size 100x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+          RenderBlock (anonymous) at (8,4) size 84x17
+            RenderText at (0,0) size 84x17
               text run at (0,0) width 84: "Click on me"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,101) size 784x18
-        RenderText {#text} at (0,0) size 178x19
+      RenderBlock {DIV} at (0,97) size 784x17
+        RenderText {#text} at (0,0) size 178x17
           text run at (0,0) width 178: "This text should be selected."
 selection start: position 0 of child 0 {#text} of child 4 {DIV} of body
 selection end:   position 29 of child 0 {#text} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5333725-expected.png b/LayoutTests/platform/gtk/editing/selection/5333725-expected.png
new file mode 100644
index 0000000..66d8403
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5333725-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5333725-expected.txt b/LayoutTests/platform/gtk/editing/selection/5333725-expected.txt
index fa422eb..4043615 100644
--- a/LayoutTests/platform/gtk/editing/selection/5333725-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5333725-expected.txt
@@ -3,14 +3,14 @@
 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 784x18
-        RenderInline {SPAN} at (0,0) size 32x19
-          RenderText {#text} at (0,0) size 32x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderInline {SPAN} at (0,0) size 32x17
+          RenderText {#text} at (0,0) size 32x17
             text run at (0,0) width 32: "0123"
-        RenderText {#text} at (32,0) size 16x19
+        RenderText {#text} at (32,0) size 16x17
           text run at (32,0) width 16: "45"
-        RenderInline {SPAN} at (0,0) size 32x19
-          RenderText {#text} at (48,0) size 32x19
+        RenderInline {SPAN} at (0,0) size 32x17
+          RenderText {#text} at (48,0) size 32x17
             text run at (48,0) width 32: "6789"
 selection start: position 0 of child 1 {#text} of child 0 {DIV} of body
 selection end:   position 2 of child 1 {#text} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.png b/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.png
new file mode 100644
index 0000000..5a57e42
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.txt
index 18e8209..ff763c7 100644
--- a/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/5354455-2-expected.txt
@@ -2,22 +2,22 @@
   RenderView at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
-layer at (8,8) size 612x142
-  RenderBody {BODY} at (8,8) size 612x142 [border: (1px solid #000000)]
-    RenderBlock {H1} at (6,6) size 600x37
+layer at (8,8) size 612x137
+  RenderBody {BODY} at (8,8) size 612x138 [border: (1px solid #000000)]
+    RenderBlock {H1} at (6,6) size 600x36
       RenderText {#text} at (0,0) size 451x36
         text run at (0,0) width 451: "Word selection on right click test"
-    RenderBlock (anonymous) at (6,64) size 600x72
-      RenderText {#text} at (0,0) size 597x37
+    RenderBlock (anonymous) at (6,63) size 600x69
+      RenderText {#text} at (0,0) size 597x34
         text run at (0,0) width 597: "This tests to make sure that right clicking non-editable content only creates a word selection for"
-        text run at (0,18) width 103: "clicks over text. "
-      RenderInline {SPAN} at (0,0) size 18x19
-        RenderText {#text} at (103,18) size 18x19
-          text run at (103,18) width 18: "To"
-      RenderText {#text} at (121,18) size 577x55
-        text run at (121,18) width 411: " run manually, right click on text, and a word should be selected. "
-        text run at (532,18) width 35: "Right"
-        text run at (0,36) width 577: "click on the empty space outside and to the right of the black border, the selection should be"
-        text run at (0,54) width 59: "removed."
+        text run at (0,17) width 103: "clicks over text. "
+      RenderInline {SPAN} at (0,0) size 18x17
+        RenderText {#text} at (103,17) size 18x17
+          text run at (103,17) width 18: "To"
+      RenderText {#text} at (121,17) size 577x51
+        text run at (121,17) width 411: " run manually, right click on text, and a word should be selected. "
+        text run at (532,17) width 35: "Right"
+        text run at (0,34) width 577: "click on the empty space outside and to the right of the black border, the selection should be"
+        text run at (0,51) width 59: "removed."
       RenderText {#text} at (0,0) size 0x0
 caret: position 118 of child 2 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/6476-expected.png b/LayoutTests/platform/gtk/editing/selection/6476-expected.png
index 3f6fc45..57ee8ae 100644
--- a/LayoutTests/platform/gtk/editing/selection/6476-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/6476-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/6476-expected.txt b/LayoutTests/platform/gtk/editing/selection/6476-expected.txt
index 998cd91..4d930d4 100644
--- a/LayoutTests/platform/gtk/editing/selection/6476-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/6476-expected.txt
@@ -7,32 +7,32 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {DIV} at (0,0) size 250x36
-        RenderText {#text} at (0,0) size 203x19
+      RenderBlock {DIV} at (0,0) size 250x34
+        RenderText {#text} at (0,0) size 203x17
           text run at (0,0) width 203: "Try to create a caret after this lin"
-        RenderInline {SPAN} at (0,0) size 7x19
-          RenderText {#text} at (203,0) size 7x19
+        RenderInline {SPAN} at (0,0) size 7x17
+          RenderText {#text} at (203,0) size 7x17
             text run at (203,0) width 7: "e"
-        RenderText {#text} at (210,0) size 4x19
+        RenderText {#text} at (210,0) size 4x17
           text run at (210,0) width 4: " "
-        RenderInline {SPAN} at (0,0) size 0x19
-        RenderText {#text} at (0,18) size 181x19
-          text run at (0,18) width 181: "thisshouldbeonthesecondline"
-      RenderBlock {HR} at (0,44) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {P} at (0,62) size 784x36
-        RenderText {#text} at (0,0) size 131x19
+        RenderInline {SPAN} at (0,0) size 0x17
+        RenderText {#text} at (0,17) size 181x17
+          text run at (0,17) width 181: "thisshouldbeonthesecondline"
+      RenderBlock {HR} at (0,42) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,60) size 784x34
+        RenderText {#text} at (0,0) size 131x17
           text run at (0,0) width 131: "This is a testcase for "
-        RenderInline {A} at (0,0) size 343x19 [color=#0000EE]
-          RenderText {#text} at (131,0) size 343x19
+        RenderInline {A} at (0,0) size 343x17 [color=#0000EE]
+          RenderText {#text} at (131,0) size 343x17
             text run at (131,0) width 343: "http://bugzilla.opendarwin.org/show_bug.cgi?id=6476"
-        RenderText {#text} at (474,0) size 779x37
+        RenderText {#text} at (474,0) size 779x34
           text run at (474,0) width 8: ". "
           text run at (482,0) width 297: "Creating an upstream caret with the mouse was"
-          text run at (0,18) width 591: "impossible if the upstream and downstream carets were separated only by unrendered content."
-      RenderBlock {P} at (0,114) size 784x36
-        RenderText {#text} at (0,0) size 766x37
+          text run at (0,17) width 591: "impossible if the upstream and downstream carets were separated only by unrendered content."
+      RenderBlock {P} at (0,110) size 784x34
+        RenderText {#text} at (0,0) size 766x34
           text run at (0,0) width 318: "This test uses the eventSender to do mouse clicks. "
           text run at (318,0) width 448: "To run it manually, click in the space after all the text on the first line in"
-          text run at (0,18) width 166: "the above editable region. "
-          text run at (166,18) width 384: "Clicking should create a caret after the first space after the 'e'."
+          text run at (0,17) width 166: "the above editable region. "
+          text run at (166,17) width 384: "Clicking should create a caret after the first space after the 'e'."
 caret: position 1 of child 2 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/7152-1-expected.png b/LayoutTests/platform/gtk/editing/selection/7152-1-expected.png
index 0be3e4a..e58d96d 100644
--- a/LayoutTests/platform/gtk/editing/selection/7152-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/7152-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/7152-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/7152-1-expected.txt
index 3eae208..91e18d7 100644
--- a/LayoutTests/platform/gtk/editing/selection/7152-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/7152-1-expected.txt
@@ -8,29 +8,29 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 131x19
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 131x17
           text run at (0,0) width 131: "This is a testcase for "
-        RenderInline {A} at (0,0) size 343x19 [color=#0000EE]
-          RenderText {#text} at (131,0) size 343x19
+        RenderInline {A} at (0,0) size 343x17 [color=#0000EE]
+          RenderText {#text} at (131,0) size 343x17
             text run at (131,0) width 343: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7152"
-        RenderText {#text} at (474,0) size 783x55
+        RenderText {#text} at (474,0) size 783x51
           text run at (474,0) width 8: ". "
           text run at (482,0) width 297: "Adding visible candidates after tables, at [table,"
           text run at (779,0) width 4: " "
-          text run at (0,18) width 767: "numberOfChildren], threw RenderView::setSelection for a loop because it assumed the end of a selection would be inside"
-          text run at (767,18) width 4: " "
-          text run at (0,36) width 100: "an atomic node."
-      RenderBlock {HR} at (0,70) size 784x2 [border: (1px inset #000000)]
-      RenderTable {TABLE} at (0,80) size 161x52 [border: (1px outset #808080)]
-        RenderTableSection {TBODY} at (1,1) size 159x50
-          RenderTableRow {TR} at (0,2) size 159x22
-            RenderTableCell {TD} at (2,2) size 155x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              RenderText {#text} at (2,2) size 151x19
+          text run at (0,17) width 767: "numberOfChildren], threw RenderView::setSelection for a loop because it assumed the end of a selection would be inside"
+          text run at (767,17) width 4: " "
+          text run at (0,34) width 100: "an atomic node."
+      RenderBlock {HR} at (0,67) size 784x2 [border: (1px inset #000000)]
+      RenderTable {TABLE} at (0,77) size 161x50 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 159x48
+          RenderTableRow {TR} at (0,2) size 159x21
+            RenderTableCell {TD} at (2,2) size 155x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 151x17
                 text run at (2,2) width 151: "This should be selected."
-          RenderTableRow {TR} at (0,26) size 159x22
-            RenderTableCell {TD} at (2,26) size 155x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-              RenderText {#text} at (2,2) size 151x19
+          RenderTableRow {TR} at (0,25) size 159x21
+            RenderTableCell {TD} at (2,25) size 155x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 151x17
                 text run at (2,2) width 151: "This should be selected."
 selection start: position 0 of child 0 {#text} of child 1 {P} of body
 selection end:   position 1 of child 5 {TABLE} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/7152-2-expected.png b/LayoutTests/platform/gtk/editing/selection/7152-2-expected.png
index de15dac..d63bee4 100644
--- a/LayoutTests/platform/gtk/editing/selection/7152-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/7152-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/7152-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/7152-2-expected.txt
index 66821d5..96f3397 100644
--- a/LayoutTests/platform/gtk/editing/selection/7152-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/7152-2-expected.txt
@@ -8,32 +8,32 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderTable {TABLE} at (0,0) size 161x52 [border: (1px outset #808080)]
-        RenderTableSection {TBODY} at (1,1) size 159x50
-          RenderTableRow {TR} at (0,2) size 159x22
-            RenderTableCell {TD} at (2,2) size 155x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              RenderText {#text} at (2,2) size 151x19
+      RenderTable {TABLE} at (0,0) size 161x50 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 159x48
+          RenderTableRow {TR} at (0,2) size 159x21
+            RenderTableCell {TD} at (2,2) size 155x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 151x17
                 text run at (2,2) width 151: "This should be selected."
-          RenderTableRow {TR} at (0,26) size 159x22
-            RenderTableCell {TD} at (2,26) size 155x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-              RenderText {#text} at (2,2) size 151x19
+          RenderTableRow {TR} at (0,25) size 159x21
+            RenderTableCell {TD} at (2,25) size 155x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 151x17
                 text run at (2,2) width 151: "This should be selected."
-      RenderBlock {HR} at (0,60) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {P} at (0,78) size 784x72
-        RenderText {#text} at (0,0) size 131x19
+      RenderBlock {HR} at (0,58) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,76) size 784x68
+        RenderText {#text} at (0,0) size 131x17
           text run at (0,0) width 131: "This is a testcase for "
-        RenderInline {A} at (0,0) size 343x19 [color=#0000EE]
-          RenderText {#text} at (131,0) size 343x19
+        RenderInline {A} at (0,0) size 343x17 [color=#0000EE]
+          RenderText {#text} at (131,0) size 343x17
             text run at (131,0) width 343: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7152"
-        RenderText {#text} at (474,0) size 783x73
+        RenderText {#text} at (474,0) size 783x68
           text run at (474,0) width 8: ". "
           text run at (482,0) width 297: "Adding visible candidates after tables, at [table,"
           text run at (779,0) width 4: " "
-          text run at (0,18) width 767: "numberOfChildren], threw RenderView::setSelection for a loop because it assumed the end of a selection would be inside"
-          text run at (767,18) width 4: " "
-          text run at (0,36) width 104: "an atomic node. "
-          text run at (104,36) width 669: "It didn't make the same assumption about start of a selection, but for good measure, we also test a selection"
-          text run at (773,36) width 4: " "
-          text run at (0,54) width 232: "that starts at a position before a table."
+          text run at (0,17) width 767: "numberOfChildren], threw RenderView::setSelection for a loop because it assumed the end of a selection would be inside"
+          text run at (767,17) width 4: " "
+          text run at (0,34) width 104: "an atomic node. "
+          text run at (104,34) width 669: "It didn't make the same assumption about start of a selection, but for good measure, we also test a selection"
+          text run at (773,34) width 4: " "
+          text run at (0,51) width 232: "that starts at a position before a table."
 selection start: position 0 of child 1 {TABLE} of body
 selection end:   position 341 of child 2 {#text} of child 5 {P} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/addRange-expected.png b/LayoutTests/platform/gtk/editing/selection/addRange-expected.png
new file mode 100644
index 0000000..f6471eb
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/addRange-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/addRange-expected.txt b/LayoutTests/platform/gtk/editing/selection/addRange-expected.txt
index e562bb52..590d31a 100644
--- a/LayoutTests/platform/gtk/editing/selection/addRange-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/addRange-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 211: "This tests Selection::addRange(). "
           text run at (211,0) width 547: "It should have no effect if the range passed to it does not intersect the currently selected"
-          text run at (0,18) width 43: "range. "
-          text run at (43,18) width 161: "'3456' should be selected."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 72x19
+          text run at (0,17) width 43: "range. "
+          text run at (43,17) width 161: "'3456' should be selected."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 72x17
           text run at (0,0) width 72: "123456789"
 selection start: position 2 of child 0 {#text} of child 2 {DIV} of body
 selection end:   position 6 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.png b/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.png
index 5ff2830..e93c802 100644
--- a/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.txt b/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.txt
index b96a07a..a25298d 100644
--- a/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/after-line-wrap-expected.txt
@@ -10,31 +10,31 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderInline {B} at (0,0) size 304x19
-          RenderText {#text} at (0,0) size 304x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderInline {B} at (0,0) size 304x17
+          RenderText {#text} at (0,0) size 304x17
             text run at (0,0) width 304: "Make sure that your window is small enough"
-        RenderText {#text} at (304,0) size 764x37
+        RenderText {#text} at (304,0) size 764x34
           text run at (304,0) width 460: " so that 'don't select this line' and 'try to select just this line' appear on two"
-          text run at (0,18) width 94: "different lines. "
-          text run at (94,18) width 610: "The two phrases are actually in the same paragraph, there are just lots of spaces in between them."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 104x19
+          text run at (0,17) width 94: "different lines. "
+          text run at (94,17) width 610: "The two phrases are actually in the same paragraph, there are just lots of spaces in between them."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 104x17
           text run at (0,0) width 104: "This is a test for "
-        RenderInline {A} at (0,0) size 368x19 [color=#0000EE]
-          RenderText {#text} at (104,0) size 368x19
+        RenderInline {A} at (0,0) size 368x17 [color=#0000EE]
+          RenderText {#text} at (104,0) size 368x17
             text run at (104,0) width 368: "REGRESSION: Selection includes spaces that it shouldn't"
-        RenderText {#text} at (472,0) size 753x37
+        RenderText {#text} at (472,0) size 753x34
           text run at (472,0) width 281: ". The test makes sure that a word that is right"
-          text run at (0,18) width 285: "after a line wrap can be selected successfully."
-      RenderBlock {P} at (0,104) size 784x0
-      RenderBlock {DIV} at (16,104) size 752x38 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 750x19
+          text run at (0,17) width 285: "after a line wrap can be selected successfully."
+      RenderBlock {P} at (0,100) size 784x0
+      RenderBlock {DIV} at (16,100) size 752x36 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 750x17
           text run at (1,1) width 93: "don't select me"
           text run at (94,1) width 657: "                                                                                                                                                                                                                                                                                                                                                             "
-        RenderInline {I} at (0,0) size 150x19
-          RenderText {#text} at (1,19) size 150x19
-            text run at (1,19) width 150: "try to select just this text"
+        RenderInline {I} at (0,0) size 150x17
+          RenderText {#text} at (1,18) size 150x17
+            text run at (1,18) width 150: "try to select just this text"
         RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 1 {I} of child 7 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 1 {I} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.png
index d0051a8e..1f8777b 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.txt
index ef20c20..abc7a37 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-and-focus-ring-expected.txt
@@ -6,16 +6,16 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 774x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 774x34
           text run at (0,0) width 774: "This tests that the caret and the focus halo are not displayed when the WebView is not focused (using the pixel output from"
-          text run at (0,18) width 124: "DumpRenderTree)."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 65x19
+          text run at (0,17) width 124: "DumpRenderTree)."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 65x17
           text run at (0,0) width 65: "This is an "
-        RenderInline {SPAN} at (0,0) size 49x19
-          RenderText {#text} at (65,0) size 49x19
+        RenderInline {SPAN} at (0,0) size 49x17
+          RenderText {#text} at (65,0) size 49x17
             text run at (65,0) width 49: "editable"
-        RenderText {#text} at (114,0) size 404x19
+        RenderText {#text} at (114,0) size 404x17
           text run at (114,0) width 404: " region. No caret or focus ring should appear in the pixel results."
 caret: position 11 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.png
index a0fbcac..a2e327c 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.txt
index fedb955..4218583 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-before-select-expected.txt
@@ -3,11 +3,11 @@
 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 784x106 [border: (5px solid #FF0000)]
-        RenderMenuList {SELECT} at (39,39) size 57x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 55x26
-            RenderText at (4,4) size 30x19
+      RenderBlock {DIV} at (0,0) size 784x105 [border: (5px solid #FF0000)]
+        RenderMenuList {SELECT} at (39,39) size 57x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 55x25
+            RenderText at (4,4) size 30x17
               text run at (4,4) width 30: "One"
-        RenderText {#text} at (98,44) size 26x19
+        RenderText {#text} at (98,44) size 26x17
           text run at (98,44) width 26: "blaa"
 caret: position 0 of child 0 {SELECT} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.png
index 60621e8..a91f1d3 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.txt
index a8052af..21f8795 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for LTR text in a RTL block. To test"
-          text run at (0,18) width 465: "manually, click the right of the text. The caret should be on the right edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (137,11) size 74x23
+          text run at (0,17) width 465: "manually, click the right of the text. The caret should be on the right edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (137,11) size 74x22
           text run at (137,11) width 74: "WebKit2"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.png
index 5ab55aa..2b8d599 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.txt
index 67e2ed4..9ccf8ef 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-2-left-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for LTR text in a RTL block. To test"
-          text run at (0,18) width 447: "manually, click the left of the text. The caret should be on the left edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (137,11) size 74x23
+          text run at (0,17) width 447: "manually, click the left of the text. The caret should be on the left edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (137,11) size 74x22
           text run at (137,11) width 74: "WebKit2"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.png
index 80524bf..aa2bab1 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.txt
index 4699ecb..fdcc37c 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for LTR text in a LTR block. To test"
-          text run at (0,18) width 447: "manually, click the left of the text. The caret should be on the left edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (11,11) size 74x23
+          text run at (0,17) width 447: "manually, click the left of the text. The caret should be on the left edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (11,11) size 74x22
           text run at (11,11) width 74: "WebKit2"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.png
index 18dc7a7..be9aba6 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.txt
index ce576af..4719d3f 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-ltr-right-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for LTR text in a LTR block. To test"
-          text run at (0,18) width 465: "manually, click the right of the text. The caret should be on the right edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (11,11) size 74x23
+          text run at (0,17) width 465: "manually, click the right of the text. The caret should be on the right edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (11,11) size 74x22
           text run at (11,11) width 74: "WebKit2"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.png
index b46fe63..3e98cdf 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.txt
index 197e175..3b02590 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for RTL text in a RTL block. To test"
-          text run at (0,18) width 465: "manually, click the right of the text. The caret should be on the right edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (11,11) size 75x23
+          text run at (0,17) width 465: "manually, click the right of the text. The caret should be on the right edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (11,11) size 75x22
           text run at (11,11) width 75 RTL: "\x{5E9}\x{5D3}\x{5D4} \x{5D1}\x{5D5}\x{5E8}"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.png
index a2a89ed..f904c68 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.txt
index f506051..00fa17c 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-2-left-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for RTL text in a LTR block. To test"
-          text run at (0,18) width 447: "manually, click the left of the text. The caret should be on the left edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (11,11) size 75x23
+          text run at (0,17) width 447: "manually, click the left of the text. The caret should be on the left edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (11,11) size 75x22
           text run at (11,11) width 75 RTL: "\x{5E9}\x{5D3}\x{5D4} \x{5D1}\x{5D5}\x{5E8}"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.png
index 388d28f..45db14c 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.txt
index 4195313..1c704ef 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for RTL text in a RTL block. To test"
-          text run at (0,18) width 447: "manually, click the left of the text. The caret should be on the left edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (136,11) size 75x23
+          text run at (0,17) width 447: "manually, click the left of the text. The caret should be on the left edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (136,11) size 75x22
           text run at (136,11) width 75 RTL: "\x{5E9}\x{5D3}\x{5D4} \x{5D1}\x{5D5}\x{5E8}"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 7 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.png b/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.png
index dbe5bfe..d607f84 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.txt b/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.txt
index 9b6e615..e3dc827 100644
--- a/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/caret-rtl-right-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x139
-  RenderBlock {HTML} at (0,0) size 800x139
-    RenderBody {BODY} at (8,16) size 784x115
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 758x37
+layer at (0,0) size 800x135
+  RenderBlock {HTML} at (0,0) size 800x135
+    RenderBody {BODY} at (8,16) size 784x111
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 758x34
           text run at (0,0) width 758: "This tests that clicking in a contenteditable div will set the caret in the right position for RTL text in a RTL block. To test"
-          text run at (0,18) width 465: "manually, click the right of the text. The caret should be on the right edge."
-      RenderBlock {DIV} at (0,52) size 222x45 [border: (1px solid #000000)]
-        RenderText {#text} at (136,11) size 75x23
+          text run at (0,17) width 465: "manually, click the right of the text. The caret should be on the right edge."
+      RenderBlock {DIV} at (0,50) size 222x44 [border: (1px solid #000000)]
+        RenderText {#text} at (136,11) size 75x22
           text run at (136,11) width 75 RTL: "\x{5E9}\x{5D3}\x{5D4} \x{5D1}\x{5D5}\x{5E8}"
-      RenderBlock (anonymous) at (0,97) size 784x18
-        RenderText {#text} at (0,0) size 39x19
+      RenderBlock (anonymous) at (0,94) size 784x17
+        RenderText {#text} at (0,0) size 39x17
           text run at (0,0) width 39: "PASS"
-        RenderBR {BR} at (39,0) size 0x19
+        RenderBR {BR} at (39,0) size 0x17
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.png b/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.png
index a5140ab..e82a5ae 100644
--- a/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.txt b/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.txt
index b5a8166..28b66f7 100644
--- a/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/clear-selection-expected.txt
@@ -5,7 +5,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 784x36
-        RenderText {#text} at (0,0) size 755x37
+      RenderBlock {DIV} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 755x34
           text run at (0,0) width 755: "This tests that window.getSelection().clear() clears the selection correctly. If this test is successful, this text should not be"
-          text run at (0,18) width 54: "selected."
+          text run at (0,17) width 54: "selected."
diff --git a/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.png b/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.png
index 0667c03..39c3752 100644
--- a/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.txt b/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.txt
index 82a98e7..3857399 100644
--- a/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/click-start-of-line-expected.txt
@@ -7,27 +7,27 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 104x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 104x17
           text run at (0,0) width 104: "This is a test for "
-        RenderInline {I} at (0,0) size 776x37
-          RenderInline {A} at (0,0) size 348x19 [color=#0000EE]
-            RenderText {#text} at (104,0) size 348x19
+        RenderInline {I} at (0,0) size 776x34
+          RenderInline {A} at (0,0) size 348x17 [color=#0000EE]
+            RenderText {#text} at (104,0) size 348x17
               text run at (104,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=9978"
-          RenderText {#text} at (452,0) size 776x37
+          RenderText {#text} at (452,0) size 776x34
             text run at (452,0) width 4: " "
             text run at (456,0) width 320: "REGRESSION (r12949-r12988): Clicking the first"
-            text run at (0,18) width 384: "letter on a line places the caret at the end of the previous line"
-        RenderText {#text} at (384,18) size 4x19
-          text run at (384,18) width 4: "."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 730x19
+            text run at (0,17) width 384: "letter on a line places the caret at the end of the previous line"
+        RenderText {#text} at (384,17) size 4x17
+          text run at (384,17) width 4: "."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 730x17
           text run at (0,0) width 551: "To test interactively, click the left side of the W on the second line. The caret should be "
           text run at (551,0) width 179: "move to the start of that line."
-      RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,96) size 250x110
-        RenderText {#text} at (0,0) size 236x109
+      RenderBlock {HR} at (0,83) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,93) size 250x106
+        RenderText {#text} at (0,0) size 236x106
           text run at (0,0) width 152: "Alice in"
           text run at (152,0) width 12: " "
-          text run at (0,55) width 236: "Wonderland"
+          text run at (0,53) width 236: "Wonderland"
 caret: position 10 of child 0 {#text} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.png b/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.png
index 567a052..44b3917 100644
--- a/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.txt b/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.txt
index 8380a44..ddf0425 100644
--- a/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/contains-boundaries-expected.txt
@@ -3,27 +3,27 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 53x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 53x17
           text run at (0,0) width 53: "Test for "
-        RenderInline {I} at (0,0) size 744x37
-          RenderInline {A} at (0,0) size 301x19 [color=#0000EE]
-            RenderText {#text} at (53,0) size 301x19
+        RenderInline {I} at (0,0) size 744x34
+          RenderInline {A} at (0,0) size 301x17 [color=#0000EE]
+            RenderText {#text} at (53,0) size 301x17
               text run at (53,0) width 301: "http://bugs.webkit.org/show_bug.cgi?id=14347"
-          RenderText {#text} at (354,0) size 744x37
+          RenderText {#text} at (354,0) size 744x34
             text run at (354,0) width 4: " "
             text run at (358,0) width 386: "REGRESSION (r21291): Initiating a drag near the edge of a"
-            text run at (0,18) width 127: "selection deselects it"
-        RenderText {#text} at (127,18) size 4x19
-          text run at (127,18) width 4: "."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 326x19
+            text run at (0,17) width 127: "selection deselects it"
+        RenderText {#text} at (127,17) size 4x17
+          text run at (127,17) width 4: "."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 326x17
           text run at (0,0) width 326: "Drag the selected letter W into the yellow rectangle."
-      RenderBlock {DIV} at (0,86) size 784x83
-        RenderText {#text} at (0,1) size 68x81
-          text run at (0,1) width 68: "W"
-      RenderBlock {DIV} at (0,169) size 784x83 [bgcolor=#FFFFCC]
-        RenderText {#text} at (0,1) size 68x81
-          text run at (0,1) width 68: "W"
+      RenderBlock {DIV} at (0,83) size 784x80
+        RenderText {#text} at (0,0) size 68x80
+          text run at (0,0) width 68: "W"
+      RenderBlock {DIV} at (0,163) size 784x80 [bgcolor=#FFFFCC]
+        RenderText {#text} at (0,0) size 68x80
+          text run at (0,0) width 68: "W"
 selection start: position 0 of child 0 {#text} of child 6 {DIV} of body
 selection end:   position 1 of child 0 {#text} of child 6 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.png b/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.png
index cc6a89b..c9ef3b2 100644
--- a/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.txt b/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.txt
index 244a92c..f24c138 100644
--- a/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/contenteditable-click-inside-expected.txt
@@ -9,8 +9,8 @@
     RenderBody {BODY} at (8,8) size 784x576
       RenderBlock {DIV} at (0,0) size 425x75 [bgcolor=#FFFF00]
         RenderBlock {DIV} at (25,25) size 100x20 [bgcolor=#FFFFFF]
-      RenderBlock {P} at (0,91) size 784x36
-        RenderText {#text} at (0,0) size 780x37
+      RenderBlock {P} at (0,91) size 784x34
+        RenderText {#text} at (0,0) size 780x34
           text run at (0,0) width 780: "This test clicks inside an editable div element, and must result in the element receiving focus. If the test succeeds the element"
-          text run at (0,18) width 158: "should have a focus ring."
+          text run at (0,17) width 158: "should have a focus ring."
 caret: position 0 of child 0 {DIV} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.png b/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.png
index 72cdafb..96e9aec 100644
--- a/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.txt b/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.txt
index 1850ebe..2a8fcba 100644
--- a/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/display-table-text-expected.txt
@@ -4,11 +4,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderTable {DIV} at (0,0) size 348x18
-        RenderTableSection (anonymous) at (0,0) size 348x18
-          RenderTableRow (anonymous) at (0,0) size 348x18
-            RenderTableCell (anonymous) at (0,0) size 348x18 [r=0 c=0 rs=1 cs=1]
-              RenderText {#text} at (0,0) size 348x19
+      RenderTable {DIV} at (0,0) size 348x17
+        RenderTableSection (anonymous) at (0,0) size 348x17
+          RenderTableRow (anonymous) at (0,0) size 348x17
+            RenderTableCell (anonymous) at (0,0) size 348x17 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 348x17
                 text run at (0,0) width 348: "Only the third word in this sentence should be selected."
 selection start: position 9 of child 0 {#text} of child 1 {DIV} of body
 selection end:   position 14 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/doubleclick-crash-expected.png b/LayoutTests/platform/gtk/editing/selection/doubleclick-crash-expected.png
index a49962e..5dbc6ac 100644
--- a/LayoutTests/platform/gtk/editing/selection/doubleclick-crash-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/doubleclick-crash-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.png b/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.png
new file mode 100644
index 0000000..b67fd7b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.txt b/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.txt
index 164cbae..733aa37 100644
--- a/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/drag-in-iframe-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 753x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 753x34
           text run at (0,0) width 538: "This is an automatic pixel test. To test interactively, drag selected text onto the iframe "
           text run at (538,0) width 211: "below and verify that a drag caret"
           text run at (749,0) width 4: " "
-          text run at (0,18) width 156: "appears inside the frame."
-      RenderBlock (anonymous) at (0,52) size 784x152
+          text run at (0,17) width 156: "appears inside the frame."
+      RenderBlock (anonymous) at (0,50) size 784x152
         RenderPartObject {IFRAME} at (0,0) size 302x152 [border: (1px solid #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134
-                RenderInline {SPAN} at (0,0) size 37x19
-                  RenderText {#text} at (0,0) size 37x19
+                RenderInline {SPAN} at (0,0) size 37x17
+                  RenderText {#text} at (0,0) size 37x17
                     text run at (0,0) width 37: "There"
-                RenderText {#text} at (37,0) size 168x19
+                RenderText {#text} at (37,0) size 168x17
                   text run at (37,0) width 168: " should be a caret here --> "
-                RenderBR {BR} at (205,15) size 0x0
-                RenderText {#text} at (0,18) size 42x19
-                  text run at (0,18) width 42: "See it?"
+                RenderBR {BR} at (205,14) size 0x0
+                RenderText {#text} at (0,17) size 42x17
+                  text run at (0,17) width 42: "See it?"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png
index eecf16c..93cebca 100644
--- a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt
index ddbccd0..a4530cf 100644
--- a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt
@@ -4,18 +4,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 216x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 216x17
           text run at (0,0) width 216: "This tests for a drag select crasher."
-      RenderBlock {DIV} at (0,34) size 784x28
-        RenderInline {SPAN} at (0,0) size 64x19
-          RenderText {#text} at (0,5) size 64x19
+      RenderBlock {DIV} at (0,33) size 784x27
+        RenderInline {SPAN} at (0,0) size 64x17
+          RenderText {#text} at (0,5) size 64x17
             text run at (0,5) width 64: "Start here."
-        RenderText {#text} at (64,5) size 4x19
+        RenderText {#text} at (64,5) size 4x17
           text run at (64,5) width 4: " "
-        RenderTextControl {INPUT} at (70,2) size 192x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-      RenderBlock {UL} at (0,78) size 784x0
-layer at (81,47) size 186x18
-  RenderBlock {DIV} at (3,3) size 186x18
+        RenderTextControl {INPUT} at (70,2) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+      RenderBlock {UL} at (0,76) size 784x0
+layer at (81,46) size 185x17
+  RenderBlock {DIV} at (3,3) size 185x17
 selection start: position 4 of child 0 {#text} of child 0 {SPAN} of child 2 {DIV} of body
 selection end:   position 1 of child 1 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.png b/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.png
new file mode 100644
index 0000000..06dbde5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.txt b/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.txt
index 990eda9..ed1ce93 100644
--- a/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/drag-to-contenteditable-iframe-expected.txt
@@ -10,12 +10,12 @@
           layer at (0,0) size 200x200
             RenderBlock {HTML} at (0,0) size 200x200
               RenderBody {BODY} at (8,8) size 184x184 [bgcolor=#FFFFE0]
-        RenderText {#text} at (208,193) size 4x19
-          text run at (208,193) width 4: " "
+        RenderText {#text} at (208,194) size 4x17
+          text run at (208,194) width 4: " "
         RenderImage {IMG} at (212,105) size 76x103
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {UL} at (0,227) size 800x18
-        RenderListItem {LI} at (40,0) size 760x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 288x19
+      RenderBlock {UL} at (0,227) size 800x17
+        RenderListItem {LI} at (40,0) size 760x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 288x17
             text run at (0,0) width 288: "Abe should be outside the frame and inside it."
diff --git a/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.png b/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.png
index c1cfa7e..37cd809 100644
--- a/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.txt b/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.txt
index c0b912f..f4f34e6 100644
--- a/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/editable-html-element-expected.txt
@@ -20,15 +20,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderInline {SPAN} at (0,0) size 32x19
-        RenderText {#text} at (0,0) size 32x19
+      RenderInline {SPAN} at (0,0) size 32x17
+        RenderText {#text} at (0,0) size 32x17
           text run at (0,0) width 32: "\x{9}"
-      RenderText {#text} at (32,0) size 473x19
+      RenderText {#text} at (32,0) size 473x17
         text run at (32,0) width 473: "This tests to see where the selection is set when an html element is focused."
-      RenderBR {BR} at (505,15) size 0x0
-      RenderText {#text} at (0,18) size 777x37
-        text run at (0,18) width 520: "We set it inside the body because we don't want to allow editing outside the body. "
-        text run at (520,18) width 253: "This test also does some editing to make"
-        text run at (773,18) width 4: " "
-        text run at (0,36) width 173: "sure it happens in the body."
+      RenderBR {BR} at (505,14) size 0x0
+      RenderText {#text} at (0,17) size 777x34
+        text run at (0,17) width 520: "We set it inside the body because we don't want to allow editing outside the body. "
+        text run at (520,17) width 253: "This test also does some editing to make"
+        text run at (773,17) width 4: " "
+        text run at (0,34) width 173: "sure it happens in the body."
 caret: position 153 of child 3 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/editable-links-expected.png b/LayoutTests/platform/gtk/editing/selection/editable-links-expected.png
index c3a1bcf..c2a390d 100644
--- a/LayoutTests/platform/gtk/editing/selection/editable-links-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/editable-links-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/editable-links-expected.txt b/LayoutTests/platform/gtk/editing/selection/editable-links-expected.txt
index 19ac2e3..0cf073e 100644
--- a/LayoutTests/platform/gtk/editing/selection/editable-links-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/editable-links-expected.txt
@@ -7,11 +7,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderText {#text} at (0,0) size 65x19
+      RenderText {#text} at (0,0) size 65x17
         text run at (0,0) width 65: "This is an "
-      RenderInline {A} at (0,0) size 77x19 [color=#0000EE]
-        RenderText {#text} at (65,0) size 77x19
+      RenderInline {A} at (0,0) size 77x17 [color=#0000EE]
+        RenderText {#text} at (65,0) size 77x17
           text run at (65,0) width 77: "editable link"
-      RenderText {#text} at (142,0) size 4x19
+      RenderText {#text} at (142,0) size 4x17
         text run at (142,0) width 4: "."
 caret: position 6 of child 0 {#text} of child 3 {A} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.png b/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.png
index dcab079..81f058e 100644
--- a/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.txt b/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.txt
index 31b7995..60aa0f1 100644
--- a/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/editable-non-editable-crash-expected.txt
@@ -6,13 +6,13 @@
 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 784x46
-        RenderTable {TABLE} at (0,0) size 784x46 [border: (1px solid #AAAAAA)]
-          RenderTableSection {TBODY} at (1,1) size 782x44
-            RenderTableRow {TR} at (0,2) size 782x40
-              RenderTableCell {TD} at (2,2) size 778x40 [border: (1px solid #AAAAAA)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 773x37
+      RenderBlock {DIV} at (0,0) size 784x44
+        RenderTable {TABLE} at (0,0) size 784x44 [border: (1px solid #AAAAAA)]
+          RenderTableSection {TBODY} at (1,1) size 782x42
+            RenderTableRow {TR} at (0,2) size 782x38
+              RenderTableCell {TD} at (2,2) size 778x38 [border: (1px solid #AAAAAA)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 773x34
                   text run at (2,2) width 769: "This tests for a Mail crasher that happened when a selection was created with one endpoint in non-editable content and the"
                   text run at (771,2) width 4: " "
-                  text run at (2,20) width 155: "other in editable content."
+                  text run at (2,19) width 155: "other in editable content."
 caret: position 0 of child 0 {TABLE} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.png b/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.png
index 91c76f7..b54fe1b 100644
--- a/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.txt b/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.txt
index 50491a3..bf850b1b 100644
--- a/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/end-of-document-expected.txt
@@ -10,72 +10,72 @@
 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 784x320
-        RenderBlock {DIV} at (0,0) size 784x286
-          RenderBlock {DIV} at (0,0) size 784x18
-            RenderText {#text} at (0,0) size 308x19
+      RenderBlock {DIV} at (0,0) size 784x304
+        RenderBlock {DIV} at (0,0) size 784x271
+          RenderBlock {DIV} at (0,0) size 784x17
+            RenderText {#text} at (0,0) size 308x17
               text run at (0,0) width 308: "On Feb 1, 2006, at 7:37 PM, David Hyatt wrote:"
-          RenderBlock (anonymous) at (0,18) size 784x18
-            RenderBR {BR} at (0,0) size 0x19
-          RenderBlock {BLOCKQUOTE} at (40,52) size 704x234 [color=#0000FF]
-            RenderBlock {DIV} at (0,0) size 704x90
-              RenderText {#text} at (0,0) size 438x19
+          RenderBlock (anonymous) at (0,17) size 784x17
+            RenderBR {BR} at (0,0) size 0x17
+          RenderBlock {BLOCKQUOTE} at (40,50) size 704x221 [color=#0000FF]
+            RenderBlock {DIV} at (0,0) size 704x85
+              RenderText {#text} at (0,0) size 438x17
                 text run at (0,0) width 438: "While reworking images I ran into something that really concerns me."
-              RenderInline {SPAN} at (0,0) size 4x19
-                RenderText {#text} at (438,0) size 4x19
+              RenderInline {SPAN} at (0,0) size 4x17
+                RenderText {#text} at (438,0) size 4x17
                   text run at (438,0) width 4: " "
-              RenderText {#text} at (442,0) size 704x37
+              RenderText {#text} at (442,0) size 704x34
                 text run at (442,0) width 258: "WebElementImageKey is a key added to"
                 text run at (700,0) width 4: " "
-                text run at (0,18) width 413: "the elementAtPoint dictionary and the key's value is an NSImage."
-              RenderInline {SPAN} at (0,0) size 4x19
-                RenderText {#text} at (413,18) size 4x19
-                  text run at (413,18) width 4: " "
-              RenderText {#text} at (417,18) size 261x19
-                text run at (417,18) width 261: "Unfortunately we use CGImageRef now."
-              RenderInline {SPAN} at (0,0) size 4x19
-                RenderText {#text} at (678,18) size 4x19
-                  text run at (678,18) width 4: " "
-              RenderText {#text} at (0,36) size 700x55
-                text run at (0,36) width 685: "What this means is that as you move the mouse around a web page we are aggressively mallocing NSImages"
-                text run at (685,36) width 4: " "
-                text run at (0,54) width 696: "that then move into our image cache and stay around until the CGImageRef goes away (which could be a long"
-                text run at (696,54) width 4: " "
-                text run at (0,72) width 36: "time)."
-            RenderBlock {DIV} at (0,90) size 704x18
-              RenderBR {BR} at (0,0) size 0x19
-            RenderBlock {DIV} at (0,108) size 704x54
-              RenderText {#text} at (0,0) size 315x19
+                text run at (0,17) width 413: "the elementAtPoint dictionary and the key's value is an NSImage."
+              RenderInline {SPAN} at (0,0) size 4x17
+                RenderText {#text} at (413,17) size 4x17
+                  text run at (413,17) width 4: " "
+              RenderText {#text} at (417,17) size 261x17
+                text run at (417,17) width 261: "Unfortunately we use CGImageRef now."
+              RenderInline {SPAN} at (0,0) size 4x17
+                RenderText {#text} at (678,17) size 4x17
+                  text run at (678,17) width 4: " "
+              RenderText {#text} at (0,34) size 700x51
+                text run at (0,34) width 685: "What this means is that as you move the mouse around a web page we are aggressively mallocing NSImages"
+                text run at (685,34) width 4: " "
+                text run at (0,51) width 696: "that then move into our image cache and stay around until the CGImageRef goes away (which could be a long"
+                text run at (696,51) width 4: " "
+                text run at (0,68) width 36: "time)."
+            RenderBlock {DIV} at (0,85) size 704x17
+              RenderBR {BR} at (0,0) size 0x17
+            RenderBlock {DIV} at (0,102) size 704x51
+              RenderText {#text} at (0,0) size 315x17
                 text run at (0,0) width 315: "I think this is terrible but am not sure how to fix it."
-              RenderInline {SPAN} at (0,0) size 4x19
-                RenderText {#text} at (315,0) size 4x19
+              RenderInline {SPAN} at (0,0) size 4x17
+                RenderText {#text} at (315,0) size 4x17
                   text run at (315,0) width 4: " "
-              RenderText {#text} at (319,0) size 199x19
+              RenderText {#text} at (319,0) size 199x17
                 text run at (319,0) width 199: "I assume this key is public API."
-              RenderInline {SPAN} at (0,0) size 4x19
-                RenderText {#text} at (518,0) size 4x19
+              RenderInline {SPAN} at (0,0) size 4x17
+                RenderText {#text} at (518,0) size 4x17
                   text run at (518,0) width 4: " "
-              RenderText {#text} at (522,0) size 696x37
+              RenderText {#text} at (522,0) size 696x34
                 text run at (522,0) width 170: "Could we change the key's"
                 text run at (692,0) width 4: " "
-                text run at (0,18) width 224: "value to be a CGImageRef instead?"
-              RenderInline {SPAN} at (0,0) size 4x19
-                RenderText {#text} at (224,18) size 4x19
-                  text run at (224,18) width 4: " "
-              RenderText {#text} at (228,18) size 691x37
-                text run at (228,18) width 459: "Could we just eliminate the key in favor of a DOM extension method for"
-                text run at (687,18) width 4: " "
-                text run at (0,36) width 150: "accessing an NSImage?"
-            RenderBlock {DIV} at (0,162) size 704x18
-              RenderBR {BR} at (0,0) size 0x19
-            RenderBlock {DIV} at (0,180) size 704x18
-              RenderText {#text} at (0,0) size 30x19
+                text run at (0,17) width 224: "value to be a CGImageRef instead?"
+              RenderInline {SPAN} at (0,0) size 4x17
+                RenderText {#text} at (224,17) size 4x17
+                  text run at (224,17) width 4: " "
+              RenderText {#text} at (228,17) size 691x34
+                text run at (228,17) width 459: "Could we just eliminate the key in favor of a DOM extension method for"
+                text run at (687,17) width 4: " "
+                text run at (0,34) width 150: "accessing an NSImage?"
+            RenderBlock {DIV} at (0,153) size 704x17
+              RenderBR {BR} at (0,0) size 0x17
+            RenderBlock {DIV} at (0,170) size 704x17
+              RenderText {#text} at (0,0) size 30x17
                 text run at (0,0) width 30: "dave"
-            RenderBlock {DIV} at (0,198) size 704x18
-              RenderText {#text} at (0,0) size 121x19
+            RenderBlock {DIV} at (0,187) size 704x17
+              RenderText {#text} at (0,0) size 121x17
                 text run at (0,0) width 121: "(hyatt@apple.com)"
-            RenderBlock {DIV} at (0,216) size 704x18
-              RenderBR {BR} at (0,0) size 0x19
-        RenderBlock (anonymous) at (0,302) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
+            RenderBlock {DIV} at (0,204) size 704x17
+              RenderBR {BR} at (0,0) size 0x17
+        RenderBlock (anonymous) at (0,287) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
 caret: position 0 of child 0 {BR} of child 6 {DIV} of child 2 {BLOCKQUOTE} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.png b/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.png
index 2d91068..56acadd 100644
--- a/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.txt b/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.txt
index 90b5d0d..5fb6d08 100644
--- a/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/expanding-selections-expected.txt
@@ -7,19 +7,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 414: "This tests double clicking inside and at the end of an editable div. "
           text run at (414,0) width 362: "The selection that is created should not extend outside the"
-          text run at (0,18) width 97: "editable region."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 206x19
+          text run at (0,17) width 97: "editable region."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 206x17
           text run at (0,0) width 206: "This text is inside an editable div"
-        RenderInline {SPAN} at (0,0) size 4x19
-          RenderText {#text} at (206,0) size 4x19
+        RenderInline {SPAN} at (0,0) size 4x17
+          RenderText {#text} at (206,0) size 4x17
             text run at (206,0) width 4: " "
-layer at (8,94) size 784x18 scrollHeight 19
-  RenderBlock {P} at (0,86) size 784x18
-    RenderText {#text} at (0,0) size 150x19
+layer at (8,91) size 784x17
+  RenderBlock {P} at (0,83) size 784x17
+    RenderText {#text} at (0,0) size 150x17
       text run at (0,0) width 150: "This text is not editable."
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.png b/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.png
index fc2f2c0..38dfcbd 100644
--- a/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.txt b/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.txt
index d41ccb4..763e2b1 100644
--- a/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/expanding-selections2-expected.txt
@@ -7,19 +7,19 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 414: "This tests double clicking inside and at the end of an editable div. "
           text run at (414,0) width 362: "The selection that is created should not extend outside the"
-          text run at (0,18) width 97: "editable region."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 181x19
+          text run at (0,17) width 97: "editable region."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 181x17
           text run at (0,0) width 181: "This text is in an editable div"
-        RenderInline {SPAN} at (0,0) size 4x19
-          RenderText {#text} at (181,0) size 4x19
+        RenderInline {SPAN} at (0,0) size 4x17
+          RenderText {#text} at (181,0) size 4x17
             text run at (181,0) width 4: "."
-      RenderBlock (anonymous) at (0,70) size 784x18
-        RenderText {#text} at (0,0) size 242x19
+      RenderBlock (anonymous) at (0,67) size 784x17
+        RenderText {#text} at (0,0) size 242x17
           text run at (0,0) width 242: "This text is outside the editable region."
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.png
index fa61cb1..70fd30f 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.txt
index a0d81db..ceb3225 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-001-expected.txt
@@ -15,9 +15,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 115x28
-          RenderText {#text} at (14,14) size 115x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 115x26
+          RenderText {#text} at (14,14) size 115x26
             text run at (14,14) width 14: "f "
             text run at (28,14) width 30: "oo "
             text run at (58,14) width 37: "bar "
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.png
index 864ac2b..083e7a3 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.txt
index 4896433..ef4ef43 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-002-expected.txt
@@ -39,27 +39,27 @@
 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 784x355 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 254x246
-          RenderText {#text} at (14,95) size 11x28
-            text run at (14,95) width 11: "a"
+      RenderBlock {DIV} at (0,0) size 784x352 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 254x242
+          RenderText {#text} at (14,96) size 11x26
+            text run at (14,96) width 11: "a"
           RenderImage {IMG} at (25,14) size 76x103
-          RenderText {#text} at (101,95) size 46x28
-            text run at (101,95) width 46: "new "
+          RenderText {#text} at (101,96) size 46x26
+            text run at (101,96) width 46: "new "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,204) size 67x28
+          RenderText {#text} at (14,204) size 67x26
             text run at (14,204) width 67: "nation "
           RenderInline {I} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-          RenderImage {IMG} at (81,123) size 76x103
-          RenderText {#text} at (157,204) size 111x28
+          RenderImage {IMG} at (81,122) size 76x103
+          RenderText {#text} at (157,204) size 111x26
             text run at (157,204) width 6: " "
             text run at (163,204) width 105: "conceived "
-          RenderBR {BR} at (268,226) size 0x0
-          RenderText {#text} at (14,313) size 61x28
-            text run at (14,313) width 61: "nation"
-          RenderImage {IMG} at (75,232) size 76x103
+          RenderBR {BR} at (268,225) size 0x0
+          RenderText {#text} at (14,312) size 61x26
+            text run at (14,312) width 61: "nation"
+          RenderImage {IMG} at (75,230) size 76x103
         RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 6 of child 10 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.png
new file mode 100644
index 0000000..22e4f1d
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.txt
index a9b5647..4abd77a 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-003-expected.txt
@@ -165,26 +165,26 @@
 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 665x84
-          RenderInline {I} at (0,0) size 117x28
-            RenderText {#text} at (14,14) size 117x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 665x78
+          RenderInline {I} at (0,0) size 117x26
+            RenderText {#text} at (14,14) size 117x26
               text run at (14,14) width 21: "F "
               text run at (35,14) width 96: "and seven"
-          RenderText {#text} at (131,14) size 63x28
+          RenderText {#text} at (131,14) size 63x26
             text run at (131,14) width 63: " years "
-          RenderInline {B} at (0,0) size 27x28
-            RenderText {#text} at (194,14) size 27x28
+          RenderInline {B} at (0,0) size 27x26
+            RenderText {#text} at (194,14) size 27x26
               text run at (194,14) width 27: "as "
-          RenderText {#text} at (221,14) size 665x56
+          RenderText {#text} at (221,14) size 665x52
             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 (673,14) width 6: " "
-            text run at (14,42) width 232: "conceived    in Liberty, "
-            text run at (246,42) width 392: "and dedicated to the proposition that all "
+            text run at (14,40) width 232: "conceived    in Liberty, "
+            text run at (246,40) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,70) size 220x28
-            text run at (14,70) width 220: "men are created equal."
+          RenderText {#text} at (14,66) size 220x26
+            text run at (14,66) width 220: "men are created equal."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 0 {I} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 21 of child 5 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.png
new file mode 100644
index 0000000..d31db3a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.txt
index bd87503..65fd439 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-004-expected.txt
@@ -69,26 +69,26 @@
 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 784x355 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 254x246
-          RenderText {#text} at (14,95) size 11x28
-            text run at (14,95) width 11: "a"
+      RenderBlock {DIV} at (0,0) size 784x352 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 254x242
+          RenderText {#text} at (14,96) size 11x26
+            text run at (14,96) width 11: "a"
           RenderImage {IMG} at (25,14) size 76x103
-          RenderText {#text} at (101,95) size 46x28
-            text run at (101,95) width 46: "new "
+          RenderText {#text} at (101,96) size 46x26
+            text run at (101,96) width 46: "new "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,204) size 67x28
+          RenderText {#text} at (14,204) size 67x26
             text run at (14,204) width 67: "nation "
           RenderInline {I} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-          RenderImage {IMG} at (81,123) size 76x103
-          RenderText {#text} at (157,204) size 111x28
+          RenderImage {IMG} at (81,122) size 76x103
+          RenderText {#text} at (157,204) size 111x26
             text run at (157,204) width 111: " conceived "
-          RenderBR {BR} at (268,226) size 0x0
-          RenderText {#text} at (14,313) size 61x28
-            text run at (14,313) width 61: "nation"
-          RenderImage {IMG} at (75,232) size 76x103
+          RenderBR {BR} at (268,225) size 0x0
+          RenderText {#text} at (14,312) size 61x26
+            text run at (14,312) width 61: "nation"
+          RenderImage {IMG} at (75,230) size 76x103
         RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 1 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.png
new file mode 100644
index 0000000..0dfeca3
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.txt
index 084b7ef..c81ce41 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-005-expected.txt
@@ -323,26 +323,26 @@
 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 665x84
-          RenderInline {I} at (0,0) size 117x28
-            RenderText {#text} at (14,14) size 117x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 665x78
+          RenderInline {I} at (0,0) size 117x26
+            RenderText {#text} at (14,14) size 117x26
               text run at (14,14) width 21: "F "
               text run at (35,14) width 96: "and seven"
-          RenderText {#text} at (131,14) size 63x28
+          RenderText {#text} at (131,14) size 63x26
             text run at (131,14) width 63: " years "
-          RenderInline {B} at (0,0) size 27x28
-            RenderText {#text} at (194,14) size 27x28
+          RenderInline {B} at (0,0) size 27x26
+            RenderText {#text} at (194,14) size 27x26
               text run at (194,14) width 27: "as "
-          RenderText {#text} at (221,14) size 665x56
+          RenderText {#text} at (221,14) size 665x52
             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 (673,14) width 6: " "
-            text run at (14,42) width 232: "conceived    in Liberty, "
-            text run at (246,42) width 392: "and dedicated to the proposition that all "
+            text run at (14,40) width 232: "conceived    in Liberty, "
+            text run at (246,40) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,70) size 220x28
-            text run at (14,70) width 220: "men are created equal."
+          RenderText {#text} at (14,66) size 220x26
+            text run at (14,66) width 220: "men are created equal."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 0 {I} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 1 of child 0 {#text} of child 0 {I} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.png
index fa79762..66bbaa8 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.txt
index 6150a9e..e8fc2d4 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-character-006-expected.txt
@@ -9,9 +9,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.png
index 9c10fe6..c22b663 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.txt
index fedbd87..eb306fd 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-sentence-001-expected.txt
@@ -10,18 +10,18 @@
 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 #FF0000)]
-        RenderBlock {FRIJOLE} at (14,14) size 756x56
-          RenderBlock (anonymous) at (0,0) size 756x28
-            RenderText {#text} at (0,0) size 132x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderBlock {FRIJOLE} at (14,14) size 756x52
+          RenderBlock (anonymous) at (0,0) size 756x26
+            RenderText {#text} at (0,0) size 132x26
               text run at (0,0) width 132: "one two three"
-            RenderInline {FRIJOLE} at (0,0) size 0x28
+            RenderInline {FRIJOLE} at (0,0) size 0x26
               RenderText {#text} at (0,0) size 0x0
-          RenderBlock (anonymous) at (0,28) size 756x28
-            RenderBlock {DOODAD} at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 118x28
+          RenderBlock (anonymous) at (0,26) size 756x26
+            RenderBlock {DOODAD} at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 118x26
                 text run at (0,0) width 118: "four five six"
-          RenderBlock (anonymous) at (0,56) size 756x0
+          RenderBlock (anonymous) at (0,52) size 756x0
             RenderInline {FRIJOLE} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 1 {DOODAD} of child 1 {FRIJOLE} of child 1 {FRIJOLE} of child 1 {DIV} of body
 selection end:   position 13 of child 0 {#text} of child 1 {DOODAD} of child 1 {FRIJOLE} of child 1 {FRIJOLE} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.png
index 18f298c..356c127 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.txt
index 54bf633..2727830 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-word-001-expected.txt
@@ -11,14 +11,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 32x26
             text run at (0,0) width 32: "foo"
-          RenderInline {SPAN} at (0,0) size 16x28
-            RenderText {#text} at (32,0) size 16x28
+          RenderInline {SPAN} at (0,0) size 16x26
+            RenderText {#text} at (32,0) size 16x26
               text run at (32,0) width 16: "\x{9}"
-          RenderText {#text} at (48,0) size 31x28
+          RenderText {#text} at (48,0) size 31x26
             text run at (48,0) width 31: "bar"
 selection start: position 0 of child 2 {#text} of child 1 {DIV} of child 1 {DIV} of body
 selection end:   position 3 of child 2 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.png
index 1152351..8579488 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.txt
index 60fa0c8..57e69229 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-by-word-002-expected.txt
@@ -12,63 +12,63 @@
 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 148x160 [border: (2px solid #FF0000)]
-        RenderBlock {UL} at (14,14) size 120x132
+      RenderBlock {DIV} at (0,0) size 148x159 [border: (2px solid #FF0000)]
+        RenderBlock {UL} at (14,14) size 120x131
           RenderListItem {LI} at (0,0) size 120x20
-            RenderListMarker at (-14,5) size 5x13: bullet
-            RenderInline (generated) at (0,0) size 12x24
-              RenderText {#text} at (5,-4) size 12x24
-                text run at (5,-4) width 12: "\x{B7} "
+            RenderListMarker at (-14,6) size 5x11: bullet
+            RenderInline (generated) at (0,0) size 12x22
+              RenderText {#text} at (5,-3) size 12x22
+                text run at (5,-3) width 12: "\x{B7} "
             RenderText {#text} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 49x13 [color=#0000EE]
-              RenderText {#text} at (17,5) size 49x13
-                text run at (17,5) width 49: "Appetizers"
+            RenderInline {A} at (0,0) size 49x11 [color=#0000EE]
+              RenderText {#text} at (17,6) size 49x11
+                text run at (17,6) width 49: "Appetizers"
           RenderListItem {LI} at (0,20) size 120x20
-            RenderListMarker at (-14,5) size 5x13: bullet
-            RenderInline (generated) at (0,0) size 12x24
-              RenderText {#text} at (5,-4) size 12x24
-                text run at (5,-4) width 12: "\x{B7} "
+            RenderListMarker at (-14,6) size 5x11: bullet
+            RenderInline (generated) at (0,0) size 12x22
+              RenderText {#text} at (5,-3) size 12x22
+                text run at (5,-3) width 12: "\x{B7} "
             RenderText {#text} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 75x13 [color=#0000EE]
-              RenderText {#text} at (17,5) size 75x13
-                text run at (17,5) width 75: "Soups & Salads"
-          RenderListItem {LI} at (0,40) size 120x32
-            RenderListMarker at (-14,5) size 5x13: bullet
-            RenderInline (generated) at (0,0) size 12x24
-              RenderText {#text} at (5,-4) size 12x24
-                text run at (5,-4) width 12: "\x{B7} "
+            RenderInline {A} at (0,0) size 75x11 [color=#0000EE]
+              RenderText {#text} at (17,6) size 75x11
+                text run at (17,6) width 75: "Soups & Salads"
+          RenderListItem {LI} at (0,40) size 120x31
+            RenderListMarker at (-14,6) size 5x11: bullet
+            RenderInline (generated) at (0,0) size 12x22
+              RenderText {#text} at (5,-3) size 12x22
+                text run at (5,-3) width 12: "\x{B7} "
             RenderText {#text} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 70x25 [color=#0000EE]
-              RenderText {#text} at (17,5) size 70x25
-                text run at (17,5) width 66: "Sandwiches &"
-                text run at (83,5) width 3: " "
+            RenderInline {A} at (0,0) size 70x22 [color=#0000EE]
+              RenderText {#text} at (17,6) size 70x22
+                text run at (17,6) width 66: "Sandwiches &"
+                text run at (83,6) width 3: " "
                 text run at (16,17) width 36: "Burgers"
-          RenderListItem {LI} at (0,72) size 120x20
-            RenderListMarker at (-14,5) size 5x13: bullet
-            RenderInline (generated) at (0,0) size 12x24
-              RenderText {#text} at (5,-4) size 12x24
-                text run at (5,-4) width 12: "\x{B7} "
+          RenderListItem {LI} at (0,71) size 120x20
+            RenderListMarker at (-14,6) size 5x11: bullet
+            RenderInline (generated) at (0,0) size 12x22
+              RenderText {#text} at (5,-3) size 12x22
+                text run at (5,-3) width 12: "\x{B7} "
             RenderText {#text} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 60x13 [color=#0000EE]
-              RenderText {#text} at (17,5) size 60x13
-                text run at (17,5) width 60: "Steak & Ribs"
-          RenderListItem {LI} at (0,92) size 120x20
-            RenderListMarker at (-14,5) size 5x13: bullet
-            RenderInline (generated) at (0,0) size 12x24
-              RenderText {#text} at (5,-4) size 12x24
-                text run at (5,-4) width 12: "\x{B7} "
+            RenderInline {A} at (0,0) size 60x11 [color=#0000EE]
+              RenderText {#text} at (17,6) size 60x11
+                text run at (17,6) width 60: "Steak & Ribs"
+          RenderListItem {LI} at (0,91) size 120x20
+            RenderListMarker at (-14,6) size 5x11: bullet
+            RenderInline (generated) at (0,0) size 12x22
+              RenderText {#text} at (5,-3) size 12x22
+                text run at (5,-3) width 12: "\x{B7} "
             RenderText {#text} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 40x13 [color=#0000EE]
-              RenderText {#text} at (17,5) size 40x13
-                text run at (17,5) width 40: "Seafood"
-          RenderListItem {LI} at (0,112) size 120x20
-            RenderListMarker at (-14,5) size 5x13: bullet
-            RenderInline (generated) at (0,0) size 12x24
-              RenderText {#text} at (5,-4) size 12x24
-                text run at (5,-4) width 12: "\x{B7} "
+            RenderInline {A} at (0,0) size 40x11 [color=#0000EE]
+              RenderText {#text} at (17,6) size 40x11
+                text run at (17,6) width 40: "Seafood"
+          RenderListItem {LI} at (0,111) size 120x20
+            RenderListMarker at (-14,6) size 5x11: bullet
+            RenderInline (generated) at (0,0) size 12x22
+              RenderText {#text} at (5,-3) size 12x22
+                text run at (5,-3) width 12: "\x{B7} "
             RenderText {#text} at (0,0) size 0x0
-            RenderInline {A} at (0,0) size 38x13 [color=#0000EE]
-              RenderText {#text} at (17,5) size 38x13
-                text run at (17,5) width 38: "Combos"
+            RenderInline {A} at (0,0) size 38x11 [color=#0000EE]
+              RenderText {#text} at (17,6) size 38x11
+                text run at (17,6) width 38: "Combos"
 selection start: position 0 of child 0 {#text} of child 1 {A} of child 1 {LI} of child 1 {UL} of child 1 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 1 {A} of child 7 {LI} of child 1 {UL} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.png
index 34630d0..e868c4d 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.txt
index cdf349e..421d847 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-backward-expected.txt
@@ -6,10 +6,10 @@
 layer at (8,8) size 200x200
   RenderBlock {DIV} at (0,0) size 200x200
     RenderBlock {P} at (0,0) size 200x57
-      RenderText {#text} at (0,0) size 150x58
+      RenderText {#text} at (0,0) size 150x57
         text run at (0,0) width 150: "hello"
     RenderBlock {P} at (0,57) size 200x57
-      RenderText {#text} at (0,0) size 150x58
+      RenderText {#text} at (0,0) size 150x57
         text run at (0,0) width 150: "world"
 selection start: position 3 of child 0 {#text} of child 1 {P} of child 1 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 3 {P} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.png
index dea07aa..c9cfcc8 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.txt
index a2272cd..8317d83 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-inside-transforms-forward-expected.txt
@@ -6,10 +6,10 @@
 layer at (8,8) size 200x200
   RenderBlock {DIV} at (0,0) size 200x200
     RenderBlock {P} at (0,0) size 200x57
-      RenderText {#text} at (0,0) size 150x58
+      RenderText {#text} at (0,0) size 150x57
         text run at (0,0) width 150: "hello"
     RenderBlock {P} at (0,57) size 200x57
-      RenderText {#text} at (0,0) size 150x58
+      RenderText {#text} at (0,0) size 150x57
         text run at (0,0) width 150: "world"
 selection start: position 2 of child 0 {#text} of child 1 {P} of child 1 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 3 {P} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.png b/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.png
new file mode 100644
index 0000000..f80e6fc
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.txt b/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.txt
index f026eaa..5042fe8 100644
--- a/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/extend-selection-bidi-expected.txt
@@ -15,23 +15,23 @@
 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 784x36
-        RenderText {#text} at (0,0) size 361x19
+      RenderBlock (anonymous) at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 361x17
           text run at (0,0) width 361: "The selection range in the red box should look like this:   "
-        RenderInline {SPAN} at (0,0) size 109x19 [bgcolor=#AFDAFF]
-          RenderText {#text} at (361,0) size 109x19
+        RenderInline {SPAN} at (0,0) size 109x17 [bgcolor=#AFDAFF]
+          RenderText {#text} at (361,0) size 109x17
             text run at (361,0) width 26: "abc "
             text run at (415,0) width 8: "1"
             text run at (439,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-        RenderText {#text} at (387,0) size 111x19
+        RenderText {#text} at (387,0) size 111x17
           text run at (387,0) width 28 RTL: " \x{5D3}\x{5D4}\x{5D5}"
           text run at (423,0) width 16: "23"
           text run at (470,0) width 28: " def "
-        RenderBR {BR} at (498,15) size 0x0
-        RenderBR {BR} at (0,18) size 0x19
-      RenderBlock {DIV} at (0,36) size 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 202x28
-          RenderText {#text} at (14,14) size 202x28
+        RenderBR {BR} at (498,14) size 0x0
+        RenderBR {BR} at (0,17) size 0x17
+      RenderBlock {DIV} at (0,34) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 202x26
+          RenderText {#text} at (14,14) size 202x26
             text run at (14,14) width 40: "abc "
             text run at (54,14) width 42 RTL: " \x{5D3}\x{5D4}\x{5D5}"
             text run at (96,14) width 36: "123"
diff --git a/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.png b/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.png
index 833c5a7..5cfb845 100644
--- a/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.txt b/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.txt
index 1e47363..1c33285 100644
--- a/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/fake-doubleclick-expected.txt
@@ -9,8 +9,8 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (0,0) size 800x600
-      RenderBlock {DIV} at (0,0) size 800x18
-        RenderText {#text} at (0,0) size 193x19
+      RenderBlock {DIV} at (0,0) size 800x17
+        RenderText {#text} at (0,0) size 193x17
           text run at (0,0) width 193: "Select me, select me, select me"
 selection start: position 0 of child 0 {#text} of child 1 {DIV} of body
 selection end:   position 6 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/focus-body-expected.png b/LayoutTests/platform/gtk/editing/selection/focus-body-expected.png
index 63299e7..c994080 100644
--- a/LayoutTests/platform/gtk/editing/selection/focus-body-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/focus-body-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/focus-body-expected.txt b/LayoutTests/platform/gtk/editing/selection/focus-body-expected.txt
index 827dd1f..718f84da 100644
--- a/LayoutTests/platform/gtk/editing/selection/focus-body-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/focus-body-expected.txt
@@ -7,7 +7,7 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderText {#text} at (0,0) size 438x19
+      RenderText {#text} at (0,0) size 438x17
         text run at (0,0) width 220: "This test focuses an editable body. "
         text run at (220,0) width 218: "Its contents should not be selected."
       RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.png b/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.png
index e3b6bfb..1ac4533 100644
--- a/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.txt b/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.txt
index a2a63eb..6145a88 100644
--- a/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/focus_editable_html-expected.txt
@@ -6,24 +6,24 @@
 EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 9 of BODY > HTML > #document
 EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-layer at (0,0) size 2008x2088
+layer at (0,0) size 2008x2084
   RenderView at (0,0) size 785x585
-layer at (0,0) size 785x2088
-  RenderBlock {HTML} at (0,0) size 785x2088
-    RenderBody {BODY} at (8,8) size 769x2072
-      RenderBlock (anonymous) at (0,0) size 769x54
-        RenderText {#text} at (0,0) size 583x19
+layer at (0,0) size 785x2084
+  RenderBlock {HTML} at (0,0) size 785x2084
+    RenderBody {BODY} at (8,8) size 769x2068
+      RenderBlock (anonymous) at (0,0) size 769x51
+        RenderText {#text} at (0,0) size 583x17
           text run at (0,0) width 583: "This test makes sure that we don't scroll unnecessarily to reveal an editable HTML Element. "
-        RenderBR {BR} at (583,15) size 0x0
-        RenderText {#text} at (0,18) size 262x19
-          text run at (0,18) width 262: "If the document doesn't scroll, test passes."
-        RenderBR {BR} at (262,33) size 0x0
-        RenderInline {B} at (0,0) size 528x19
-          RenderText {#text} at (0,36) size 528x19
-            text run at (0,36) width 528: "This demonstrates a bug: normally, focusing an element will select its contents."
+        RenderBR {BR} at (583,14) size 0x0
+        RenderText {#text} at (0,17) size 262x17
+          text run at (0,17) width 262: "If the document doesn't scroll, test passes."
+        RenderBR {BR} at (262,31) size 0x0
+        RenderInline {B} at (0,0) size 528x17
+          RenderText {#text} at (0,34) size 528x17
+            text run at (0,34) width 528: "This demonstrates a bug: normally, focusing an element will select its contents."
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,54) size 2000x2000
-      RenderBlock (anonymous) at (0,2054) size 769x18
-        RenderText {#text} at (0,0) size 237x19
+      RenderBlock {DIV} at (0,51) size 2000x2000
+      RenderBlock (anonymous) at (0,2051) size 769x17
+        RenderText {#text} at (0,0) size 237x17
           text run at (0,0) width 237: "If the document scrolls here, test fails."
 caret: position 1 of child 0 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/iframe-expected.png b/LayoutTests/platform/gtk/editing/selection/iframe-expected.png
new file mode 100644
index 0000000..e8461a4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/iframe-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/iframe-expected.txt b/LayoutTests/platform/gtk/editing/selection/iframe-expected.txt
index 0fd7cc6..c91bb8c 100644
--- a/LayoutTests/platform/gtk/editing/selection/iframe-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/iframe-expected.txt
@@ -187,68 +187,68 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 742x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 742x34
           text run at (0,0) width 277: "This tests caret movement across an iframe. "
           text run at (277,0) width 465: "The caret shouldn't enter the iframe as the user arrows across it (unless we"
-          text run at (0,18) width 194: "decide later that we want it to)."
-      RenderBlock {DIV} at (0,52) size 784x205
+          text run at (0,17) width 194: "decide later that we want it to)."
+      RenderBlock {DIV} at (0,50) size 784x205
         RenderBlock {DIV} at (0,0) size 784x205
-          RenderText {#text} at (0,187) size 48x19
-            text run at (0,187) width 48: "iframe: "
+          RenderText {#text} at (0,188) size 48x17
+            text run at (0,188) width 48: "iframe: "
           RenderPartObject {IFRAME} at (48,0) size 402x202 [border: (1px solid #000000)]
             layer at (0,0) size 400x200
               RenderView at (0,0) size 400x200
             layer at (0,0) size 400x200
               RenderBlock {HTML} at (0,0) size 400x200
                 RenderBody {BODY} at (8,8) size 384x184
-                  RenderBlock {P} at (0,0) size 384x90
-                    RenderText {#text} at (0,0) size 382x91
+                  RenderBlock {P} at (0,0) size 384x85
+                    RenderText {#text} at (0,0) size 382x85
                       text run at (0,0) width 316: "This tests caret movement through an inline table. "
                       text run at (316,0) width 37: "There"
-                      text run at (0,18) width 382: "should be visual positions before and after the inline table, as"
-                      text run at (0,36) width 125: "if it were an image. "
-                      text run at (125,36) width 254: "The caret shouldn't skip across the table,"
-                      text run at (0,54) width 380: "but should enter it (unless we later decide that we don't want"
-                      text run at (0,72) width 90: "this behavior)."
-                  RenderBlock {DIV} at (0,106) size 384x76
-                    RenderBlock {DIV} at (0,0) size 384x76
-                      RenderText {#text} at (0,8) size 80x19
+                      text run at (0,17) width 382: "should be visual positions before and after the inline table, as"
+                      text run at (0,34) width 125: "if it were an image. "
+                      text run at (125,34) width 254: "The caret shouldn't skip across the table,"
+                      text run at (0,51) width 380: "but should enter it (unless we later decide that we don't want"
+                      text run at (0,68) width 90: "this behavior)."
+                  RenderBlock {DIV} at (0,101) size 384x73
+                    RenderBlock {DIV} at (0,0) size 384x73
+                      RenderText {#text} at (0,8) size 80x17
                         text run at (0,8) width 80: "Inline Table:"
-                      RenderTable {TABLE} at (80,0) size 132x76 [border: (1px outset #808080)]
-                        RenderTableSection {TBODY} at (1,1) size 130x74
-                          RenderTableRow {TR} at (0,2) size 130x22
-                            RenderTableCell {TD} at (2,2) size 43x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 27x19
+                      RenderTable {TABLE} at (80,0) size 132x73 [border: (1px outset #808080)]
+                        RenderTableSection {TBODY} at (1,1) size 130x71
+                          RenderTableRow {TR} at (0,2) size 130x21
+                            RenderTableCell {TD} at (2,2) size 43x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 27x17
                                 text run at (2,2) width 27: "One"
-                            RenderTableCell {TD} at (47,2) size 38x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 30x19
+                            RenderTableCell {TD} at (47,2) size 38x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 30x17
                                 text run at (2,2) width 30: "Two"
-                            RenderTableCell {TD} at (87,2) size 41x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 37x19
+                            RenderTableCell {TD} at (87,2) size 41x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 37x17
                                 text run at (2,2) width 37: "Three"
-                          RenderTableRow {TR} at (0,26) size 130x22
-                            RenderTableCell {TD} at (2,26) size 43x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 30x19
+                          RenderTableRow {TR} at (0,25) size 130x21
+                            RenderTableCell {TD} at (2,25) size 43x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 30x17
                                 text run at (2,2) width 30: "Four"
-                            RenderTableCell {TD} at (47,26) size 38x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 28x19
+                            RenderTableCell {TD} at (47,25) size 38x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 28x17
                                 text run at (2,2) width 28: "Five"
-                            RenderTableCell {TD} at (87,26) size 41x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 21x19
+                            RenderTableCell {TD} at (87,25) size 41x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 21x17
                                 text run at (2,2) width 21: "Six"
-                          RenderTableRow {TR} at (0,50) size 130x22
-                            RenderTableCell {TD} at (2,50) size 43x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 39x19
+                          RenderTableRow {TR} at (0,48) size 130x21
+                            RenderTableCell {TD} at (2,48) size 43x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 39x17
                                 text run at (2,2) width 39: "Seven"
-                            RenderTableCell {TD} at (47,50) size 38x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 34x19
+                            RenderTableCell {TD} at (47,48) size 38x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 34x17
                                 text run at (2,2) width 34: "Eight"
-                            RenderTableCell {TD} at (87,50) size 41x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                              RenderText {#text} at (2,2) size 31x19
+                            RenderTableCell {TD} at (87,48) size 41x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                              RenderText {#text} at (2,2) size 31x17
                                 text run at (2,2) width 31: "Nine"
-                      RenderText {#text} at (212,8) size 67x19
+                      RenderText {#text} at (212,8) size 67x17
                         text run at (212,8) width 67: "The End..."
-          RenderText {#text} at (450,187) size 66x19
-            text run at (450,187) width 66: " the end ..."
+          RenderText {#text} at (450,188) size 66x17
+            text run at (450,188) width 66: " the end ..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.png b/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.png
index a4dcb96..07c5759 100644
--- a/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.txt b/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.txt
index 894d744..428a1e3 100644
--- a/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/image-before-linebreak-expected.txt
@@ -6,14 +6,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 341x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 341x17
           text run at (0,0) width 341: "Only the line break after the image should be selected."
-      RenderBlock {HR} at (0,34) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,44) size 784x121
+      RenderBlock {HR} at (0,33) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,43) size 784x120
         RenderImage {IMG} at (0,0) size 76x103
         RenderBR {BR} at (76,103) size 0x0
-        RenderText {#text} at (0,103) size 21x19
+        RenderText {#text} at (0,103) size 21x17
           text run at (0,103) width 21: "foo"
 selection start: position 0 of child 1 {BR} of child 4 {DIV} of body
 selection end:   position 1 of child 1 {BR} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.png b/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.png
index 47ba29b..5e691e0 100644
--- a/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.txt b/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.txt
index f52a4ab..ce5b2f7 100644
--- a/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/inline-closest-leaf-child-expected.txt
@@ -3,34 +3,34 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 53x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 53x17
           text run at (0,0) width 53: "Test for "
-        RenderInline {I} at (0,0) size 728x37
-          RenderInline {A} at (0,0) size 301x19 [color=#0000EE]
-            RenderText {#text} at (53,0) size 301x19
+        RenderInline {I} at (0,0) size 728x34
+          RenderInline {A} at (0,0) size 301x17 [color=#0000EE]
+            RenderText {#text} at (53,0) size 301x17
               text run at (53,0) width 301: "http://bugs.webkit.org/show_bug.cgi?id=14911"
-          RenderText {#text} at (354,0) size 728x37
+          RenderText {#text} at (354,0) size 728x34
             text run at (354,0) width 4: " "
             text run at (358,0) width 370: "REGRESSION: Clicking in pasted text doesn't position the"
-            text run at (0,18) width 151: "insertion point correctly"
-        RenderText {#text} at (151,18) size 4x19
-          text run at (151,18) width 4: "."
-      RenderBlock {P} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 558x19
+            text run at (0,17) width 151: "insertion point correctly"
+        RenderText {#text} at (151,17) size 4x17
+          text run at (151,17) width 4: "."
+      RenderBlock {P} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 558x17
           text run at (0,0) width 528: "You should be able to select individual letters in \x{201C}ipsum\x{201D} by dragging in the yellow "
           text run at (528,0) width 30: "area "
-        RenderInline {EM} at (0,0) size 38x19
-          RenderText {#text} at (558,0) size 38x19
+        RenderInline {EM} at (0,0) size 38x17
+          RenderText {#text} at (558,0) size 38x17
             text run at (558,0) width 38: "above"
-        RenderText {#text} at (596,0) size 39x19
+        RenderText {#text} at (596,0) size 39x17
           text run at (596,0) width 39: " them."
-      RenderBlock (floating) {DIV} at (0,86) size 84x80 [bgcolor=#FFFFAA]
-        RenderInline {SPAN} at (0,0) size 84x19 [bgcolor=#FFFFFF]
-          RenderText {#text} at (0,30) size 46x19
-            text run at (0,30) width 46: "Lorem "
-          RenderText {#text} at (46,30) size 38x19
-            text run at (46,30) width 38: "ipsum"
+      RenderBlock (floating) {DIV} at (0,83) size 84x80 [bgcolor=#FFFFAA]
+        RenderInline {SPAN} at (0,0) size 84x17 [bgcolor=#FFFFFF]
+          RenderText {#text} at (0,31) size 46x17
+            text run at (0,31) width 46: "Lorem "
+          RenderText {#text} at (46,31) size 38x17
+            text run at (46,31) width 38: "ipsum"
         RenderText {#text} at (0,0) size 0x0
 selection start: position 2 of child 0 {#text} of child 1 {SPAN} of child 4 {DIV} of body
 selection end:   position 5 of child 2 {#text} of child 1 {SPAN} of child 4 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/inline-table-expected.png b/LayoutTests/platform/gtk/editing/selection/inline-table-expected.png
new file mode 100644
index 0000000..c819b4c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/inline-table-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/inline-table-expected.txt b/LayoutTests/platform/gtk/editing/selection/inline-table-expected.txt
index 0aad426..18eaa39 100644
--- a/LayoutTests/platform/gtk/editing/selection/inline-table-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/inline-table-expected.txt
@@ -144,49 +144,49 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 764x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 764x51
           text run at (0,0) width 316: "This tests caret movement through an inline table. "
           text run at (316,0) width 448: "There should be visual positions before and after the inline table, as if it"
-          text run at (0,18) width 100: "were an image. "
-          text run at (100,18) width 664: "The caret shouldn't skip across the table, but should enter it (unless we later decide that we don't want this"
-          text run at (0,36) width 64: "behavior)."
-      RenderBlock {DIV} at (0,70) size 784x76
-        RenderBlock {DIV} at (0,0) size 784x76
-          RenderText {#text} at (0,8) size 80x19
+          text run at (0,17) width 100: "were an image. "
+          text run at (100,17) width 664: "The caret shouldn't skip across the table, but should enter it (unless we later decide that we don't want this"
+          text run at (0,34) width 64: "behavior)."
+      RenderBlock {DIV} at (0,67) size 784x73
+        RenderBlock {DIV} at (0,0) size 784x73
+          RenderText {#text} at (0,8) size 80x17
             text run at (0,8) width 80: "Inline Table:"
-          RenderTable {TABLE} at (80,0) size 132x76 [border: (1px outset #808080)]
-            RenderTableSection {TBODY} at (1,1) size 130x74
-              RenderTableRow {TR} at (0,2) size 130x22
-                RenderTableCell {TD} at (2,2) size 43x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 27x19
+          RenderTable {TABLE} at (80,0) size 132x73 [border: (1px outset #808080)]
+            RenderTableSection {TBODY} at (1,1) size 130x71
+              RenderTableRow {TR} at (0,2) size 130x21
+                RenderTableCell {TD} at (2,2) size 43x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 27x17
                     text run at (2,2) width 27: "One"
-                RenderTableCell {TD} at (47,2) size 38x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 30x19
+                RenderTableCell {TD} at (47,2) size 38x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 30x17
                     text run at (2,2) width 30: "Two"
-                RenderTableCell {TD} at (87,2) size 41x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 37x19
+                RenderTableCell {TD} at (87,2) size 41x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 37x17
                     text run at (2,2) width 37: "Three"
-              RenderTableRow {TR} at (0,26) size 130x22
-                RenderTableCell {TD} at (2,26) size 43x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 30x19
+              RenderTableRow {TR} at (0,25) size 130x21
+                RenderTableCell {TD} at (2,25) size 43x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 30x17
                     text run at (2,2) width 30: "Four"
-                RenderTableCell {TD} at (47,26) size 38x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 28x19
+                RenderTableCell {TD} at (47,25) size 38x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 28x17
                     text run at (2,2) width 28: "Five"
-                RenderTableCell {TD} at (87,26) size 41x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 21x19
+                RenderTableCell {TD} at (87,25) size 41x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 21x17
                     text run at (2,2) width 21: "Six"
-              RenderTableRow {TR} at (0,50) size 130x22
-                RenderTableCell {TD} at (2,50) size 43x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 39x19
+              RenderTableRow {TR} at (0,48) size 130x21
+                RenderTableCell {TD} at (2,48) size 43x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 39x17
                     text run at (2,2) width 39: "Seven"
-                RenderTableCell {TD} at (47,50) size 38x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 34x19
+                RenderTableCell {TD} at (47,48) size 38x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 34x17
                     text run at (2,2) width 34: "Eight"
-                RenderTableCell {TD} at (87,50) size 41x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 31x19
+                RenderTableCell {TD} at (87,48) size 41x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 31x17
                     text run at (2,2) width 31: "Nine"
-          RenderText {#text} at (212,8) size 67x19
+          RenderText {#text} at (212,8) size 67x17
             text run at (212,8) width 67: "The End..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.png b/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.png
index 2f5131e..f97e794 100644
--- a/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.txt b/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.txt
index e26e107..9f372ab 100644
--- a/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/leave-requested-block-expected.txt
@@ -7,26 +7,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 127x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 127x17
           text run at (0,0) width 127: "Test case for fix for "
-        RenderInline {A} at (0,0) size 343x19 [color=#0000EE]
-          RenderText {#text} at (127,0) size 343x19
+        RenderInline {A} at (0,0) size 343x17 [color=#0000EE]
+          RenderText {#text} at (127,0) size 343x17
             text run at (127,0) width 343: "http://bugzilla.opendarwin.org/show_bug.cgi?id=5354"
-        RenderText {#text} at (470,0) size 4x19
+        RenderText {#text} at (470,0) size 4x17
           text run at (470,0) width 4: "."
-      RenderBlock {P} at (0,34) size 784x36
-        RenderText {#text} at (0,0) size 772x37
+      RenderBlock {P} at (0,33) size 784x34
+        RenderText {#text} at (0,0) size 772x34
           text run at (0,0) width 772: "Changes were made to VisiblePosition's so that init() will not leave the block containing the requested position unless there"
-          text run at (0,18) width 231: "are no VisiblePositions in that block."
-      RenderBlock {P} at (0,86) size 784x0
-      RenderBlock {DIV} at (0,86) size 784x54 [border: (2px solid #AAAAFF)]
-        RenderBlock {P} at (2,18) size 780x18
-          RenderText {#text} at (0,0) size 682x19
+          text run at (0,17) width 231: "are no VisiblePositions in that block."
+      RenderBlock {P} at (0,83) size 784x0
+      RenderBlock {DIV} at (0,83) size 784x53 [border: (2px solid #AAAAFF)]
+        RenderBlock {P} at (2,18) size 780x17
+          RenderText {#text} at (0,0) size 682x17
             text run at (0,0) width 682: "Select All while inside this editable block should create a selection that does not extend outside of this block."
-layer at (8,164) size 784x18 scrollHeight 19
-  RenderBlock {P} at (0,156) size 784x18
-    RenderText {#text} at (0,0) size 424x19
+layer at (8,160) size 784x17
+  RenderBlock {P} at (0,152) size 784x17
+    RenderText {#text} at (0,0) size 424x17
       text run at (0,0) width 424: "This is a paragraph outside the editable block with overflow:hidden"
 selection start: position 0 of child 0 {#text} of child 1 {P} of child 5 {DIV} of body
 selection end:   position 113 of child 0 {#text} of child 1 {P} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.png b/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.png
index c5e8668..c55ac88 100644
--- a/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.txt
index c57f472..3673f42 100644
--- a/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/line-wrap-1-expected.txt
@@ -4,12 +4,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 185x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 185x17
           text run at (0,0) width 185: "Only 'bar' should be selected."
-      RenderBlock {DIV} at (0,34) size 52x38 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 47x37
+      RenderBlock {DIV} at (0,33) size 52x36 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 47x34
           text run at (1,1) width 45: "foo bar"
-          text run at (1,19) width 47: "baz foo"
+          text run at (1,18) width 47: "baz foo"
 selection start: position 4 of child 0 {#text} of child 2 {DIV} of body
 selection end:   position 7 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.png b/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.png
index 621dab3..c093e77 100644
--- a/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.txt
index fe993ee..f54f870 100644
--- a/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/line-wrap-2-expected.txt
@@ -4,14 +4,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 230x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 230x17
           text run at (0,0) width 230: "Only 'baz' should be selected below."
-      RenderBlock {DIV} at (50,34) size 52x38 [border: (1px solid #000000)]
-        RenderText {#text} at (1,1) size 45x19
+      RenderBlock {DIV} at (50,33) size 52x36 [border: (1px solid #000000)]
+        RenderText {#text} at (1,1) size 45x17
           text run at (1,1) width 45: "foo bar"
-        RenderInline {A} at (0,0) size 22x19 [color=#0000EE]
-          RenderText {#text} at (1,19) size 22x19
-            text run at (1,19) width 22: "baz"
+        RenderInline {A} at (0,0) size 22x17 [color=#0000EE]
+          RenderText {#text} at (1,18) size 22x17
+            text run at (1,18) width 22: "baz"
 selection start: position 0 of child 0 {#text} of child 1 {A} of child 2 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 1 {A} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.png
index f465143..88175cf 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.txt
index 3f51a7d..fdbba81 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-1-expected.txt
@@ -9,14 +9,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderInline {SPAN} at (0,0) size 20x19
-        RenderText {#text} at (0,0) size 20x19
+      RenderInline {SPAN} at (0,0) size 20x17
+        RenderText {#text} at (0,0) size 20x17
           text run at (0,0) width 20: "On"
-      RenderText {#text} at (20,0) size 784x37
+      RenderText {#text} at (20,0) size 784x34
         text run at (20,0) width 464: "ly the first two letters of the first word in this sentence should be selected. "
         text run at (484,0) width 298: "To run this test manually, double click between"
         text run at (782,0) width 2: " "
-        text run at (0,18) width 351: "the first two letters of the first word of the first sentence."
+        text run at (0,17) width 351: "the first two letters of the first word of the first sentence."
       RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of body
 selection end:   position 2 of child 0 {#text} of child 0 {SPAN} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.png
index 489c696..39f1982 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.txt
index ce6efe6..0a908c4 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-2-expected.txt
@@ -4,18 +4,18 @@
 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 784x18
-        RenderText {#text} at (0,0) size 57x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 57x17
           text run at (0,0) width 57: "OnlyThe"
-        RenderInline {SPAN} at (0,0) size 32x19
-          RenderText {#text} at (57,0) size 32x19
+        RenderInline {SPAN} at (0,0) size 32x17
+          RenderText {#text} at (57,0) size 32x17
             text run at (57,0) width 32: "Bold"
-        RenderText {#text} at (89,0) size 74x19
+        RenderText {#text} at (89,0) size 74x17
           text run at (89,0) width 74: "TextShould"
-        RenderInline {SPAN} at (0,0) size 18x19
-          RenderText {#text} at (163,0) size 18x19
+        RenderInline {SPAN} at (0,0) size 18x17
+          RenderText {#text} at (163,0) size 18x17
             text run at (163,0) width 18: "Be"
-        RenderText {#text} at (181,0) size 53x19
+        RenderText {#text} at (181,0) size 53x17
           text run at (181,0) width 53: "Selected"
 selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 4 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.png
index 2bb611f..acee098 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.txt
index 4faf0e9..3fd6957 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-3-expected.txt
@@ -11,22 +11,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 754x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 754x34
           text run at (0,0) width 459: "This tests moving the caret forward through content of mixed editability. "
           text run at (459,0) width 295: "The caret should move down one line from the"
-          text run at (0,18) width 470: "editable piece to the editable piece that's embedded in a non-editable piece."
-      RenderBlock {DIV} at (0,52) size 784x64
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+          text run at (0,17) width 470: "editable piece to the editable piece that's embedded in a non-editable piece."
+      RenderBlock {DIV} at (0,50) size 784x61
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
-        RenderTable {TABLE} at (0,18) size 59x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 57x26
-            RenderTableRow {TR} at (0,2) size 57x22
-              RenderTableCell {TD} at (2,2) size 53x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 49x19
+        RenderTable {TABLE} at (0,17) size 59x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 57x25
+            RenderTableRow {TR} at (0,2) size 57x21
+              RenderTableCell {TD} at (2,2) size 53x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 49x17
                   text run at (2,2) width 49: "editable"
-        RenderBlock (anonymous) at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+        RenderBlock (anonymous) at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
 caret: position 0 of child 0 {#text} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.png
index 5612a08..531615b 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.txt
index 291d260..cd5add9 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-4-expected.txt
@@ -11,22 +11,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 754x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 754x34
           text run at (0,0) width 459: "This tests moving the caret forward through content of mixed editability. "
           text run at (459,0) width 295: "The caret should move down one line from the"
-          text run at (0,18) width 470: "editable piece to the editable piece that's embedded in a non-editable piece."
-      RenderBlock {DIV} at (0,52) size 784x64
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+          text run at (0,17) width 470: "editable piece to the editable piece that's embedded in a non-editable piece."
+      RenderBlock {DIV} at (0,50) size 784x61
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
-        RenderTable {TABLE} at (0,18) size 59x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 57x26
-            RenderTableRow {TR} at (0,2) size 57x22
-              RenderTableCell {TD} at (2,2) size 53x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 49x19
+        RenderTable {TABLE} at (0,17) size 59x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 57x25
+            RenderTableRow {TR} at (0,2) size 57x21
+              RenderTableCell {TD} at (2,2) size 53x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 49x17
                   text run at (2,2) width 49: "editable"
-        RenderBlock (anonymous) at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+        RenderBlock (anonymous) at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
 caret: position 2 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.png
index 97decff..b7679fd 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.txt
index 3735a8e..90213e2 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-5-expected.txt
@@ -11,22 +11,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 754x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 754x34
           text run at (0,0) width 459: "This tests moving the caret forward through content of mixed editability. "
           text run at (459,0) width 295: "The caret should move down one line from the"
-          text run at (0,18) width 470: "editable piece to the editable piece that's embedded in a non-editable piece."
-      RenderBlock {DIV} at (0,52) size 784x64
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+          text run at (0,17) width 470: "editable piece to the editable piece that's embedded in a non-editable piece."
+      RenderBlock {DIV} at (0,50) size 784x61
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
-        RenderTable {TABLE} at (0,18) size 59x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 57x26
-            RenderTableRow {TR} at (0,2) size 57x22
-              RenderTableCell {TD} at (2,2) size 53x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 49x19
+        RenderTable {TABLE} at (0,17) size 59x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 57x25
+            RenderTableRow {TR} at (0,2) size 57x21
+              RenderTableCell {TD} at (2,2) size 53x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 49x17
                   text run at (2,2) width 49: "editable"
-        RenderBlock (anonymous) at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+        RenderBlock (anonymous) at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
 caret: position 9 of child 2 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.png
new file mode 100644
index 0000000..e53d849
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.txt
index e195fbe..8498a56 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-6-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 779x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 779x34
           text run at (0,0) width 618: "This tests Select All when the caret is inside an editable region that is inside a non editable region. "
           text run at (618,0) width 161: "Whenever the selection is"
-          text run at (0,18) width 537: "in an editable region, Select All should select the contents of the highest editable root."
-      RenderBlock {DIV} at (0,52) size 784x54
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 27x19
+          text run at (0,17) width 537: "in an editable region, Select All should select the contents of the highest editable root."
+      RenderBlock {DIV} at (0,50) size 784x51
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 27x17
             text run at (0,0) width 27: "One"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderInline {SPAN} at (0,0) size 30x19
-            RenderText {#text} at (0,0) size 30x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderInline {SPAN} at (0,0) size 30x17
+            RenderText {#text} at (0,0) size 30x17
               text run at (0,0) width 30: "Two"
-          RenderText {#text} at (30,0) size 4x19
+          RenderText {#text} at (30,0) size 4x17
             text run at (30,0) width 4: " "
-          RenderInline {SPAN} at (0,0) size 37x19
-            RenderText {#text} at (34,0) size 37x19
+          RenderInline {SPAN} at (0,0) size 37x17
+            RenderText {#text} at (34,0) size 37x17
               text run at (34,0) width 37: "Three"
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 30x19
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 30x17
             text run at (0,0) width 30: "Four"
 selection start: position 0 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
 selection end:   position 4 of child 0 {#text} of child 5 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.png
new file mode 100644
index 0000000..a4bf7b6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.txt
index a1ee7d2..e2f3661 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-7-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 779x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 779x34
           text run at (0,0) width 779: "This tests creating a selection based inside a nested editable region that extends out to editable content that is inside the same"
-          text run at (0,18) width 135: "highest editable root. "
-          text run at (135,18) width 256: "'One' through 'Three' should be selected."
-      RenderBlock {DIV} at (0,52) size 784x54
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 27x19
+          text run at (0,17) width 135: "highest editable root. "
+          text run at (135,17) width 256: "'One' through 'Three' should be selected."
+      RenderBlock {DIV} at (0,50) size 784x51
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 27x17
             text run at (0,0) width 27: "One"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderInline {SPAN} at (0,0) size 30x19
-            RenderText {#text} at (0,0) size 30x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderInline {SPAN} at (0,0) size 30x17
+            RenderText {#text} at (0,0) size 30x17
               text run at (0,0) width 30: "Two"
-          RenderText {#text} at (30,0) size 4x19
+          RenderText {#text} at (30,0) size 4x17
             text run at (30,0) width 4: " "
-          RenderInline {SPAN} at (0,0) size 37x19
-            RenderText {#text} at (34,0) size 37x19
+          RenderInline {SPAN} at (0,0) size 37x17
+            RenderText {#text} at (34,0) size 37x17
               text run at (34,0) width 37: "Three"
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 30x19
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 30x17
             text run at (0,0) width 30: "Four"
 selection start: position 0 of child 0 {#text} of child 1 {DIV} of child 2 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 2 {SPAN} of child 3 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.png
index 8872902..5ac3253a 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.txt
index 3486209..5356a8a 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-8-expected.txt
@@ -8,26 +8,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 765x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 765x34
           text run at (0,0) width 765: "This tests moving the caret backward through content of mixed editability. The caret should end up back at the start of the"
-          text run at (0,18) width 178: "editable text inside the table."
-      RenderBlock {DIV} at (0,52) size 784x64
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+          text run at (0,17) width 178: "editable text inside the table."
+      RenderBlock {DIV} at (0,50) size 784x61
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
-        RenderTable {TABLE} at (0,18) size 91x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 89x26
-            RenderTableRow {TR} at (0,2) size 89x22
-              RenderTableCell {TD} at (2,2) size 85x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {DIV} at (2,2) size 81x18
-                  RenderInline {SPAN} at (0,0) size 32x19
-                    RenderText {#text} at (0,0) size 32x19
+        RenderTable {TABLE} at (0,17) size 91x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 89x25
+            RenderTableRow {TR} at (0,2) size 89x21
+              RenderTableCell {TD} at (2,2) size 85x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (2,2) size 81x17
+                  RenderInline {SPAN} at (0,0) size 32x17
+                    RenderText {#text} at (0,0) size 32x17
                       text run at (0,0) width 32: "static"
-                  RenderInline {SPAN} at (0,0) size 49x19
-                    RenderText {#text} at (32,0) size 49x19
+                  RenderInline {SPAN} at (0,0) size 49x17
+                    RenderText {#text} at (32,0) size 49x17
                       text run at (32,0) width 49: "editable"
-        RenderBlock (anonymous) at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+        RenderBlock (anonymous) at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
 caret: position 0 of child 0 {#text} of child 1 {SPAN} of child 0 {DIV} of child 0 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.png b/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.png
index 0f763b6..2123d36 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.txt b/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.txt
index 8186f76..478cc70 100644
--- a/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/mixed-editability-9-expected.txt
@@ -12,26 +12,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 774x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 774x34
           text run at (0,0) width 774: "This tests moving the caret backward through content of mixed editability. The caret should back to just before the outlined"
-          text run at (0,18) width 34: "table."
-      RenderBlock {DIV} at (0,52) size 784x64
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+          text run at (0,17) width 34: "table."
+      RenderBlock {DIV} at (0,50) size 784x61
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
-        RenderTable {TABLE} at (0,18) size 91x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 89x26
-            RenderTableRow {TR} at (0,2) size 89x22
-              RenderTableCell {TD} at (2,2) size 85x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {DIV} at (2,2) size 81x18
-                  RenderInline {SPAN} at (0,0) size 32x19
-                    RenderText {#text} at (0,0) size 32x19
+        RenderTable {TABLE} at (0,17) size 91x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 89x25
+            RenderTableRow {TR} at (0,2) size 89x21
+              RenderTableCell {TD} at (2,2) size 85x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {DIV} at (2,2) size 81x17
+                  RenderInline {SPAN} at (0,0) size 32x17
+                    RenderText {#text} at (0,0) size 32x17
                       text run at (0,0) width 32: "static"
-                  RenderInline {SPAN} at (0,0) size 49x19
-                    RenderText {#text} at (32,0) size 49x19
+                  RenderInline {SPAN} at (0,0) size 49x17
+                    RenderText {#text} at (32,0) size 49x17
                       text run at (32,0) width 49: "editable"
-        RenderBlock (anonymous) at (0,46) size 784x18
-          RenderText {#text} at (0,0) size 49x19
+        RenderBlock (anonymous) at (0,44) size 784x17
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "editable"
 caret: position 0 of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.png b/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.png
index b91dd47..c228b93 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.txt
index 3fd1643..3308e5d 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-3875618-fix-expected.txt
@@ -8,13 +8,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584 [border: (2px solid #FF0000)]
-      RenderBlock {DIV} at (14,14) size 756x56
-        RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (14,14) size 756x52
+        RenderText {#text} at (0,0) size 139x26
           text run at (0,0) width 139: "There is a tide"
-        RenderBR {BR} at (139,22) size 0x0
-        RenderText {#text} at (0,28) size 197x28
-          text run at (0,28) width 197: "in the affairs of men"
-      RenderBlock {DIV} at (14,70) size 756x28
-        RenderText {#text} at (0,0) size 241x28
+        RenderBR {BR} at (139,21) size 0x0
+        RenderText {#text} at (0,26) size 197x26
+          text run at (0,26) width 197: "in the affairs of men"
+      RenderBlock {DIV} at (14,66) size 756x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 2 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.png b/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.png
index b91dd47..c228b93 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.txt
index 03c65be..1c778ef 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-3875641-fix-expected.txt
@@ -8,13 +8,13 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584 [border: (2px solid #FF0000)]
-      RenderBlock {DIV} at (14,14) size 756x28
-        RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (14,14) size 756x26
+        RenderText {#text} at (0,0) size 139x26
           text run at (0,0) width 139: "There is a tide"
-      RenderBlock {DIV} at (14,42) size 756x28
-        RenderText {#text} at (0,0) size 197x28
+      RenderBlock {DIV} at (14,40) size 756x26
+        RenderText {#text} at (0,0) size 197x26
           text run at (0,0) width 197: "in the affairs of men"
-      RenderBlock {DIV} at (14,70) size 756x28
-        RenderText {#text} at (0,0) size 241x28
+      RenderBlock {DIV} at (14,66) size 756x26
+        RenderText {#text} at (0,0) size 241x26
           text run at (0,0) width 241: "Which taken at the flood"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.png
new file mode 100644
index 0000000..b035714
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.txt
index 565e7b5..2bc72bf 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-backwords-by-word-001-expected.txt
@@ -18,12 +18,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 71x56
-          RenderText {#text} at (14,14) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 71x52
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-          RenderBR {BR} at (46,36) size 0x0
-          RenderText {#text} at (14,42) size 71x28
-            text run at (14,42) width 71: "bar baz"
+          RenderBR {BR} at (46,35) size 0x0
+          RenderText {#text} at (14,40) size 71x26
+            text run at (14,40) width 71: "bar baz"
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 2 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.png
new file mode 100644
index 0000000..2c01a0f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.txt
index 3500a79..1e4eb63 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-no-001-expected.txt
@@ -108,11 +108,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 243x28
-          RenderText {#text} at (14,14) size 243x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 243x26
+          RenderText {#text} at (14,14) size 243x26
             text run at (14,14) width 243: "We hold these truths to b"
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 318x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 318x26
           text run at (14,14) width 318: "that all men are created equal, ..."
 caret: position 25 of child 0 {#text} of child 1 {SPAN} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.png
new file mode 100644
index 0000000..ffa0b9b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.txt
index 5da0c38..d1c2b5d 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-between-blocks-yes-001-expected.txt
@@ -56,12 +56,12 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 381x28
-          RenderText {#text} at (14,14) size 381x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 381x26
+          RenderText {#text} at (14,14) size 381x26
             text run at (14,14) width 381: "We hold these truths to be self-evident,"
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 318x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 318x26
           text run at (14,14) width 318: "that all men are created equal, ..."
 caret: position 10 of child 0 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.png
new file mode 100644
index 0000000..77941dd
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.txt
index 7d78087..d512fa2 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-001-expected.txt
@@ -17,9 +17,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 109x28
-          RenderText {#text} at (14,14) size 109x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 109x26
+          RenderText {#text} at (14,14) size 109x26
             text run at (14,14) width 38: "foo "
             text run at (52,14) width 37: "bar "
             text run at (89,14) width 34: "baz"
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.png
new file mode 100644
index 0000000..8f7ecd1
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.txt
index e80c35e..6bc54c6 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-002-expected.txt
@@ -39,25 +39,25 @@
 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 784x355 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 254x246
-          RenderText {#text} at (14,95) size 11x28
-            text run at (14,95) width 11: "a"
+      RenderBlock {DIV} at (0,0) size 784x352 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 254x242
+          RenderText {#text} at (14,96) size 11x26
+            text run at (14,96) width 11: "a"
           RenderImage {IMG} at (25,14) size 76x103
-          RenderText {#text} at (101,95) size 46x28
-            text run at (101,95) width 46: "new "
+          RenderText {#text} at (101,96) size 46x26
+            text run at (101,96) width 46: "new "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,204) size 67x28
+          RenderText {#text} at (14,204) size 67x26
             text run at (14,204) width 67: "nation "
           RenderInline {I} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-          RenderImage {IMG} at (81,123) size 76x103
-          RenderText {#text} at (157,204) size 111x28
+          RenderImage {IMG} at (81,122) size 76x103
+          RenderText {#text} at (157,204) size 111x26
             text run at (157,204) width 111: " conceived "
-          RenderBR {BR} at (268,226) size 0x0
-          RenderText {#text} at (14,313) size 61x28
-            text run at (14,313) width 61: "nation"
-          RenderImage {IMG} at (75,232) size 76x103
+          RenderBR {BR} at (268,225) size 0x0
+          RenderText {#text} at (14,312) size 61x26
+            text run at (14,312) width 61: "nation"
+          RenderImage {IMG} at (75,230) size 76x103
         RenderText {#text} at (0,0) size 0x0
 caret: position 6 of child 10 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.png
new file mode 100644
index 0000000..fe8380e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.txt
index 5adeabd..c2a15a6 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-003-expected.txt
@@ -165,25 +165,25 @@
 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 665x84
-          RenderInline {I} at (0,0) size 117x28
-            RenderText {#text} at (14,14) size 117x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 665x78
+          RenderInline {I} at (0,0) size 117x26
+            RenderText {#text} at (14,14) size 117x26
               text run at (14,14) width 21: "F "
               text run at (35,14) width 96: "and seven"
-          RenderText {#text} at (131,14) size 63x28
+          RenderText {#text} at (131,14) size 63x26
             text run at (131,14) width 63: " years "
-          RenderInline {B} at (0,0) size 27x28
-            RenderText {#text} at (194,14) size 27x28
+          RenderInline {B} at (0,0) size 27x26
+            RenderText {#text} at (194,14) size 27x26
               text run at (194,14) width 27: "as "
-          RenderText {#text} at (221,14) size 665x56
+          RenderText {#text} at (221,14) size 665x52
             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 (673,14) width 6: " "
-            text run at (14,42) width 232: "conceived    in Liberty, "
-            text run at (246,42) width 392: "and dedicated to the proposition that all "
+            text run at (14,40) width 232: "conceived    in Liberty, "
+            text run at (246,40) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,70) size 220x28
-            text run at (14,70) width 220: "men are created equal."
+          RenderText {#text} at (14,66) size 220x26
+            text run at (14,66) width 220: "men are created equal."
         RenderText {#text} at (0,0) size 0x0
 caret: position 21 of child 5 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.png
new file mode 100644
index 0000000..9403577
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.txt
index 653f690..b79f8729 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-004-expected.txt
@@ -71,25 +71,25 @@
 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 784x355 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 254x246
-          RenderText {#text} at (14,95) size 11x28
-            text run at (14,95) width 11: "a"
+      RenderBlock {DIV} at (0,0) size 784x352 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 254x242
+          RenderText {#text} at (14,96) size 11x26
+            text run at (14,96) width 11: "a"
           RenderImage {IMG} at (25,14) size 76x103
-          RenderText {#text} at (101,95) size 46x28
-            text run at (101,95) width 46: "new "
+          RenderText {#text} at (101,96) size 46x26
+            text run at (101,96) width 46: "new "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,204) size 67x28
+          RenderText {#text} at (14,204) size 67x26
             text run at (14,204) width 67: "nation "
           RenderInline {I} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-          RenderImage {IMG} at (81,123) size 76x103
-          RenderText {#text} at (157,204) size 111x28
+          RenderImage {IMG} at (81,122) size 76x103
+          RenderText {#text} at (157,204) size 111x26
             text run at (157,204) width 111: " conceived "
-          RenderBR {BR} at (268,226) size 0x0
-          RenderText {#text} at (14,313) size 61x28
-            text run at (14,313) width 61: "nation"
-          RenderImage {IMG} at (75,232) size 76x103
+          RenderBR {BR} at (268,225) size 0x0
+          RenderText {#text} at (14,312) size 61x26
+            text run at (14,312) width 61: "nation"
+          RenderImage {IMG} at (75,230) size 76x103
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.png
new file mode 100644
index 0000000..9e2cb32
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.txt
index 2ddbeb0..89acdab 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-005-expected.txt
@@ -323,25 +323,25 @@
 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 665x84
-          RenderInline {I} at (0,0) size 117x28
-            RenderText {#text} at (14,14) size 117x28
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 665x78
+          RenderInline {I} at (0,0) size 117x26
+            RenderText {#text} at (14,14) size 117x26
               text run at (14,14) width 21: "F "
               text run at (35,14) width 96: "and seven"
-          RenderText {#text} at (131,14) size 63x28
+          RenderText {#text} at (131,14) size 63x26
             text run at (131,14) width 63: " years "
-          RenderInline {B} at (0,0) size 27x28
-            RenderText {#text} at (194,14) size 27x28
+          RenderInline {B} at (0,0) size 27x26
+            RenderText {#text} at (194,14) size 27x26
               text run at (194,14) width 27: "as "
-          RenderText {#text} at (221,14) size 665x56
+          RenderText {#text} at (221,14) size 665x52
             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 (673,14) width 6: " "
-            text run at (14,42) width 232: "conceived    in Liberty, "
-            text run at (246,42) width 392: "and dedicated to the proposition that all "
+            text run at (14,40) width 232: "conceived    in Liberty, "
+            text run at (246,40) width 392: "and dedicated to the proposition that all "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (14,70) size 220x28
-            text run at (14,70) width 220: "men are created equal."
+          RenderText {#text} at (14,66) size 220x26
+            text run at (14,66) width 220: "men are created equal."
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 0 {I} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.png
index 41aae86..1bfc80c 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.txt
index f8724a6..6b42b57 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-character-6-expected.txt
@@ -28,9 +28,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 784x28
-        RenderInline {SPAN} at (0,0) size 109x28
-          RenderText {#text} at (0,0) size 109x28
+      RenderBlock {DIV} at (0,0) size 784x26
+        RenderInline {SPAN} at (0,0) size 109x26
+          RenderText {#text} at (0,0) size 109x26
             text run at (0,0) width 38: "foo "
             text run at (38,0) width 37: "bar "
             text run at (75,0) width 34: "baz"
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.png
index e46153c..af2f4c7 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.txt
index 65c7e9d..283d06a 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-line-001-expected.txt
@@ -10,18 +10,18 @@
 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 784x194 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x166
-          RenderTable {TABLE} at (0,0) size 64x166 [border: (1px outset #808080)]
-            RenderTableSection {TBODY} at (1,1) size 62x164
-              RenderTableRow {TR} at (0,2) size 62x54
-                RenderTableCell {TD} at (2,2) size 58x54 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (13,13) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x190 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x162
+          RenderTable {TABLE} at (0,0) size 64x162 [border: (1px outset #808080)]
+            RenderTableSection {TBODY} at (1,1) size 62x160
+              RenderTableRow {TR} at (0,2) size 62x52
+                RenderTableCell {TD} at (2,2) size 58x52 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (13,13) size 32x26
                     text run at (13,13) width 32: "foo"
-              RenderTableRow {TR} at (0,58) size 62x48
-                RenderTableCell {TD} at (2,69) size 58x26 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-              RenderTableRow {TR} at (0,108) size 62x54
-                RenderTableCell {TD} at (2,108) size 58x54 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                  RenderText {#text} at (13,13) size 31x28
+              RenderTableRow {TR} at (0,56) size 62x48
+                RenderTableCell {TD} at (2,67) size 58x26 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderTableRow {TR} at (0,106) size 62x52
+                RenderTableCell {TD} at (2,106) size 58x52 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                  RenderText {#text} at (13,13) size 31x26
                     text run at (13,13) width 31: "bar"
 caret: position 2 of child 1 {TABLE} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.png
index b6ce34a..86b552b 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.txt
index 27a4e33..f3881fb 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-line-002-expected.txt
@@ -8,26 +8,26 @@
 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 784x216 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,38) size 756x140
-          RenderBlock {OL} at (0,0) size 756x140
-            RenderListItem {LI} at (40,0) size 716x28
-              RenderListMarker at (-31,0) size 24x28: "1"
-              RenderText {#text} at (0,0) size 35x28
+      RenderBlock {DIV} at (0,0) size 784x206 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,38) size 756x130
+          RenderBlock {OL} at (0,0) size 756x130
+            RenderListItem {LI} at (40,0) size 716x26
+              RenderListMarker at (-31,0) size 24x26: "1"
+              RenderText {#text} at (0,0) size 35x26
                 text run at (0,0) width 35: "one"
-            RenderListItem {LI} at (40,28) size 716x28
-              RenderListMarker at (-31,0) size 24x28: "2"
-              RenderText {#text} at (0,0) size 36x28
+            RenderListItem {LI} at (40,26) size 716x26
+              RenderListMarker at (-31,0) size 24x26: "2"
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "two"
-            RenderListItem {LI} at (40,56) size 716x28
-              RenderListMarker at (-31,0) size 24x28: "3"
-              RenderBR {BR} at (0,0) size 0x28
-            RenderListItem {LI} at (40,84) size 716x28
-              RenderListMarker at (-31,0) size 24x28: "4"
-              RenderText {#text} at (0,0) size 40x28
+            RenderListItem {LI} at (40,52) size 716x26
+              RenderListMarker at (-31,0) size 24x26: "3"
+              RenderBR {BR} at (0,0) size 0x26
+            RenderListItem {LI} at (40,78) size 716x26
+              RenderListMarker at (-31,0) size 24x26: "4"
+              RenderText {#text} at (0,0) size 40x26
                 text run at (0,0) width 40: "four"
-            RenderListItem {LI} at (40,112) size 716x28
-              RenderListMarker at (-31,0) size 24x28: "5"
-              RenderText {#text} at (0,0) size 38x28
+            RenderListItem {LI} at (40,104) size 716x26
+              RenderListMarker at (-31,0) size 24x26: "5"
+              RenderText {#text} at (0,0) size 38x26
                 text run at (0,0) width 38: "five"
 caret: position 0 of child 0 {BR} of child 2 {LI} of child 1 {OL} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.png
new file mode 100644
index 0000000..ed1b458
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.txt
index 4c1246e..28e64d3 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-001-expected.txt
@@ -22,11 +22,11 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 14x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 14x26
           text run at (14,14) width 14: "\x{2022} "
-        RenderInline {B} at (0,0) size 240x28
-          RenderText {#text} at (28,14) size 240x28
+        RenderInline {B} at (0,0) size 240x26
+          RenderText {#text} at (28,14) size 240x26
             text run at (28,14) width 240: "This is some linked text"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.png
new file mode 100644
index 0000000..99861d6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.txt
index 2b87299..4e25b64 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-sentence-linebreak-expected.txt
@@ -3,27 +3,27 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 553x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 553x17
           text run at (0,0) width 553: "This tests for sentence boundary when there are empty line breaks between lines of text."
-        RenderBR {BR} at (553,15) size 0x0
-        RenderText {#text} at (0,18) size 493x19
-          text run at (0,18) width 493: "The result insertion point should be at the end of the sentence \"How are you?\""
-      RenderBlock {DIV} at (0,52) size 784x108
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 31x19
+        RenderBR {BR} at (553,14) size 0x0
+        RenderText {#text} at (0,17) size 493x17
+          text run at (0,17) width 493: "The result insertion point should be at the end of the sentence \"How are you?\""
+      RenderBlock {DIV} at (0,50) size 784x102
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 31x17
             text run at (0,0) width 31: "hello"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (0,0) size 37x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (0,0) size 37x17
             text run at (0,0) width 37: "world"
-        RenderBlock {DIV} at (0,54) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock {DIV} at (0,72) size 784x18
-          RenderBR {BR} at (0,0) size 0x19
-        RenderBlock {DIV} at (0,90) size 784x18
-          RenderText {#text} at (0,0) size 265x19
+        RenderBlock {DIV} at (0,51) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {DIV} at (0,68) size 784x17
+          RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {DIV} at (0,85) size 784x17
+          RenderText {#text} at (0,0) size 265x17
             text run at (0,0) width 86: "This is a test. "
             text run at (86,0) width 94: "How are you? "
             text run at (180,0) width 85: "Life is sweet!"
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.png b/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.png
index 825e802..d1de737 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.txt
index 9f09b03..c12ae9c 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-by-word-001-expected.txt
@@ -9,12 +9,12 @@
 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 #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x26
+          RenderText {#text} at (0,0) size 32x26
             text run at (0,0) width 32: "foo"
-        RenderBlock (anonymous) at (14,42) size 756x28
-          RenderText {#text} at (0,0) size 31x28
+        RenderBlock (anonymous) at (14,40) size 756x26
+          RenderText {#text} at (0,0) size 31x26
             text run at (0,0) width 31: "bar"
 selection start: position 0 of child 2 {#text} of child 1 {DIV} of body
 selection end:   position 3 of child 2 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.png b/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.png
new file mode 100644
index 0000000..c58598e
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.txt b/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.txt
index f4ee654..bdc0a76 100644
--- a/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/move-past-trailing-space-expected.txt
@@ -18,11 +18,11 @@
 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 228x84 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 135x56
-          RenderText {#text} at (89,14) size 135x56
+      RenderBlock {DIV} at (0,0) size 228x82 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 135x54
+          RenderText {#text} at (89,14) size 135x54
             text run at (89,14) width 58 RTL: " \x{5D0}\x{5D7}\x{5E8}\x{5D9}"
             text run at (147,14) width 67: "before"
-            text run at (79,42) width 135 RTL: "\x{5D0}\x{5E0}\x{5E6}\x{5D9}\x{5E7}\x{5DC}\x{5D5}\x{5E4}\x{5D3}\x{5D9}\x{5D4}"
+            text run at (79,41) width 135 RTL: "\x{5D0}\x{5E0}\x{5E6}\x{5D9}\x{5E7}\x{5DC}\x{5D5}\x{5E4}\x{5D3}\x{5D9}\x{5D4}"
         RenderText {#text} at (0,0) size 0x0
 caret: position 12 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.png b/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.png
index 4e79a8d..cb88500 100644
--- a/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.txt
index c1ef84a..d58cdf2 100644
--- a/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/node-removal-1-expected.txt
@@ -4,21 +4,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 748x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 748x34
           text run at (0,0) width 678: "This tests behavior when a node that serves as the start or end of a selection is removed from the document. "
           text run at (678,0) width 70: "Ideally, we"
-          text run at (0,18) width 650: "would just adjust the selection when an endpoint is removed, for now, we just blow away the selection."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 769x37
+          text run at (0,17) width 650: "would just adjust the selection when an endpoint is removed, for now, we just blow away the selection."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 769x34
           text run at (0,0) width 475: "This test creates a selection that ends inside of a node that will be removed. "
           text run at (475,0) width 172: "Then the node is removed. "
           text run at (647,0) width 122: "There should be no"
-          text run at (0,18) width 123: "selection afterward."
-      RenderBlock {DIV} at (0,104) size 784x18
-        RenderText {#text} at (0,0) size 35x19
+          text run at (0,17) width 123: "selection afterward."
+      RenderBlock {DIV} at (0,100) size 784x17
+        RenderText {#text} at (0,0) size 35x17
           text run at (0,0) width 35: "hello "
-        RenderText {#text} at (35,0) size 42x19
+        RenderText {#text} at (35,0) size 42x17
           text run at (35,0) width 42: "world!"
 selection start: position 1 of child 0 {#text} of child 5 {DIV} of body
 selection end:   position 1 of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.png b/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.png
index 0268076..066e0ad 100644
--- a/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.txt
index 4dbcd8a..eba1e0a 100644
--- a/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/node-removal-2-expected.txt
@@ -6,22 +6,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 748x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 748x34
           text run at (0,0) width 678: "This tests behavior when a node that serves as the start or end of a selection is removed from the document. "
           text run at (678,0) width 70: "Ideally, we"
-          text run at (0,18) width 650: "would just adjust the selection when an endpoint is removed, for now, we just blow away the selection."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 771x37
+          text run at (0,17) width 650: "would just adjust the selection when an endpoint is removed, for now, we just blow away the selection."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 771x34
           text run at (0,0) width 475: "This test creates a selection that ends inside of a node that will be removed. "
           text run at (475,0) width 172: "Then the node is removed. "
           text run at (647,0) width 124: "Then a Select All is"
-          text run at (0,18) width 64: "executed. "
-          text run at (64,18) width 253: "The entire document should be selected."
-      RenderBlock {DIV} at (0,104) size 784x18
-        RenderText {#text} at (0,0) size 35x19
+          text run at (0,17) width 64: "executed. "
+          text run at (64,17) width 253: "The entire document should be selected."
+      RenderBlock {DIV} at (0,100) size 784x17
+        RenderText {#text} at (0,0) size 35x17
           text run at (0,0) width 35: "hello "
-        RenderText {#text} at (35,0) size 42x19
+        RenderText {#text} at (35,0) size 42x17
           text run at (35,0) width 42: "world!"
 selection start: position 0 of child 0 {#text} of child 1 {P} of body
 selection end:   position 7 of child 1 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.png b/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.png
index 8152355..f718a48 100644
--- a/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.txt b/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.txt
index 1804e59..c49cf23 100644
--- a/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/paragraph-granularity-expected.txt
@@ -11,45 +11,45 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 697x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 697x17
           text run at (0,0) width 368: "This tests modifying a selection created with a triple click. "
           text run at (368,0) width 329: "The new selection should use paragraph granularity."
-      RenderBlock {P} at (0,34) size 784x54 [color=#008000]
-        RenderText {#text} at (0,0) size 778x55
+      RenderBlock {P} at (0,33) size 784x51 [color=#008000]
+        RenderText {#text} at (0,0) size 778x51
           text run at (0,0) width 224: "This test does not run interactively. "
           text run at (224,0) width 352: "It uses the testRunners eventSender to do mouse clicks. "
           text run at (576,0) width 202: "To run it manually, double click"
-          text run at (0,18) width 284: "on the blue 'g', then drag down to the red 'g'. "
-          text run at (284,18) width 490: "As you drag, watch the selection that is created, it should always start and end"
-          text run at (0,36) width 160: "on paragraph boundaries."
-      RenderBlock {DIV} at (0,104) size 784x108
-        RenderText {#text} at (0,0) size 84x19
+          text run at (0,17) width 284: "on the blue 'g', then drag down to the red 'g'. "
+          text run at (284,17) width 490: "As you drag, watch the selection that is created, it should always start and end"
+          text run at (0,34) width 160: "on paragraph boundaries."
+      RenderBlock {DIV} at (0,100) size 784x102
+        RenderText {#text} at (0,0) size 84x17
           text run at (0,0) width 84: "This is a para"
-        RenderInline {SPAN} at (0,0) size 8x19 [color=#0000FF]
-          RenderText {#text} at (84,0) size 8x19
+        RenderInline {SPAN} at (0,0) size 8x17 [color=#0000FF]
+          RenderText {#text} at (84,0) size 8x17
             text run at (84,0) width 8: "g"
-        RenderText {#text} at (92,0) size 32x19
+        RenderText {#text} at (92,0) size 32x17
           text run at (92,0) width 32: "raph."
-        RenderBR {BR} at (124,15) size 0x0
-        RenderText {#text} at (0,18) size 63x19
-          text run at (0,18) width 63: "Some text"
-        RenderBR {BR} at (63,33) size 0x0
-        RenderText {#text} at (0,36) size 63x19
-          text run at (0,36) width 63: "Some text"
-        RenderBR {BR} at (63,51) size 0x0
-        RenderText {#text} at (0,54) size 63x19
-          text run at (0,54) width 63: "Some text"
-        RenderBR {BR} at (63,69) size 0x0
-        RenderText {#text} at (0,72) size 63x19
-          text run at (0,72) width 63: "Some text"
-        RenderBR {BR} at (63,87) size 0x0
-        RenderText {#text} at (0,90) size 84x19
-          text run at (0,90) width 84: "This is a para"
-        RenderInline {SPAN} at (0,0) size 8x19 [color=#FF0000]
-          RenderText {#text} at (84,90) size 8x19
-            text run at (84,90) width 8: "g"
-        RenderText {#text} at (92,90) size 32x19
-          text run at (92,90) width 32: "raph."
+        RenderBR {BR} at (124,14) size 0x0
+        RenderText {#text} at (0,17) size 63x17
+          text run at (0,17) width 63: "Some text"
+        RenderBR {BR} at (63,31) size 0x0
+        RenderText {#text} at (0,34) size 63x17
+          text run at (0,34) width 63: "Some text"
+        RenderBR {BR} at (63,48) size 0x0
+        RenderText {#text} at (0,51) size 63x17
+          text run at (0,51) width 63: "Some text"
+        RenderBR {BR} at (63,65) size 0x0
+        RenderText {#text} at (0,68) size 63x17
+          text run at (0,68) width 63: "Some text"
+        RenderBR {BR} at (63,82) size 0x0
+        RenderText {#text} at (0,85) size 84x17
+          text run at (0,85) width 84: "This is a para"
+        RenderInline {SPAN} at (0,0) size 8x17 [color=#FF0000]
+          RenderText {#text} at (84,85) size 8x17
+            text run at (84,85) width 8: "g"
+        RenderText {#text} at (92,85) size 32x17
+          text run at (92,85) width 32: "raph."
 selection start: position 1 of child 0 {#text} of child 5 {DIV} of body
 selection end:   position 5 of child 14 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.png b/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.png
index 3050f23..0ce8db8 100644
--- a/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.txt b/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.txt
index 077c6a0..2f555fb 100644
--- a/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/previous-line-position-expected.txt
@@ -7,29 +7,29 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 241x19
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 241x17
           text run at (0,0) width 241: "There was a workaround added to fix "
-        RenderInline {A} at (0,0) size 149x19 [color=#0000EE]
-          RenderText {#text} at (241,0) size 149x19
+        RenderInline {A} at (0,0) size 149x17 [color=#0000EE]
+          RenderText {#text} at (241,0) size 149x17
             text run at (241,0) width 149: "rdar://problem/4033202"
-        RenderText {#text} at (390,0) size 297x19
+        RenderText {#text} at (390,0) size 297x17
           text run at (390,0) width 8: ". "
           text run at (398,0) width 289: "A bug to remove the workaround was filed as"
-        RenderInline {A} at (0,0) size 149x19 [color=#0000EE]
-          RenderText {#text} at (0,18) size 149x19
-            text run at (0,18) width 149: "rdar://problem/4040763"
-        RenderText {#text} at (149,18) size 761x37
-          text run at (149,18) width 8: ". "
-          text run at (157,18) width 604: "The underlying problem with VisiblePositions was fixed, and so I removed the workaround and"
-          text run at (0,36) width 136: "added this layout test."
-      RenderBlock {DIV} at (0,70) size 784x56 [border: (1px solid #0000FF)]
-        RenderBlock {P} at (1,1) size 782x18
-          RenderText {#text} at (0,0) size 12x19
+        RenderInline {A} at (0,0) size 149x17 [color=#0000EE]
+          RenderText {#text} at (0,17) size 149x17
+            text run at (0,17) width 149: "rdar://problem/4040763"
+        RenderText {#text} at (149,17) size 761x34
+          text run at (149,17) width 8: ". "
+          text run at (157,17) width 604: "The underlying problem with VisiblePositions was fixed, and so I removed the workaround and"
+          text run at (0,34) width 136: "added this layout test."
+      RenderBlock {DIV} at (0,67) size 784x53 [border: (1px solid #0000FF)]
+        RenderBlock {P} at (1,1) size 782x17
+          RenderText {#text} at (0,0) size 12x17
             text run at (0,0) width 12: "hi"
-          RenderInline {SPAN} at (0,0) size 0x19
-        RenderBlock (anonymous) at (1,19) size 782x36
-          RenderBR {BR} at (0,0) size 0x19
-          RenderText {#text} at (0,18) size 21x19
-            text run at (0,18) width 21: "test"
+          RenderInline {SPAN} at (0,0) size 0x17
+        RenderBlock (anonymous) at (1,18) size 782x34
+          RenderBR {BR} at (0,0) size 0x17
+          RenderText {#text} at (0,17) size 21x17
+            text run at (0,17) width 21: "test"
 caret: position 0 of child 2 {BR} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.png b/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.png
new file mode 100644
index 0000000..22f234b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.txt b/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.txt
index 7b0a09a..c276644 100644
--- a/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/range-between-block-and-inline-expected.txt
@@ -3,26 +3,26 @@
 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 784x88
-        RenderBlock {P} at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 26x19
+      RenderBlock {DIV} at (0,0) size 784x84
+        RenderBlock {P} at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 26x17
             text run at (0,0) width 26: "For "
-          RenderInline {A} at (0,0) size 71x19 [color=#0000EE]
-            RenderText {#text} at (26,0) size 71x19
+          RenderInline {A} at (0,0) size 71x17 [color=#0000EE]
+            RenderText {#text} at (26,0) size 71x17
               text run at (26,0) width 71: "Bug 32123"
-          RenderText {#text} at (97,0) size 312x19
+          RenderText {#text} at (97,0) size 312x17
             text run at (97,0) width 8: ". "
             text run at (105,0) width 304: "Hightlight for Selection should fit the target line."
-        RenderBlock (anonymous) at (0,34) size 784x18
-          RenderInline {SPAN} at (0,0) size 7x19
-            RenderText {#text} at (0,0) size 7x19
+        RenderBlock (anonymous) at (0,33) size 784x17
+          RenderInline {SPAN} at (0,0) size 7x17
+            RenderText {#text} at (0,0) size 7x17
               text run at (0,0) width 7: "a"
-        RenderBlock {DIV} at (0,52) size 784x18
-          RenderText {#text} at (0,0) size 130x19
+        RenderBlock {DIV} at (0,50) size 784x17
+          RenderText {#text} at (0,0) size 130x17
             text run at (0,0) width 130: "should just select me"
-        RenderBlock (anonymous) at (0,70) size 784x18
-          RenderInline {SPAN} at (0,0) size 7x19
-            RenderText {#text} at (0,0) size 7x19
+        RenderBlock (anonymous) at (0,67) size 784x17
+          RenderInline {SPAN} at (0,0) size 7x17
+            RenderText {#text} at (0,0) size 7x17
               text run at (0,0) width 7: "c"
           RenderText {#text} at (0,0) size 0x0
 selection start: position 1 of child 0 {#text} of child 3 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.png b/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.png
index 1022093..ae13d9f 100644
--- a/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.txt
index db18ff2..43c214d 100644
--- a/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/replace-selection-1-expected.txt
@@ -12,17 +12,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 775x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 775x34
           text run at (0,0) width 581: "This tests for a bug when a selection is replaced by content with selectReplacement == true. "
           text run at (581,0) width 194: "Below, you should see 'A new"
-          text run at (0,18) width 58: "link' and "
-          text run at (58,18) width 153: "'link' should be selected."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 47x19
+          text run at (0,17) width 58: "link' and "
+          text run at (58,17) width 153: "'link' should be selected."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 47x17
           text run at (0,0) width 47: "A new "
-        RenderInline {A} at (0,0) size 24x19 [color=#0000EE]
-          RenderText {#text} at (47,0) size 24x19
+        RenderInline {A} at (0,0) size 24x17 [color=#0000EE]
+          RenderText {#text} at (47,0) size 24x17
             text run at (47,0) width 24: "link"
 selection start: position 0 of child 0 {#text} of child 1 {A} of child 2 {DIV} of body
 selection end:   position 4 of child 0 {#text} of child 1 {A} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.png b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.png
index f10ccb9..dfe2248 100644
--- a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.txt
index ee38f3c..f554c46 100644
--- a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-1-expected.txt
@@ -12,15 +12,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 762x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 762x34
           text run at (0,0) width 762: "This tests that when a selection that starts at [replaced element, 1] is painted, the replaced element doesn't appear selected."
-          text run at (0,18) width 304: "This test uses an image for the replaced element."
-      RenderBlock {DIV} at (0,52) size 784x106
-        RenderText {#text} at (0,88) size 22x19
-          text run at (0,88) width 22: "abc"
+          text run at (0,17) width 304: "This test uses an image for the replaced element."
+      RenderBlock {DIV} at (0,50) size 784x106
+        RenderText {#text} at (0,89) size 22x17
+          text run at (0,89) width 22: "abc"
         RenderImage {IMG} at (22,0) size 76x103
-        RenderText {#text} at (98,88) size 20x19
-          text run at (98,88) width 20: "def"
+        RenderText {#text} at (98,89) size 20x17
+          text run at (98,89) width 20: "def"
 selection start: position 0 of child 2 {#text} of child 3 {DIV} of body
 selection end:   position 3 of child 2 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.png b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.png
index b9a3b4f..e26837b 100644
--- a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.txt
index b1d9ebd..4129200 100644
--- a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-2-expected.txt
@@ -12,15 +12,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 759x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 759x34
           text run at (0,0) width 759: "This tests that when a selection that ends at [replaced element, 0] is painted, the replaced element doesn't appear selected."
-          text run at (0,18) width 304: "This test uses an image for the replaced element."
-      RenderBlock {DIV} at (0,52) size 784x106
-        RenderText {#text} at (0,88) size 22x19
-          text run at (0,88) width 22: "abc"
+          text run at (0,17) width 304: "This test uses an image for the replaced element."
+      RenderBlock {DIV} at (0,50) size 784x106
+        RenderText {#text} at (0,89) size 22x17
+          text run at (0,89) width 22: "abc"
         RenderImage {IMG} at (22,0) size 76x103
-        RenderText {#text} at (98,88) size 20x19
-          text run at (98,88) width 20: "def"
+        RenderText {#text} at (98,89) size 20x17
+          text run at (98,89) width 20: "def"
 selection start: position 1 of child 0 {#text} of child 3 {DIV} of body
 selection end:   position 4 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.png b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.png
index 0715e44..1b380f8 100644
--- a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.txt
index 318b609..9809422 100644
--- a/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/replaced-boundaries-3-expected.txt
@@ -10,17 +10,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 759x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 759x34
           text run at (0,0) width 759: "This tests that when a selection that ends at [replaced element, 0] is painted, the replaced element doesn't appear selected."
-          text run at (0,18) width 321: "This test uses a select box for the replaced element."
-      RenderBlock {DIV} at (0,52) size 784x50
-        RenderText {#text} at (0,0) size 22x19
+          text run at (0,17) width 321: "This test uses a select box for the replaced element."
+      RenderBlock {DIV} at (0,50) size 784x48
+        RenderText {#text} at (0,0) size 22x17
           text run at (0,0) width 22: "abc"
-        RenderBR {BR} at (22,15) size 0x0
-        RenderMenuList {SELECT} at (2,20) size 282x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 280x26
-            RenderText at (4,4) size 255x19
+        RenderBR {BR} at (22,14) size 0x0
+        RenderMenuList {SELECT} at (2,19) size 282x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 280x25
+            RenderText at (4,4) size 255x17
               text run at (4,4) width 255: "this select box shouldn't be selected"
         RenderText {#text} at (0,0) size 0x0
 selection start: position 1 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.png b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.png
index c63b3b4..429c690 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt
index 59762ae..94d8536 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "This test ensures selection that crosses the shadow DOM boundary of a readonly input element cannot be made by a mouse"
-          text run at (0,18) width 32: "drag."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 774x37
+          text run at (0,17) width 32: "drag."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 774x34
           text run at (0,0) width 774: "To manually test, select text by a mouse drag starting in \"hello\" and ending in \"world\". Selection should only extend inside"
-          text run at (0,18) width 112: "the input element."
-      RenderBlock {DIV} at (0,104) size 784x28
-        RenderTextControl {INPUT} at (0,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (63,5) size 4x19
+          text run at (0,17) width 112: "the input element."
+      RenderBlock {DIV} at (0,100) size 784x27
+        RenderTextControl {INPUT} at (0,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (63,5) size 4x17
           text run at (63,5) width 4: " "
-        RenderInline {SPAN} at (0,0) size 37x19
-          RenderText {#text} at (67,5) size 37x19
+        RenderInline {SPAN} at (0,0) size 37x17
+          RenderText {#text} at (67,5) size 37x17
             text run at (67,5) width 37: "world"
         RenderText {#text} at (0,0) size 0x0
-layer at (11,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 35x19
+layer at (11,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 35x17
       text run at (0,0) width 35: "hello"
 selection start: position 4 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 5 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.png b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.png
index b8a795c..5099869 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt
index eb94de7..55a2b00 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "This test ensures selection that crosses the shadow DOM boundary of a readonly input element cannot be made by a mouse"
-          text run at (0,18) width 32: "drag."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+          text run at (0,17) width 32: "drag."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "To manually test, select text by a mouse drag starting in \"world\" and ending in \"hello\". Selection should not extend into the"
-          text run at (0,18) width 89: "input element."
-      RenderBlock {DIV} at (0,104) size 784x28
-        RenderTextControl {INPUT} at (0,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (63,5) size 4x19
+          text run at (0,17) width 89: "input element."
+      RenderBlock {DIV} at (0,100) size 784x27
+        RenderTextControl {INPUT} at (0,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (63,5) size 4x17
           text run at (63,5) width 4: " "
-        RenderInline {SPAN} at (0,0) size 37x19
-          RenderText {#text} at (67,5) size 37x19
+        RenderInline {SPAN} at (0,0) size 37x17
+          RenderText {#text} at (67,5) size 37x17
             text run at (67,5) width 37: "world"
         RenderText {#text} at (0,0) size 0x0
-layer at (11,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 35x19
+layer at (11,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 35x17
       text run at (0,0) width 35: "hello"
 selection start: position 0 of child 2 {#text} of child 5 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 3 {SPAN} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.png b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.png
index 256a876..ab0e7f7 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt
index 139ce72..f55e024 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt
@@ -3,25 +3,25 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "This test ensures selection that crosses the shadow DOM boundary of a readonly input element cannot be made by a mouse"
-          text run at (0,18) width 32: "drag."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+          text run at (0,17) width 32: "drag."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "To manually test, select text by a mouse drag starting in \"hello\" and ending in \"world\". Selection should not extend into the"
-          text run at (0,18) width 89: "input element."
-      RenderBlock {DIV} at (0,104) size 784x28
-        RenderInline {SPAN} at (0,0) size 31x19
-          RenderText {#text} at (0,5) size 31x19
+          text run at (0,17) width 89: "input element."
+      RenderBlock {DIV} at (0,100) size 784x27
+        RenderInline {SPAN} at (0,0) size 31x17
+          RenderText {#text} at (0,5) size 31x17
             text run at (0,5) width 31: "hello"
-        RenderText {#text} at (31,5) size 4x19
+        RenderText {#text} at (31,5) size 4x17
           text run at (31,5) width 4: " "
-        RenderTextControl {INPUT} at (35,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderTextControl {INPUT} at (35,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
         RenderText {#text} at (0,0) size 0x0
-layer at (46,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 39x19
+layer at (46,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 39x17
       text run at (0,0) width 39: "world"
 selection start: position 2 of child 0 {#text} of child 1 {SPAN} of child 5 {DIV} of body
 selection end:   position 1 of child 2 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.png b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.png
index 7bf58ac..3282013 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt
index 9e2bc5f..2b1e98a 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt
@@ -3,32 +3,32 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "This test ensures selection that crosses the shadow DOM boundary of a readonly input element cannot be made by a mouse"
-          text run at (0,18) width 32: "drag."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 762x37
+          text run at (0,17) width 32: "drag."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 762x34
           text run at (0,0) width 762: "To manually test, select text by a mouse drag starting in \"hello\" and ending in \"WebKit\". Selection should extend only in"
-          text run at (0,18) width 244: "the input element that contains \"hello\"."
-      RenderBlock {DIV} at (0,104) size 784x28
-        RenderTextControl {INPUT} at (0,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (63,5) size 4x19
+          text run at (0,17) width 244: "the input element that contains \"hello\"."
+      RenderBlock {DIV} at (0,100) size 784x27
+        RenderTextControl {INPUT} at (0,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (63,5) size 4x17
           text run at (63,5) width 4: " "
-        RenderInline {SPAN} at (0,0) size 37x19
-          RenderText {#text} at (67,5) size 37x19
+        RenderInline {SPAN} at (0,0) size 37x17
+          RenderText {#text} at (67,5) size 37x17
             text run at (67,5) width 37: "world"
-        RenderText {#text} at (104,5) size 4x19
+        RenderText {#text} at (104,5) size 4x17
           text run at (104,5) width 4: " "
-        RenderTextControl {INPUT} at (108,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderTextControl {INPUT} at (108,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
         RenderText {#text} at (0,0) size 0x0
-layer at (11,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 35x19
+layer at (11,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 35x17
       text run at (0,0) width 35: "hello"
-layer at (119,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 52x19
+layer at (119,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 52x17
       text run at (0,0) width 52: "WebKit"
 selection start: position 4 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 5 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.png b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.png
index cacb38d..5776287 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt
index 9743847..17291d0 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt
@@ -3,32 +3,32 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 776x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 776x34
           text run at (0,0) width 776: "This test ensures selection that crosses the shadow DOM boundary of a readonly input element cannot be made by a mouse"
-          text run at (0,18) width 32: "drag."
-      RenderBlock {P} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 762x37
+          text run at (0,17) width 32: "drag."
+      RenderBlock {P} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 762x34
           text run at (0,0) width 762: "To manually test, select text by a mouse drag starting in \"WebKit\" and ending in \"hello\". Selection should extend only in"
-          text run at (0,18) width 263: "the input element that contains \"WebKit\"."
-      RenderBlock {DIV} at (0,104) size 784x28
-        RenderTextControl {INPUT} at (0,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderText {#text} at (63,5) size 4x19
+          text run at (0,17) width 263: "the input element that contains \"WebKit\"."
+      RenderBlock {DIV} at (0,100) size 784x27
+        RenderTextControl {INPUT} at (0,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (63,5) size 4x17
           text run at (63,5) width 4: " "
-        RenderInline {SPAN} at (0,0) size 37x19
-          RenderText {#text} at (67,5) size 37x19
+        RenderInline {SPAN} at (0,0) size 37x17
+          RenderText {#text} at (67,5) size 37x17
             text run at (67,5) width 37: "world"
-        RenderText {#text} at (104,5) size 4x19
+        RenderText {#text} at (104,5) size 4x17
           text run at (104,5) width 4: " "
-        RenderTextControl {INPUT} at (108,2) size 63x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderTextControl {INPUT} at (108,2) size 63x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
         RenderText {#text} at (0,0) size 0x0
-layer at (11,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 35x19
+layer at (11,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 35x17
       text run at (0,0) width 35: "hello"
-layer at (119,117) size 57x18 scrollHeight 19
-  RenderBlock {DIV} at (3,3) size 57x18
-    RenderText {#text} at (0,0) size 52x19
+layer at (119,113) size 57x17
+  RenderBlock {DIV} at (3,3) size 57x17
+    RenderText {#text} at (0,0) size 52x17
       text run at (0,0) width 52: "WebKit"
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 5 {INPUT} of child 5 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 5 {INPUT} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.png
index b7de08b..78dd98d 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.txt
index 04deaf5..842d0b0 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-001-expected.txt
@@ -10,31 +10,31 @@
     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 600x604
-            text run at (0,10) width 552: "Four score and seven years ago our fathers brought forth,"
-            text run at (552,10) width 6: " "
-            text run at (0,58) width 583: "upon this continent, a new nation, conceived in Liberty, and"
-            text run at (583,58) width 6: " "
-            text run at (0,106) width 571: "dedicated to the proposition that all men are created equal."
-            text run at (571,106) width 6: " "
-            text run at (0,154) width 596: "Now we are engaged in a great civil war, testing whether that"
-            text run at (596,154) width 4: " "
-            text run at (0,202) width 559: "nation, or any nation, so conceived, and so dedicated, can"
-            text run at (559,202) width 6: " "
-            text run at (0,250) width 565: "long endure. We are met here on a great battlefield of that"
-            text run at (565,250) width 6: " "
-            text run at (0,298) width 539: "war. We have come to dedicate a portion of it as a final"
-            text run at (539,298) width 6: " "
-            text run at (0,346) width 551: "resting place for those who here gave their lives that that"
-            text run at (551,346) width 6: " "
-            text run at (0,394) width 573: "nation might live. It is altogether fitting and proper that we"
-            text run at (573,394) width 6: " "
-            text run at (0,442) width 559: "should do this. Four score and seven years ago our fathers"
-            text run at (559,442) width 6: " "
-            text run at (0,490) width 598: "brought forth, upon this continent, a new nation, conceived in"
-            text run at (598,490) width 2: " "
-            text run at (0,538) width 554: "Liberty, and dedicated to the proposition that all men are"
-            text run at (554,538) width 6: " "
-            text run at (0,586) width 136: "created equal."
+          RenderText {#text} at (0,11) size 600x602
+            text run at (0,11) width 552: "Four score and seven years ago our fathers brought forth,"
+            text run at (552,11) width 6: " "
+            text run at (0,59) width 583: "upon this continent, a new nation, conceived in Liberty, and"
+            text run at (583,59) width 6: " "
+            text run at (0,107) width 571: "dedicated to the proposition that all men are created equal."
+            text run at (571,107) width 6: " "
+            text run at (0,155) width 596: "Now we are engaged in a great civil war, testing whether that"
+            text run at (596,155) width 4: " "
+            text run at (0,203) width 559: "nation, or any nation, so conceived, and so dedicated, can"
+            text run at (559,203) width 6: " "
+            text run at (0,251) width 565: "long endure. We are met here on a great battlefield of that"
+            text run at (565,251) width 6: " "
+            text run at (0,299) width 539: "war. We have come to dedicate a portion of it as a final"
+            text run at (539,299) width 6: " "
+            text run at (0,347) width 551: "resting place for those who here gave their lives that that"
+            text run at (551,347) width 6: " "
+            text run at (0,395) width 573: "nation might live. It is altogether fitting and proper that we"
+            text run at (573,395) width 6: " "
+            text run at (0,443) width 559: "should do this. Four score and seven years ago our fathers"
+            text run at (559,443) width 6: " "
+            text run at (0,491) width 598: "brought forth, upon this continent, a new nation, conceived in"
+            text run at (598,491) width 2: " "
+            text run at (0,539) width 554: "Liberty, and dedicated to the proposition that all men are"
+            text run at (554,539) width 6: " "
+            text run at (0,587) width 136: "created equal."
 selection start: position 1 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
 selection end:   position 737 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.png
index 009bb22..17d857d 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.txt
index dce65a4..0b8ccb3 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-002-expected.txt
@@ -10,34 +10,34 @@
     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 589x124
-            text run at (0,10) width 552: "Four score and seven years ago our fathers brought forth,"
-            text run at (552,10) width 6: " "
-            text run at (0,58) width 583: "upon this continent, a new nation, conceived in Liberty, and"
-            text run at (583,58) width 6: " "
-            text run at (0,106) width 399: "dedicated to the proposition that all men "
+          RenderText {#text} at (0,11) size 589x122
+            text run at (0,11) width 552: "Four score and seven years ago our fathers brought forth,"
+            text run at (552,11) width 6: " "
+            text run at (0,59) width 583: "upon this continent, a new nation, conceived in Liberty, and"
+            text run at (583,59) width 6: " "
+            text run at (0,107) width 399: "dedicated to the proposition that all men "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,154) size 590x124
-            text run at (0,154) width 576: "are created equal. Now we are engaged in a great civil war,"
-            text run at (576,154) width 6: " "
-            text run at (0,202) width 584: "testing whether that nation, or any nation, so conceived, and"
-            text run at (584,202) width 6: " "
-            text run at (0,250) width 569: "so dedicated, can long endure. We are met here on a great "
+          RenderText {#text} at (0,155) size 590x122
+            text run at (0,155) width 576: "are created equal. Now we are engaged in a great civil war,"
+            text run at (576,155) width 6: " "
+            text run at (0,203) width 584: "testing whether that nation, or any nation, so conceived, and"
+            text run at (584,203) width 6: " "
+            text run at (0,251) width 569: "so dedicated, can long endure. We are met here on a great "
           RenderBR {BR} at (569,272) size 0x0
-          RenderText {#text} at (0,298) size 600x172
-            text run at (0,298) width 600: "battlefield of that war. We have come to dedicate a portion of"
-            text run at (600,298) width 0: " "
-            text run at (0,346) width 579: "it as a final resting place for those who here gave their lives"
-            text run at (579,346) width 6: " "
-            text run at (0,394) width 582: "that that nation might live. It is altogether fitting and proper"
-            text run at (582,394) width 6: " "
-            text run at (0,442) width 224: "that we should do this. "
+          RenderText {#text} at (0,299) size 600x170
+            text run at (0,299) width 600: "battlefield of that war. We have come to dedicate a portion of"
+            text run at (600,299) width 0: " "
+            text run at (0,347) width 579: "it as a final resting place for those who here gave their lives"
+            text run at (579,347) width 6: " "
+            text run at (0,395) width 582: "that that nation might live. It is altogether fitting and proper"
+            text run at (582,395) width 6: " "
+            text run at (0,443) width 224: "that we should do this. "
           RenderBR {BR} at (224,464) size 0x0
-          RenderText {#text} at (0,490) size 589x124
-            text run at (0,490) width 552: "Four score and seven years ago our fathers brought forth,"
-            text run at (552,490) width 6: " "
-            text run at (0,538) width 583: "upon this continent, a new nation, conceived in Liberty, and"
-            text run at (583,538) width 6: " "
-            text run at (0,586) width 571: "dedicated to the proposition that all men are created equal."
+          RenderText {#text} at (0,491) size 589x122
+            text run at (0,491) width 552: "Four score and seven years ago our fathers brought forth,"
+            text run at (552,491) width 6: " "
+            text run at (0,539) width 583: "upon this continent, a new nation, conceived in Liberty, and"
+            text run at (583,539) width 6: " "
+            text run at (0,587) 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 body
 selection end:   position 180 of child 6 {#text} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.png
index a15cb6b..994cd80 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.txt
index 5e828a6..8f421eb 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-003-expected.txt
@@ -9,36 +9,36 @@
   RenderBlock {HTML} at (0,0) size 785x1044
     RenderBody {BODY} at (64,64) size 748x916 [border: (50px solid #FF0000)]
       RenderBlock (anonymous) at (74,74) size 600x768
-        RenderBR {BR} at (0,10) size 0x28
-        RenderBR {BR} at (0,58) size 0x28
-        RenderText {#text} at (0,106) size 600x604
-          text run at (0,106) width 552: "Four score and seven years ago our fathers brought forth,"
-          text run at (552,106) width 6: " "
-          text run at (0,154) width 583: "upon this continent, a new nation, conceived in Liberty, and"
-          text run at (583,154) width 6: " "
-          text run at (0,202) width 571: "dedicated to the proposition that all men are created equal."
-          text run at (571,202) width 6: " "
-          text run at (0,250) width 596: "Now we are engaged in a great civil war, testing whether that"
-          text run at (596,250) width 4: " "
-          text run at (0,298) width 559: "nation, or any nation, so conceived, and so dedicated, can"
-          text run at (559,298) width 6: " "
-          text run at (0,346) width 565: "long endure. We are met here on a great battlefield of that"
-          text run at (565,346) width 6: " "
-          text run at (0,394) width 539: "war. We have come to dedicate a portion of it as a final"
-          text run at (539,394) width 6: " "
-          text run at (0,442) width 551: "resting place for those who here gave their lives that that"
-          text run at (551,442) width 6: " "
-          text run at (0,490) width 573: "nation might live. It is altogether fitting and proper that we"
-          text run at (573,490) width 6: " "
-          text run at (0,538) width 559: "should do this. Four score and seven years ago our fathers"
-          text run at (559,538) width 6: " "
-          text run at (0,586) width 598: "brought forth, upon this continent, a new nation, conceived in"
-          text run at (598,586) width 2: " "
-          text run at (0,634) width 554: "Liberty, and dedicated to the proposition that all men are"
-          text run at (554,634) width 6: " "
-          text run at (0,682) width 142: "created equal. "
+        RenderBR {BR} at (0,11) size 0x26
+        RenderBR {BR} at (0,59) size 0x26
+        RenderText {#text} at (0,107) size 600x602
+          text run at (0,107) width 552: "Four score and seven years ago our fathers brought forth,"
+          text run at (552,107) width 6: " "
+          text run at (0,155) width 583: "upon this continent, a new nation, conceived in Liberty, and"
+          text run at (583,155) width 6: " "
+          text run at (0,203) width 571: "dedicated to the proposition that all men are created equal."
+          text run at (571,203) width 6: " "
+          text run at (0,251) width 596: "Now we are engaged in a great civil war, testing whether that"
+          text run at (596,251) width 4: " "
+          text run at (0,299) width 559: "nation, or any nation, so conceived, and so dedicated, can"
+          text run at (559,299) width 6: " "
+          text run at (0,347) width 565: "long endure. We are met here on a great battlefield of that"
+          text run at (565,347) width 6: " "
+          text run at (0,395) width 539: "war. We have come to dedicate a portion of it as a final"
+          text run at (539,395) width 6: " "
+          text run at (0,443) width 551: "resting place for those who here gave their lives that that"
+          text run at (551,443) width 6: " "
+          text run at (0,491) width 573: "nation might live. It is altogether fitting and proper that we"
+          text run at (573,491) width 6: " "
+          text run at (0,539) width 559: "should do this. Four score and seven years ago our fathers"
+          text run at (559,539) width 6: " "
+          text run at (0,587) width 598: "brought forth, upon this continent, a new nation, conceived in"
+          text run at (598,587) width 2: " "
+          text run at (0,635) width 554: "Liberty, and dedicated to the proposition that all men are"
+          text run at (554,635) width 6: " "
+          text run at (0,683) width 142: "created equal. "
         RenderBR {BR} at (142,704) size 0x0
-        RenderBR {BR} at (0,730) size 0x28
+        RenderBR {BR} at (0,731) size 0x26
       RenderBlock {DIV} at (74,842) size 600x0
 selection start: position 0 of child 1 {BR} of body
 selection end:   position 1 of child 5 {BR} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.png
index c58c7d8..11b1e98 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.txt
index 3bee36d..35c182a 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-004-expected.txt
@@ -10,13 +10,13 @@
     RenderBody {BODY} at (64,64) size 748x457 [border: (50px solid #FF0000)]
       RenderBlock {DIV} at (74,74) size 600x0
       RenderBlock (anonymous) at (74,74) size 600x48
-        RenderText {#text} at (0,10) size 54x28
-          text run at (0,10) width 54: "Hello"
+        RenderText {#text} at (0,11) size 54x26
+          text run at (0,11) width 54: "Hello"
       RenderTable {TABLE} at (74,122) size 6x6
         RenderTableSection {TBODY} at (0,0) size 6x6
           RenderTableRow {TR} at (0,2) size 6x2
             RenderTableCell {TD} at (2,2) size 2x2 [r=0 c=0 rs=1 cs=1]
       RenderBlock (anonymous) at (74,128) size 600x48
-        RenderBR {BR} at (0,10) size 0x28
+        RenderBR {BR} at (0,11) size 0x26
 selection start: position 1 of child 2 {#text} of body
 selection end:   position 0 of child 5 {BR} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.png
index 9629ac7..c4d6f88 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.txt
index 0ea50ce..ffb97d2 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-005-expected.txt
@@ -6,9 +6,9 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderText {#text} at (0,0) size 745x37
+      RenderText {#text} at (0,0) size 745x34
         text run at (0,0) width 745: "VisiblePositions created at [html, x] where html is non-editable should descend into an editable body, for convenience."
-        text run at (0,18) width 273: "Everything on this page should be selected."
+        text run at (0,17) width 273: "Everything on this page should be selected."
       RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of body
 selection end:   position 164 of child 0 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.png
index 9629ac7..c4d6f88 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.txt
index bffb6ec..ee19e62 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-006-expected.txt
@@ -7,9 +7,9 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderText {#text} at (0,0) size 745x37
+      RenderText {#text} at (0,0) size 745x34
         text run at (0,0) width 745: "VisiblePositions created at [html, x] where html is non-editable should descend into an editable body, for convenience."
-        text run at (0,18) width 273: "Everything on this page should be selected."
+        text run at (0,17) width 273: "Everything on this page should be selected."
       RenderText {#text} at (0,0) size 0x0
 selection start: position 0 of child 0 {#text} of body
 selection end:   position 164 of child 0 {#text} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.png b/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.png
index 42da399..3319568 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.txt
index 88648c6..9b7d841 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-all-iframe-expected.txt
@@ -15,42 +15,42 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock (anonymous) at (0,0) size 784x172
+      RenderBlock (anonymous) at (0,0) size 784x171
         RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
           layer at (0,0) size 300x150
             RenderView at (0,0) size 300x150
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
-                RenderBlock {DIV} at (0,0) size 284x18
-                  RenderBR {BR} at (0,0) size 0x19
+                RenderBlock {DIV} at (0,0) size 284x17
+                  RenderBR {BR} at (0,0) size 0x17
         RenderBR {BR} at (304,154) size 0x0
-        RenderBR {BR} at (0,154) size 0x19
-      RenderBlock {P} at (0,188) size 784x36
-        RenderInline {B} at (0,0) size 664x19
-          RenderText {#text} at (0,0) size 664x19
+        RenderBR {BR} at (0,154) size 0x17
+      RenderBlock {P} at (0,187) size 784x34
+        RenderInline {B} at (0,0) size 664x17
+          RenderText {#text} at (0,0) size 664x17
             text run at (0,0) width 491: "This test uses the eventSender to do a mouse click to focus the subframe. "
             text run at (491,0) width 173: "It won't run interactively."
-        RenderText {#text} at (664,0) size 723x37
+        RenderText {#text} at (664,0) size 723x34
           text run at (664,0) width 4: " "
           text run at (668,0) width 55: "To run it"
-          text run at (0,18) width 353: "manually, click on the iframe, Select All, then hit delete."
-      RenderBlock (anonymous) at (0,240) size 784x54
-        RenderText {#text} at (0,0) size 779x55
+          text run at (0,17) width 353: "manually, click on the iframe, Select All, then hit delete."
+      RenderBlock (anonymous) at (0,237) size 784x51
+        RenderText {#text} at (0,0) size 779x51
           text run at (0,0) width 769: "Selecting all the content in a contenteditable iframe should select the iframe itself (to help the user delete the iframe) only if"
-          text run at (0,18) width 217: "the iframe is in an editable region. "
-          text run at (217,18) width 423: "This test loads ../resources/select-all-iframe-src.html into an iframe. "
-          text run at (640,18) width 139: "That file does a Select"
-          text run at (0,36) width 86: "All + Delete. "
-          text run at (86,36) width 172: "Two things should happen:"
-      RenderBlock {UL} at (0,310) size 784x54
-        RenderListItem {LI} at (40,0) size 744x36
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 731x37
+          text run at (0,17) width 217: "the iframe is in an editable region. "
+          text run at (217,17) width 423: "This test loads ../resources/select-all-iframe-src.html into an iframe. "
+          text run at (640,17) width 139: "That file does a Select"
+          text run at (0,34) width 86: "All + Delete. "
+          text run at (86,34) width 172: "Two things should happen:"
+      RenderBlock {UL} at (0,304) size 784x51
+        RenderListItem {LI} at (40,0) size 744x34
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 731x34
             text run at (0,0) width 451: "The Select All operation should not select the iframe, only it's contents. "
             text run at (451,0) width 280: "The results of the Select All will be apparent"
-            text run at (0,18) width 450: "from the delegate messages that DumpRenderTree receives and dumps."
-        RenderListItem {LI} at (40,36) size 744x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 336x19
+            text run at (0,17) width 450: "from the delegate messages that DumpRenderTree receives and dumps."
+        RenderListItem {LI} at (40,34) size 744x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 336x17
             text run at (0,0) width 336: "The contents of the editable iframe should be deleted."
diff --git a/LayoutTests/platform/gtk/editing/selection/select-box-expected.png b/LayoutTests/platform/gtk/editing/selection/select-box-expected.png
index c3a384a..05cff5e 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-box-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-box-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt
index 6560fc7..1cd6802 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt
@@ -56,18 +56,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 691x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 691x17
           text run at (0,0) width 292: "This tests caret movement across a select box. "
           text run at (292,0) width 399: "The caret should skip over the select box as if it were an image."
-      RenderBlock {DIV} at (0,34) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32
-          RenderText {#text} at (0,7) size 71x19
+      RenderBlock {DIV} at (0,33) size 784x31
+        RenderBlock {DIV} at (0,0) size 784x31
+          RenderText {#text} at (0,7) size 71x17
             text run at (0,7) width 71: "select box: "
-          RenderMenuList {SELECT} at (73,2) size 36x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-            RenderBlock (anonymous) at (1,1) size 34x26
-              RenderText at (4,4) size 9x19
+          RenderMenuList {SELECT} at (73,2) size 36x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+            RenderBlock (anonymous) at (1,1) size 34x25
+              RenderText at (4,4) size 9x17
                 text run at (4,4) width 9: "1"
-          RenderText {#text} at (111,7) size 66x19
+          RenderText {#text} at (111,7) size 66x17
             text run at (111,7) width 66: " the end ..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png b/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png
index 122e1f7..e0c7098 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt
index 9969e7e..53e1935 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt
@@ -7,14 +7,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 750x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 750x34
           text run at (0,0) width 326: "This tests paragraphBoundary selection navigation. "
           text run at (326,0) width 424: "The caret should be at the end of the paragraph below, just after the"
-          text run at (0,18) width 67: "select box."
-      RenderBlock {DIV} at (0,52) size 784x32
-        RenderMenuList {SELECT} at (2,2) size 36x28 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-          RenderBlock (anonymous) at (1,1) size 34x26
-            RenderText at (4,4) size 9x19
+          text run at (0,17) width 67: "select box."
+      RenderBlock {DIV} at (0,50) size 784x31
+        RenderMenuList {SELECT} at (2,2) size 36x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+          RenderBlock (anonymous) at (1,1) size 34x25
+            RenderText at (4,4) size 9x17
               text run at (4,4) width 9: "1"
 caret: position 1 of child 0 {SELECT} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.png b/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.png
index ec40561..c7df69c 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt
index 8019a09..f734022 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-from-textfield-outwards-expected.txt
@@ -15,36 +15,36 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 104x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 104x17
           text run at (0,0) width 104: "This is a test for "
-        RenderInline {I} at (0,0) size 755x37
-          RenderInline {A} at (0,0) size 348x19 [color=#0000EE]
-            RenderText {#text} at (104,0) size 348x19
+        RenderInline {I} at (0,0) size 755x34
+          RenderInline {A} at (0,0) size 348x17 [color=#0000EE]
+            RenderText {#text} at (104,0) size 348x17
               text run at (104,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=9312"
-          RenderText {#text} at (452,0) size 755x37
+          RenderText {#text} at (452,0) size 755x34
             text run at (452,0) width 4: " "
             text run at (456,0) width 299: "REGRESSION: Selection bug in new text fields"
-            text run at (0,18) width 210: "when selecting past the first letter"
-        RenderText {#text} at (210,18) size 4x19
-          text run at (210,18) width 4: "."
-      RenderBlock {HR} at (0,52) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {P} at (0,70) size 784x54
-        RenderText {#text} at (0,0) size 778x55
+            text run at (0,17) width 210: "when selecting past the first letter"
+        RenderText {#text} at (210,17) size 4x17
+          text run at (210,17) width 4: "."
+      RenderBlock {HR} at (0,50) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,68) size 784x51
+        RenderText {#text} at (0,0) size 778x51
           text run at (0,0) width 778: "Curabitur pretium, quam quis semper malesuada, est libero feugiat libero, vel fringilla orci nibh sed neque. Quisque eu nulla"
-          text run at (0,18) width 732: "non nisi molestie accumsan. Etiam tellus urna, laoreet ac, laoreet non, suscipit sed, sapien. Phasellus vehicula, sem at"
-          text run at (0,36) width 541: "posuere vehicula, augue nibh molestie nisl, nec ullamcorper lacus ante vulputate pede."
-      RenderBlock (anonymous) at (0,140) size 784x92
-        RenderTextControl {INPUT} at (20,20) size 293x52 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+          text run at (0,17) width 732: "non nisi molestie accumsan. Etiam tellus urna, laoreet ac, laoreet non, suscipit sed, sapien. Phasellus vehicula, sem at"
+          text run at (0,34) width 541: "posuere vehicula, augue nibh molestie nisl, nec ullamcorper lacus ante vulputate pede."
+      RenderBlock (anonymous) at (0,135) size 784x91
+        RenderTextControl {INPUT} at (20,20) size 293x51 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {P} at (0,248) size 784x54
-        RenderText {#text} at (0,0) size 769x55
+      RenderBlock {P} at (0,242) size 784x51
+        RenderText {#text} at (0,0) size 769x51
           text run at (0,0) width 754: "Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris viverra augue vitae purus."
-          text run at (0,18) width 769: "Morbi sed sem. Donec dui nisi, ultrices non, pretium quis, hendrerit non, est. Donec tellus. Donec eget dui id eros pharetra"
-          text run at (0,36) width 733: "rutrum. Suspendisse sodales lectus sit amet nulla. Morbi tortor arcu, convallis blandit, elementum eu, aliquet a, tellus."
-layer at (40,180) size 269x28
-  RenderBlock {DIV} at (12,12) size 269x28
-    RenderText {#text} at (0,0) size 196x28
+          text run at (0,17) width 769: "Morbi sed sem. Donec dui nisi, ultrices non, pretium quis, hendrerit non, est. Donec tellus. Donec eget dui id eros pharetra"
+          text run at (0,34) width 733: "rutrum. Suspendisse sodales lectus sit amet nulla. Morbi tortor arcu, convallis blandit, elementum eu, aliquet a, tellus."
+layer at (40,175) size 269x27
+  RenderBlock {DIV} at (12,12) size 269x27
+    RenderText {#text} at (0,0) size 196x27
       text run at (0,0) width 196: "Lorem ipsum dolor"
 selection start: position 11 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 7 {INPUT} of body
 selection end:   position 17 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 7 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-missing-image-expected.png b/LayoutTests/platform/gtk/editing/selection/select-missing-image-expected.png
index fa0a482..2c4af1f 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-missing-image-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/select-missing-image-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.png b/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.png
new file mode 100644
index 0000000..7c8323f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.txt
index 04c33e4..1ab3a30 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-text-overflow-ellipsis-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {H3} at (0,0) size 784x22
-        RenderText {#text} at (0,0) size 68x22
+      RenderBlock {H3} at (0,0) size 784x21
+        RenderText {#text} at (0,0) size 68x21
           text run at (0,0) width 68: "Test for "
-        RenderInline {A} at (0,0) size 156x22 [color=#0000EE]
-          RenderText {#text} at (68,0) size 156x22
+        RenderInline {A} at (0,0) size 156x21 [color=#0000EE]
+          RenderText {#text} at (68,0) size 156x21
             text run at (68,0) width 156: "WebKit bug 29968"
-        RenderText {#text} at (224,0) size 560x22
+        RenderText {#text} at (224,0) size 560x21
           text run at (224,0) width 560: ": Selecting text with text-overflow ellipsis should not show cut off text"
-layer at (8,48) size 95x18 scrollWidth 121 scrollHeight 19
-  RenderBlock {DIV} at (0,40) size 95x18
-    RenderText {#text} at (0,0) size 121x19
+layer at (8,48) size 95x17 scrollWidth 121
+  RenderBlock {DIV} at (0,39) size 95x18
+    RenderText {#text} at (0,0) size 121x17
       text run at (0,0) width 121: "Lorem ipsum dolor"
 selection start: position 0 of child 0 {#text} of child 3 {DIV} of body
 selection end:   position 11 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/selectNode-expected.png b/LayoutTests/platform/gtk/editing/selection/selectNode-expected.png
new file mode 100644
index 0000000..9e83be8
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/selectNode-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/selectNode-expected.txt b/LayoutTests/platform/gtk/editing/selection/selectNode-expected.txt
index f327656..85553f7 100644
--- a/LayoutTests/platform/gtk/editing/selection/selectNode-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/selectNode-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 337x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 337x17
           text run at (0,0) width 337: "This tests Range.selectNode() of a text node and a br."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 23x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 23x17
           text run at (0,0) width 23: "one"
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 24x19
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 24x17
           text run at (0,0) width 24: "two"
-        RenderBR {BR} at (24,15) size 0x0
-        RenderText {#text} at (0,18) size 31x19
-          text run at (0,18) width 31: "three"
-      RenderBlock {DIV} at (0,88) size 784x18
-        RenderText {#text} at (0,0) size 26x19
+        RenderBR {BR} at (24,14) size 0x0
+        RenderText {#text} at (0,17) size 31x17
+          text run at (0,17) width 31: "three"
+      RenderBlock {DIV} at (0,84) size 784x17
+        RenderText {#text} at (0,0) size 26x17
           text run at (0,0) width 26: "four"
-      RenderBlock {UL} at (0,122) size 784x18
-        RenderListItem {LI} at (40,0) size 744x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 54x19
+      RenderBlock {UL} at (0,117) size 784x17
+        RenderListItem {LI} at (40,0) size 744x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 54x17
             text run at (0,0) width 54: "Success."
diff --git a/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.png b/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.png
new file mode 100644
index 0000000..6235c94
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.txt b/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.txt
index 87426b3..ea348a4 100644
--- a/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/selectNodeContents-expected.txt
@@ -3,23 +3,23 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 393x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 393x17
           text run at (0,0) width 393: "This tests Range.selectNodeContents() of a text node and a br."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 23x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 23x17
           text run at (0,0) width 23: "one"
-      RenderBlock {DIV} at (0,52) size 784x36
-        RenderText {#text} at (0,0) size 24x19
+      RenderBlock {DIV} at (0,50) size 784x34
+        RenderText {#text} at (0,0) size 24x17
           text run at (0,0) width 24: "two"
-        RenderBR {BR} at (24,15) size 0x0
-        RenderText {#text} at (0,18) size 31x19
-          text run at (0,18) width 31: "three"
-      RenderBlock {DIV} at (0,88) size 784x18
-        RenderText {#text} at (0,0) size 26x19
+        RenderBR {BR} at (24,14) size 0x0
+        RenderText {#text} at (0,17) size 31x17
+          text run at (0,17) width 31: "three"
+      RenderBlock {DIV} at (0,84) size 784x17
+        RenderText {#text} at (0,0) size 26x17
           text run at (0,0) width 26: "four"
-      RenderBlock {UL} at (0,122) size 784x18
-        RenderListItem {LI} at (40,0) size 744x18
-          RenderListMarker at (-18,0) size 7x19: bullet
-          RenderText {#text} at (0,0) size 54x19
+      RenderBlock {UL} at (0,117) size 784x17
+        RenderListItem {LI} at (40,0) size 744x17
+          RenderListMarker at (-17,0) size 7x17: bullet
+          RenderText {#text} at (0,0) size 54x17
             text run at (0,0) width 54: "Success."
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.png b/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.png
index 4e04a22..bde2bff 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.txt b/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.txt
index 6990703..9a98e6f 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/selection-3748164-fix-expected.txt
@@ -12,14 +12,14 @@
 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 784x70 [border: (2px solid #FF0000)]
-        RenderBlock {DIV} at (14,14) size 756x42
+      RenderBlock {DIV} at (0,0) size 784x68 [border: (2px solid #FF0000)]
+        RenderBlock {DIV} at (14,14) size 756x40
           RenderInline {SPAN} at (0,0) size 0x0
-          RenderBR {BR} at (0,0) size 0x28
+          RenderBR {BR} at (0,0) size 0x26
           RenderInline {SPAN} at (0,0) size 29x14
-            RenderText {#text} at (0,28) size 29x14
-              text run at (0,28) width 29: "- Ken"
-          RenderBR {BR} at (29,39) size 0x0
+            RenderText {#text} at (0,26) size 29x14
+              text run at (0,26) width 29: "- Ken"
+          RenderBR {BR} at (29,37) size 0x0
           RenderInline {SPAN} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
 caret: position 5 of child 0 {#text} of child 4 {SPAN} of child 1 {DIV} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.png b/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.png
new file mode 100644
index 0000000..108bc6b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.txt b/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.txt
index 4b1b341..654c907 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/selection-actions-expected.txt
@@ -9,32 +9,32 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderText {#text} at (0,0) size 772x37
+      RenderText {#text} at (0,0) size 772x34
         text run at (0,0) width 772: "This tests whether certain NSResponder methods that should only operate on editable regions modify a selection that is not"
-        text run at (0,18) width 132: "in an editable region."
-      RenderBR {BR} at (132,33) size 0x0
-      RenderText {#text} at (0,36) size 84x19
-        text run at (0,36) width 84: "This is a para"
-      RenderInline {SPAN} at (0,0) size 8x19 [color=#0000FF]
-        RenderText {#text} at (84,36) size 8x19
-          text run at (84,36) width 8: "g"
-      RenderText {#text} at (92,36) size 32x19
-        text run at (92,36) width 32: "raph."
-      RenderBR {BR} at (124,51) size 0x0
-      RenderText {#text} at (0,54) size 63x19
-        text run at (0,54) width 63: "Some text"
-      RenderBR {BR} at (63,69) size 0x0
-      RenderText {#text} at (0,72) size 63x19
-        text run at (0,72) width 63: "Some text"
-      RenderBR {BR} at (63,87) size 0x0
-      RenderText {#text} at (0,90) size 63x19
-        text run at (0,90) width 63: "Some text"
-      RenderBR {BR} at (63,105) size 0x0
-      RenderText {#text} at (0,108) size 63x19
-        text run at (0,108) width 63: "Some text"
-      RenderBR {BR} at (63,123) size 0x0
-      RenderText {#text} at (0,126) size 124x19
-        text run at (0,126) width 124: "This is a paragraph."
+        text run at (0,17) width 132: "in an editable region."
+      RenderBR {BR} at (132,31) size 0x0
+      RenderText {#text} at (0,34) size 84x17
+        text run at (0,34) width 84: "This is a para"
+      RenderInline {SPAN} at (0,0) size 8x17 [color=#0000FF]
+        RenderText {#text} at (84,34) size 8x17
+          text run at (84,34) width 8: "g"
+      RenderText {#text} at (92,34) size 32x17
+        text run at (92,34) width 32: "raph."
+      RenderBR {BR} at (124,48) size 0x0
+      RenderText {#text} at (0,51) size 63x17
+        text run at (0,51) width 63: "Some text"
+      RenderBR {BR} at (63,65) size 0x0
+      RenderText {#text} at (0,68) size 63x17
+        text run at (0,68) width 63: "Some text"
+      RenderBR {BR} at (63,82) size 0x0
+      RenderText {#text} at (0,85) size 63x17
+        text run at (0,85) width 63: "Some text"
+      RenderBR {BR} at (63,99) size 0x0
+      RenderText {#text} at (0,102) size 63x17
+        text run at (0,102) width 63: "Some text"
+      RenderBR {BR} at (63,116) size 0x0
+      RenderText {#text} at (0,119) size 124x17
+        text run at (0,119) width 124: "This is a paragraph."
       RenderText {#text} at (0,0) size 0x0
 selection start: position 11 of child 2 {#text} of body
 selection end:   position 1 of child 7 {BR} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-background-expected.png b/LayoutTests/platform/gtk/editing/selection/selection-background-expected.png
index a1b9ad6..89b4c16 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-background-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/selection-background-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-background-expected.txt b/LayoutTests/platform/gtk/editing/selection/selection-background-expected.txt
index f1f5c52..833e0a7 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-background-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/selection-background-expected.txt
@@ -4,11 +4,11 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 767x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 767x17
           text run at (0,0) width 767: "This tests that the selection tint is grey when the WebView is not focused (using the pixel output from DumpRenderTree)."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 178x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 178x17
           text run at (0,0) width 178: "This text should be selected."
 selection start: position 0 of child 0 {#text} of child 3 {DIV} of body
 selection end:   position 29 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.png b/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.png
index 1164333..cc1c185 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.txt b/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.txt
index 0147bcd0..1bd65e8 100644
--- a/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/selection-button-text-expected.txt
@@ -1,35 +1,35 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x156
-  RenderBlock {HTML} at (0,0) size 800x156
-    RenderBody {BODY} at (8,16) size 784x132
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 556x19
+layer at (0,0) size 800x151
+  RenderBlock {HTML} at (0,0) size 800x151
+    RenderBody {BODY} at (8,16) size 784x127
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 556x17
           text run at (0,0) width 556: "To PASS this test case the text of the button label should not be selected in the selection."
-      RenderBlock {DIV} at (0,34) size 784x98
-        RenderBlock (anonymous) at (0,0) size 784x49
-          RenderText {#text} at (0,0) size 49x19
+      RenderBlock {DIV} at (0,33) size 784x94
+        RenderBlock (anonymous) at (0,0) size 784x47
+          RenderText {#text} at (0,0) size 49x17
             text run at (0,0) width 49: "Buttons"
-          RenderBR {BR} at (49,0) size 0x19
-          RenderText {#text} at (0,24) size 59x19
-            text run at (0,24) width 59: "with text "
-          RenderButton {INPUT} at (61,20) size 71x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-            RenderBlock (anonymous) at (8,4) size 55x18
-              RenderText at (0,0) size 55x19
+          RenderBR {BR} at (49,0) size 0x17
+          RenderText {#text} at (0,23) size 59x17
+            text run at (0,23) width 59: "with text "
+          RenderButton {INPUT} at (61,19) size 71x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+            RenderBlock (anonymous) at (8,4) size 55x17
+              RenderText at (0,0) size 55x17
                 text run at (0,0) width 55: "too little"
-          RenderText {#text} at (134,24) size 55x19
-            text run at (134,24) width 55: " too little"
-        RenderBlock {DIV} at (0,49) size 784x31
-          RenderText {#text} at (0,6) size 54x19
+          RenderText {#text} at (134,23) size 55x17
+            text run at (134,23) width 55: " too little"
+        RenderBlock {DIV} at (0,47) size 784x30
+          RenderText {#text} at (0,6) size 54x17
             text run at (0,6) width 54: "and text "
-          RenderButton {INPUT} at (56,2) size 81x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-            RenderBlock (anonymous) at (8,4) size 65x18
-              RenderText at (0,0) size 65x19
+          RenderButton {INPUT} at (56,2) size 81x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+            RenderBlock (anonymous) at (8,4) size 65x17
+              RenderText at (0,0) size 65x17
                 text run at (0,0) width 65: "too much"
-          RenderText {#text} at (139,6) size 63x19
+          RenderText {#text} at (139,6) size 63x17
             text run at (139,6) width 63: " too much"
-        RenderBlock (anonymous) at (0,80) size 784x18
-          RenderText {#text} at (0,0) size 244x19
+        RenderBlock (anonymous) at (0,77) size 784x17
+          RenderText {#text} at (0,0) size 244x17
             text run at (0,0) width 244: "Should not be selected in the selection."
 selection start: position 0 of child 0 {#text} of child 1 {P} of body
 selection end:   position 41 of child 6 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.png b/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.png
index ffea0ca..6cccf14 100644
--- a/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.txt
index 5494863..14f4ea6 100644
--- a/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/table-caret-1-expected.txt
@@ -6,28 +6,28 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 381x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 381x17
           text run at (0,0) width 381: "This tests the caret position for the caret before a block table."
-      RenderBlock {DIV} at (0,34) size 784x112
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x107
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderTable {TABLE} at (0,18) size 51x76 [border: (1px solid #999999)]
-          RenderTableSection {TBODY} at (1,1) size 49x74
-            RenderTableRow {TR} at (0,2) size 49x22
-              RenderTableCell {TD} at (2,2) size 45x22 [border: (1px solid #999999)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 22x19
+        RenderTable {TABLE} at (0,17) size 51x73 [border: (1px solid #999999)]
+          RenderTableSection {TBODY} at (1,1) size 49x71
+            RenderTableRow {TR} at (0,2) size 49x21
+              RenderTableCell {TD} at (2,2) size 45x21 [border: (1px solid #999999)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 22x17
                   text run at (2,2) width 22: "this"
-            RenderTableRow {TR} at (0,26) size 49x22
-              RenderTableCell {TD} at (2,26) size 45x22 [border: (1px solid #999999)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 10x19
+            RenderTableRow {TR} at (0,25) size 49x21
+              RenderTableCell {TD} at (2,25) size 45x21 [border: (1px solid #999999)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 10x17
                   text run at (2,2) width 10: "is"
-            RenderTableRow {TR} at (0,50) size 49x22
-              RenderTableCell {TD} at (2,50) size 45x22 [border: (1px solid #999999)] [r=2 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 41x19
+            RenderTableRow {TR} at (0,48) size 49x21
+              RenderTableCell {TD} at (2,48) size 45x21 [border: (1px solid #999999)] [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 41x17
                   text run at (2,2) width 41: "a table"
-        RenderBlock (anonymous) at (0,94) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,90) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
 caret: position 0 of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.png b/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.png
index 0971b3e..6f2d793 100644
--- a/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.txt
index de3d648..8700a28 100644
--- a/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/table-caret-2-expected.txt
@@ -6,28 +6,28 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 369x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 369x17
           text run at (0,0) width 369: "This tests the caret position for the caret after a block table."
-      RenderBlock {DIV} at (0,34) size 784x112
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x107
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderTable {TABLE} at (0,18) size 51x76 [border: (1px solid #999999)]
-          RenderTableSection {TBODY} at (1,1) size 49x74
-            RenderTableRow {TR} at (0,2) size 49x22
-              RenderTableCell {TD} at (2,2) size 45x22 [border: (1px solid #999999)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 22x19
+        RenderTable {TABLE} at (0,17) size 51x73 [border: (1px solid #999999)]
+          RenderTableSection {TBODY} at (1,1) size 49x71
+            RenderTableRow {TR} at (0,2) size 49x21
+              RenderTableCell {TD} at (2,2) size 45x21 [border: (1px solid #999999)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 22x17
                   text run at (2,2) width 22: "this"
-            RenderTableRow {TR} at (0,26) size 49x22
-              RenderTableCell {TD} at (2,26) size 45x22 [border: (1px solid #999999)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 10x19
+            RenderTableRow {TR} at (0,25) size 49x21
+              RenderTableCell {TD} at (2,25) size 45x21 [border: (1px solid #999999)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 10x17
                   text run at (2,2) width 10: "is"
-            RenderTableRow {TR} at (0,50) size 49x22
-              RenderTableCell {TD} at (2,50) size 45x22 [border: (1px solid #999999)] [r=2 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 41x19
+            RenderTableRow {TR} at (0,48) size 49x21
+              RenderTableCell {TD} at (2,48) size 45x21 [border: (1px solid #999999)] [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 41x17
                   text run at (2,2) width 41: "a table"
-        RenderBlock (anonymous) at (0,94) size 784x18
-          RenderText {#text} at (0,0) size 22x19
+        RenderBlock (anonymous) at (0,90) size 784x17
+          RenderText {#text} at (0,0) size 22x17
             text run at (0,0) width 22: "baz"
 caret: position 1 of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.png b/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.png
index 5bf77fc..a5edb8d 100644
--- a/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.txt b/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.txt
index 85b4453..bd78f17 100644
--- a/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/table-caret-3-expected.txt
@@ -6,26 +6,26 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 377x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 377x17
           text run at (0,0) width 377: "This tests the caret position for the caret after an inline table."
-      RenderBlock {DIV} at (0,34) size 784x76
-        RenderText {#text} at (0,8) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x73
+        RenderText {#text} at (0,8) size 21x17
           text run at (0,8) width 21: "foo"
-        RenderTable {TABLE} at (21,0) size 51x76 [border: (1px solid #999999)]
-          RenderTableSection {TBODY} at (1,1) size 49x74
-            RenderTableRow {TR} at (0,2) size 49x22
-              RenderTableCell {TD} at (2,2) size 45x22 [border: (1px solid #999999)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 22x19
+        RenderTable {TABLE} at (21,0) size 51x73 [border: (1px solid #999999)]
+          RenderTableSection {TBODY} at (1,1) size 49x71
+            RenderTableRow {TR} at (0,2) size 49x21
+              RenderTableCell {TD} at (2,2) size 45x21 [border: (1px solid #999999)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 22x17
                   text run at (2,2) width 22: "this"
-            RenderTableRow {TR} at (0,26) size 49x22
-              RenderTableCell {TD} at (2,26) size 45x22 [border: (1px solid #999999)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 10x19
+            RenderTableRow {TR} at (0,25) size 49x21
+              RenderTableCell {TD} at (2,25) size 45x21 [border: (1px solid #999999)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 10x17
                   text run at (2,2) width 10: "is"
-            RenderTableRow {TR} at (0,50) size 49x22
-              RenderTableCell {TD} at (2,50) size 45x22 [border: (1px solid #999999)] [r=2 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 41x19
+            RenderTableRow {TR} at (0,48) size 49x21
+              RenderTableCell {TD} at (2,48) size 45x21 [border: (1px solid #999999)] [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 41x17
                   text run at (2,2) width 41: "a table"
-        RenderText {#text} at (72,8) size 22x19
+        RenderText {#text} at (72,8) size 22x17
           text run at (72,8) width 22: "baz"
 caret: position 1 of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.png b/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.png
index 1a5fe5c..2e0e506 100644
--- a/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.txt b/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.txt
index 4207965..19dc680 100644
--- a/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/transformed-selection-rects-expected.txt
@@ -5,18 +5,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x572
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 738x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 738x17
           text run at (0,0) width 738: "Tests that selection rects take transforms into account. The red box should be the bounds of the transformed selection."
-layer at (28,46) size 622x98
-  RenderBlock {DIV} at (20,38) size 622x98 [border: (1px solid #000000)]
-    RenderBlock {P} at (11,35) size 600x28
-      RenderText {#text} at (0,0) size 136x28
+layer at (28,45) size 622x96
+  RenderBlock {DIV} at (20,37) size 622x96 [border: (1px solid #000000)]
+    RenderBlock {P} at (11,35) size 600x26
+      RenderText {#text} at (0,0) size 136x26
         text run at (0,0) width 136: "Lorem ipsum "
-      RenderInline {SPAN} at (0,0) size 389x28
-        RenderText {#text} at (136,0) size 389x28
+      RenderInline {SPAN} at (0,0) size 389x26
+        RenderText {#text} at (136,0) size 389x26
           text run at (136,0) width 389: "dolor sit amet, consectetur adipisicing"
-      RenderText {#text} at (525,0) size 44x28
+      RenderText {#text} at (525,0) size 44x26
         text run at (525,0) width 44: " elit."
 selection start: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.png b/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.png
index bbc7a6d..be67f9f 100644
--- a/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.txt b/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.txt
index e098ebe..6f45ff3 100644
--- a/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/triple-click-in-pre-expected.txt
@@ -9,18 +9,18 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 678x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 678x17
           text run at (0,0) width 379: "This tests modifying a selection created with a double click. "
           text run at (379,0) width 299: "The new selection should use word granularity."
-      RenderBlock {P} at (0,34) size 784x36 [color=#008000]
-        RenderText {#text} at (0,0) size 767x37
+      RenderBlock {P} at (0,33) size 784x34 [color=#008000]
+        RenderText {#text} at (0,0) size 767x34
           text run at (0,0) width 224: "This test does not run interactively. "
           text run at (224,0) width 352: "It uses the testRunners eventSender to do mouse clicks. "
           text run at (576,0) width 191: "To run it manually, triple click"
-          text run at (0,18) width 452: "on the second line in the box below (anywhere after \"whitespace:pre\"). "
-          text run at (452,18) width 273: "The triple click should select the entire line."
-      RenderBlock {DIV} at (0,86) size 784x58
+          text run at (0,17) width 452: "on the second line in the box below (anywhere after \"whitespace:pre\"). "
+          text run at (452,17) width 273: "The triple click should select the entire line."
+      RenderBlock {DIV} at (0,83) size 784x58
         RenderBlock {DIV} at (0,0) size 784x58 [border: (1px solid #0000FF)]
           RenderBlock {PRE} at (1,14) size 782x30
             RenderText {#text} at (0,0) size 120x30
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.png b/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.png
index 6250519..9a0c9b0 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.txt b/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.txt
index 3ee3dd2..3d04e93 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-001-expected.txt
@@ -7,9 +7,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 40x28
-          text run at (106,84) width 40: " baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 40x26
+          text run at (106,85) width 40: " baz"
 caret: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.png b/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.png
index 61ba3ca..6540f60 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.txt b/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.txt
index 5408d44..4dbad7d 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-002-expected.txt
@@ -8,9 +8,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 40x28
-          text run at (106,84) width 40: " baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 40x26
+          text run at (106,85) width 40: " baz"
 caret: position 1 of child 3 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.png b/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.png
index 969b397..2bcc46f 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.txt b/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.txt
index 40e24d9..0d834c9 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-003-expected.txt
@@ -8,10 +8,10 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 40x28
-          text run at (106,84) width 40: " baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 40x26
+          text run at (106,85) width 40: " baz"
 selection start: position 0 of child 3 {#text} of child 1 {DIV} of body
 selection end:   position 1 of child 3 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.png b/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.png
index 6250519..9a0c9b0 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.txt b/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.txt
index eff00f1..f6ad8f4 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-004-expected.txt
@@ -9,9 +9,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 40x28
-          text run at (106,84) width 40: " baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 40x26
+          text run at (106,85) width 40: " baz"
 caret: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.png b/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.png
index 6250519..9a0c9b0 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.txt b/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.txt
index eff00f1..f6ad8f4 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-005-expected.txt
@@ -9,9 +9,9 @@
   RenderBlock {HTML} at (0,0) size 800x585
     RenderBody {BODY} at (8,64) size 784x457
       RenderBlock {DIV} at (64,0) size 748x196 [border: (50px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 32x28
-          RenderText {#text} at (74,84) size 32x28
-            text run at (74,84) width 32: "foo"
-        RenderText {#text} at (106,84) size 40x28
-          text run at (106,84) width 40: " baz"
+        RenderInline {SPAN} at (0,0) size 32x26
+          RenderText {#text} at (74,85) size 32x26
+            text run at (74,85) width 32: "foo"
+        RenderText {#text} at (106,85) size 40x26
+          text run at (106,85) width 40: " baz"
 caret: position 3 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.png b/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.png
index 71436d6..0d97e7a 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.txt b/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.txt
index ca7bbe6..ce2549c 100644
--- a/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/unrendered-space-expected.txt
@@ -6,17 +6,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 762x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 762x51
           text run at (0,0) width 623: "This tests visible position creation in unrendered space after rendered text, just before a new block. "
           text run at (623,0) width 139: "The caret should be at"
-          text run at (0,18) width 737: "the end of the line containing 'foo' because we choose to treat all positions in the unrendered space after 'foo' as being"
-          text run at (0,36) width 753: "visually equivalent to the position just after 'foo', and not visually equivalent to the position on the next line, before 'bar'."
-      RenderBlock {DIV} at (0,70) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 737: "the end of the line containing 'foo' because we choose to treat all positions in the unrendered space after 'foo' as being"
+          text run at (0,34) width 753: "visually equivalent to the position just after 'foo', and not visually equivalent to the position on the next line, before 'bar'."
+      RenderBlock {DIV} at (0,67) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (0,0) size 21x17
             text run at (0,0) width 21: "foo"
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png
new file mode 100644
index 0000000..156ec64
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt
index ab76eff..921974a 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x303
-  RenderBlock {HTML} at (0,0) size 800x303
-    RenderBody {BODY} at (8,16) size 784x274
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x273
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 68x240
-        RenderBlock {P} at (16,0) size 36x240
-          RenderText {#text} at (0,0) size 19x128
+      RenderBlock {DIV} at (0,33) size 66x240
+        RenderBlock {P} at (16,0) size 34x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-          RenderBR {BR} at (0,128) size 19x0
-          RenderText {#text} at (18,0) size 19x128
-            text run at (18,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock {PRE} at (0,287) size 784x0
+          RenderBR {BR} at (0,128) size 17x0
+          RenderText {#text} at (17,0) size 17x128
+            text run at (17,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
+      RenderBlock {PRE} at (0,286) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 5 of child 2 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png
new file mode 100644
index 0000000..41ae6d0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt
index 02b784e..a03b9b3 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x303
-  RenderBlock {HTML} at (0,0) size 800x303
-    RenderBody {BODY} at (8,16) size 784x274
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x273
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 68x240
-        RenderBlock {P} at (16,0) size 36x240
-          RenderText {#text} at (0,0) size 19x128
+      RenderBlock {DIV} at (0,33) size 66x240
+        RenderBlock {P} at (16,0) size 34x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-          RenderBR {BR} at (0,128) size 19x0
-          RenderText {#text} at (18,0) size 19x128
-            text run at (18,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock {PRE} at (0,287) size 784x0
+          RenderBR {BR} at (0,128) size 17x0
+          RenderText {#text} at (17,0) size 17x128
+            text run at (17,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
+      RenderBlock {PRE} at (0,286) size 784x0
 selection start: position 2 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 2 of child 2 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png
new file mode 100644
index 0000000..28fe8ce
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt
index ab76eff..921974a 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x303
-  RenderBlock {HTML} at (0,0) size 800x303
-    RenderBody {BODY} at (8,16) size 784x274
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x273
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 68x240
-        RenderBlock {P} at (16,0) size 36x240
-          RenderText {#text} at (0,0) size 19x128
+      RenderBlock {DIV} at (0,33) size 66x240
+        RenderBlock {P} at (16,0) size 34x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-          RenderBR {BR} at (0,128) size 19x0
-          RenderText {#text} at (18,0) size 19x128
-            text run at (18,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock {PRE} at (0,287) size 784x0
+          RenderBR {BR} at (0,128) size 17x0
+          RenderText {#text} at (17,0) size 17x128
+            text run at (17,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
+      RenderBlock {PRE} at (0,286) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 5 of child 2 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png
new file mode 100644
index 0000000..8833778
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt
index 64e82b3..3c80081 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x303
-  RenderBlock {HTML} at (0,0) size 800x303
-    RenderBody {BODY} at (8,16) size 784x274
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x273
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 84x240
-        RenderBlock {P} at (16,0) size 18x240
-          RenderText {#text} at (0,0) size 19x128
+      RenderBlock {DIV} at (0,33) size 82x240
+        RenderBlock {P} at (16,0) size 17x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-        RenderBlock {P} at (50,0) size 18x240
-          RenderText {#text} at (0,0) size 19x128
+        RenderBlock {P} at (49,0) size 17x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock {PRE} at (0,287) size 784x0
+      RenderBlock {PRE} at (0,286) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 3 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png
new file mode 100644
index 0000000..d5913c2
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt
index 46fed7f..8146b41 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt
@@ -1,17 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x193
-  RenderBlock {HTML} at (0,0) size 800x193
-    RenderBody {BODY} at (8,16) size 784x164
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x192
+  RenderBlock {HTML} at (0,0) size 800x192
+    RenderBody {BODY} at (8,16) size 784x163
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 68x130
-        RenderBlock {P} at (16,0) size 36x130
-          RenderText {#text} at (0,0) size 37x128
+      RenderBlock {DIV} at (0,33) size 66x130
+        RenderBlock {P} at (16,0) size 34x130
+          RenderText {#text} at (0,0) size 34x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-            text run at (18,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock (anonymous) at (0,164) size 784x0
+            text run at (17,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
+      RenderBlock (anonymous) at (0,163) size 784x0
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {PRE} at (0,177) size 784x0
-caret: position 13 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
+      RenderBlock {PRE} at (0,176) size 784x0
+selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
+selection end:   position 13 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png
new file mode 100644
index 0000000..f5ece36
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt
index 02b784e..a03b9b3 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x303
-  RenderBlock {HTML} at (0,0) size 800x303
-    RenderBody {BODY} at (8,16) size 784x274
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x273
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 68x240
-        RenderBlock {P} at (16,0) size 36x240
-          RenderText {#text} at (0,0) size 19x128
+      RenderBlock {DIV} at (0,33) size 66x240
+        RenderBlock {P} at (16,0) size 34x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-          RenderBR {BR} at (0,128) size 19x0
-          RenderText {#text} at (18,0) size 19x128
-            text run at (18,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock {PRE} at (0,287) size 784x0
+          RenderBR {BR} at (0,128) size 17x0
+          RenderText {#text} at (17,0) size 17x128
+            text run at (17,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
+      RenderBlock {PRE} at (0,286) size 784x0
 selection start: position 2 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 2 of child 2 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png
new file mode 100644
index 0000000..207c534
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt
index 566576c..9e97892 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x303
-  RenderBlock {HTML} at (0,0) size 800x303
-    RenderBody {BODY} at (8,16) size 784x274
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x273
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 84x240
-        RenderBlock {P} at (16,0) size 18x240
-          RenderText {#text} at (0,0) size 19x128
+      RenderBlock {DIV} at (0,33) size 82x240
+        RenderBlock {P} at (16,0) size 17x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-        RenderBlock {P} at (50,0) size 18x240
-          RenderText {#text} at (0,0) size 19x128
+        RenderBlock {P} at (49,0) size 17x240
+          RenderText {#text} at (0,0) size 17x128
             text run at (0,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock {PRE} at (0,287) size 784x0
+      RenderBlock {PRE} at (0,286) size 784x0
 selection start: position 2 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 3 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png
new file mode 100644
index 0000000..544d252
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt
index 3ed05f6..9bdda4a 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x193
-  RenderBlock {HTML} at (0,0) size 800x193
-    RenderBody {BODY} at (8,16) size 784x164
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 690x19
+layer at (0,0) size 800x192
+  RenderBlock {HTML} at (0,0) size 800x192
+    RenderBody {BODY} at (8,16) size 784x163
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 690x17
           text run at (0,0) width 690: "This tests horizontal caret movement in vertical writing mode. \"\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}\" and \"\x{540D}\x{524D}\" must be selected."
-      RenderBlock {DIV} at (0,34) size 68x130
-        RenderBlock {P} at (16,0) size 36x130
-          RenderText {#text} at (0,0) size 37x128
+      RenderBlock {DIV} at (0,33) size 66x130
+        RenderBlock {P} at (16,0) size 34x130
+          RenderText {#text} at (0,0) size 34x128
             text run at (0,0) width 128: "\x{543E}\x{8F29}\x{306F}\x{732B}\x{3067}\x{3042}\x{308B}\x{3002}"
-            text run at (18,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
-      RenderBlock (anonymous) at (0,164) size 784x0
+            text run at (17,0) width 128: "\x{540D}\x{524D}\x{306F}\x{307E}\x{3060}\x{7121}\x{3044}\x{3002}"
+      RenderBlock (anonymous) at (0,163) size 784x0
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {PRE} at (0,177) size 784x0
+      RenderBlock {PRE} at (0,176) size 784x0
 selection start: position 2 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 10 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png
new file mode 100644
index 0000000..f7552da
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt
index cd738ba..c834363 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x228
-  RenderBlock {HTML} at (0,0) size 800x228
-    RenderBody {BODY} at (8,16) size 784x199
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 388x19
+layer at (0,0) size 800x227
+  RenderBlock {HTML} at (0,0) size 800x227
+    RenderBody {BODY} at (8,16) size 784x198
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 388x17
           text run at (0,0) width 388: "This tests horizontal caret movement in vertical writing mode."
-      RenderBlock {DIV} at (0,34) size 86x165
+      RenderBlock {DIV} at (0,33) size 86x165
         RenderBlock {P} at (20,0) size 46x165
           RenderText {#text} at (0,71) size 23x94
             text run at (0,71) width 94 RTL: "\x{5D0}\x{5E0}\x{5D9} \x{5D7}\x{5EA}\x{5D5}\x{5DC}."
           RenderBR {BR} at (0,71) size 23x0
           RenderText {#text} at (23,60) size 23x105
             text run at (23,60) width 105 RTL: "\x{5D0}\x{5D9}\x{5DF} \x{5DC}\x{5D9} \x{5E9}\x{5DD}."
-      RenderBlock {PRE} at (0,212) size 784x0
+      RenderBlock {PRE} at (0,211) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 5 of child 2 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png
new file mode 100644
index 0000000..f4eb796
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt
index f799a44..0eb893c 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x228
-  RenderBlock {HTML} at (0,0) size 800x228
-    RenderBody {BODY} at (8,16) size 784x199
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 388x19
+layer at (0,0) size 800x227
+  RenderBlock {HTML} at (0,0) size 800x227
+    RenderBody {BODY} at (8,16) size 784x198
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 388x17
           text run at (0,0) width 388: "This tests horizontal caret movement in vertical writing mode."
-      RenderBlock {DIV} at (0,34) size 106x165
+      RenderBlock {DIV} at (0,33) size 106x165
         RenderBlock {P} at (20,0) size 23x165
           RenderText {#text} at (0,71) size 23x94
             text run at (0,71) width 94 RTL: "\x{5D0}\x{5E0}\x{5D9} \x{5D7}\x{5EA}\x{5D5}\x{5DC}."
         RenderBlock {P} at (63,0) size 23x165
           RenderText {#text} at (0,60) size 23x105
             text run at (0,60) width 105 RTL: "\x{5D0}\x{5D9}\x{5DF} \x{5DC}\x{5D9} \x{5E9}\x{5DD}."
-      RenderBlock {PRE} at (0,212) size 784x0
+      RenderBlock {PRE} at (0,211) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 5 of child 0 {#text} of child 2 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png
new file mode 100644
index 0000000..507503c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt
index 35d99b8..943e2ea 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x228
-  RenderBlock {HTML} at (0,0) size 800x228
-    RenderBody {BODY} at (8,16) size 784x199
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 388x19
+layer at (0,0) size 800x227
+  RenderBlock {HTML} at (0,0) size 800x227
+    RenderBody {BODY} at (8,16) size 784x198
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 388x17
           text run at (0,0) width 388: "This tests horizontal caret movement in vertical writing mode."
-      RenderBlock {DIV} at (0,34) size 86x165
+      RenderBlock {DIV} at (0,33) size 86x165
         RenderBlock {P} at (20,0) size 46x165
           RenderText {#text} at (0,71) size 23x94
             text run at (0,71) width 94 RTL: "\x{5D0}\x{5E0}\x{5D9} \x{5D7}\x{5EA}\x{5D5}\x{5DC}."
           RenderBR {BR} at (0,71) size 23x0
           RenderText {#text} at (23,60) size 23x105
             text run at (23,60) width 105 RTL: "\x{5D0}\x{5D9}\x{5DF} \x{5DC}\x{5D9} \x{5E9}\x{5DD}."
-      RenderBlock {PRE} at (0,212) size 784x0
+      RenderBlock {PRE} at (0,211) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 6 of child 2 {#text} of child 1 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png
new file mode 100644
index 0000000..a1b39ca
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt
index a767832..bf0ec08 100644
--- a/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt
@@ -1,18 +1,18 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x228
-  RenderBlock {HTML} at (0,0) size 800x228
-    RenderBody {BODY} at (8,16) size 784x199
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 388x19
+layer at (0,0) size 800x227
+  RenderBlock {HTML} at (0,0) size 800x227
+    RenderBody {BODY} at (8,16) size 784x198
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 388x17
           text run at (0,0) width 388: "This tests horizontal caret movement in vertical writing mode."
-      RenderBlock {DIV} at (0,34) size 106x165
+      RenderBlock {DIV} at (0,33) size 106x165
         RenderBlock {P} at (20,0) size 23x165
           RenderText {#text} at (0,71) size 23x94
             text run at (0,71) width 94 RTL: "\x{5D0}\x{5E0}\x{5D9} \x{5D7}\x{5EA}\x{5D5}\x{5DC}."
         RenderBlock {P} at (63,0) size 23x165
           RenderText {#text} at (0,60) size 23x105
             text run at (0,60) width 105 RTL: "\x{5D0}\x{5D9}\x{5DF} \x{5DC}\x{5D9} \x{5E9}\x{5DD}."
-      RenderBlock {PRE} at (0,212) size 784x0
+      RenderBlock {PRE} at (0,211) size 784x0
 selection start: position 5 of child 0 {#text} of child 1 {P} of child 3 {DIV} of body
 selection end:   position 6 of child 0 {#text} of child 2 {P} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.png b/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.png
index 3f77000..f36925d 100644
--- a/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.png
+++ b/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.txt b/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.txt
index 42bcc5a..7ade6d0 100644
--- a/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/word-granularity-expected.txt
@@ -9,45 +9,45 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 678x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 678x17
           text run at (0,0) width 379: "This tests modifying a selection created with a double click. "
           text run at (379,0) width 299: "The new selection should use word granularity."
-      RenderBlock {P} at (0,34) size 784x54 [color=#008000]
-        RenderText {#text} at (0,0) size 778x55
+      RenderBlock {P} at (0,33) size 784x51 [color=#008000]
+        RenderText {#text} at (0,0) size 778x51
           text run at (0,0) width 224: "This test does not run interactively. "
           text run at (224,0) width 352: "It uses the testRunners eventSender to do mouse clicks. "
           text run at (576,0) width 202: "To run it manually, double click"
-          text run at (0,18) width 284: "on the blue 'g', then drag down to the red 'g'. "
-          text run at (284,18) width 490: "As you drag, watch the selection that is created, it should always start and end"
-          text run at (0,36) width 130: "on word boundaries."
-      RenderBlock {DIV} at (0,104) size 784x108
-        RenderText {#text} at (0,0) size 84x19
+          text run at (0,17) width 284: "on the blue 'g', then drag down to the red 'g'. "
+          text run at (284,17) width 490: "As you drag, watch the selection that is created, it should always start and end"
+          text run at (0,34) width 130: "on word boundaries."
+      RenderBlock {DIV} at (0,100) size 784x102
+        RenderText {#text} at (0,0) size 84x17
           text run at (0,0) width 84: "This is a para"
-        RenderInline {SPAN} at (0,0) size 8x19 [color=#0000FF]
-          RenderText {#text} at (84,0) size 8x19
+        RenderInline {SPAN} at (0,0) size 8x17 [color=#0000FF]
+          RenderText {#text} at (84,0) size 8x17
             text run at (84,0) width 8: "g"
-        RenderText {#text} at (92,0) size 32x19
+        RenderText {#text} at (92,0) size 32x17
           text run at (92,0) width 32: "raph."
-        RenderBR {BR} at (124,15) size 0x0
-        RenderText {#text} at (0,18) size 63x19
-          text run at (0,18) width 63: "Some text"
-        RenderBR {BR} at (63,33) size 0x0
-        RenderText {#text} at (0,36) size 63x19
-          text run at (0,36) width 63: "Some text"
-        RenderBR {BR} at (63,51) size 0x0
-        RenderText {#text} at (0,54) size 63x19
-          text run at (0,54) width 63: "Some text"
-        RenderBR {BR} at (63,69) size 0x0
-        RenderText {#text} at (0,72) size 63x19
-          text run at (0,72) width 63: "Some text"
-        RenderBR {BR} at (63,87) size 0x0
-        RenderText {#text} at (0,90) size 84x19
-          text run at (0,90) width 84: "This is a para"
-        RenderInline {SPAN} at (0,0) size 8x19 [color=#FF0000]
-          RenderText {#text} at (84,90) size 8x19
-            text run at (84,90) width 8: "g"
-        RenderText {#text} at (92,90) size 32x19
-          text run at (92,90) width 32: "raph."
+        RenderBR {BR} at (124,14) size 0x0
+        RenderText {#text} at (0,17) size 63x17
+          text run at (0,17) width 63: "Some text"
+        RenderBR {BR} at (63,31) size 0x0
+        RenderText {#text} at (0,34) size 63x17
+          text run at (0,34) width 63: "Some text"
+        RenderBR {BR} at (63,48) size 0x0
+        RenderText {#text} at (0,51) size 63x17
+          text run at (0,51) width 63: "Some text"
+        RenderBR {BR} at (63,65) size 0x0
+        RenderText {#text} at (0,68) size 63x17
+          text run at (0,68) width 63: "Some text"
+        RenderBR {BR} at (63,82) size 0x0
+        RenderText {#text} at (0,85) size 84x17
+          text run at (0,85) width 84: "This is a para"
+        RenderInline {SPAN} at (0,0) size 8x17 [color=#FF0000]
+          RenderText {#text} at (84,85) size 8x17
+            text run at (84,85) width 8: "g"
+        RenderText {#text} at (92,85) size 32x17
+          text run at (92,85) width 32: "raph."
 selection start: position 11 of child 0 {#text} of child 5 {DIV} of body
 selection end:   position 4 of child 14 {#text} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.png b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.png
new file mode 100644
index 0000000..db4d7c7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.txt
index 2385ff8..068b0a8 100644
--- a/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-1-expected.txt
@@ -3,15 +3,15 @@
 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 784x18
-        RenderInline {SPAN} at (0,0) size 368x19
-          RenderText {#text} at (0,0) size 368x19
+      RenderBlock (anonymous) at (0,0) size 784x17
+        RenderInline {SPAN} at (0,0) size 368x17
+          RenderText {#text} at (0,0) size 368x17
             text run at (0,0) width 368: "This test passes if the caret is at the start of the second line."
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,18) size 352x102 [border: (1px solid #0000FF)]
-        RenderText {#text} at (1,1) size 11x19
+      RenderBlock {DIV} at (0,17) size 352x102 [border: (1px solid #0000FF)]
+        RenderText {#text} at (1,1) size 11x17
           text run at (1,1) width 7: "a"
           text run at (8,1) width 4: " "
-        RenderText {#text} at (1,19) size 344x19
-          text run at (1,19) width 344: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        RenderText {#text} at (1,18) size 344x17
+          text run at (1,18) width 344: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 caret: position 2 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.png b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.png
new file mode 100644
index 0000000..a6288f5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.txt b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.txt
index 2de4cf2..4de8b41 100644
--- a/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/wrapped-line-caret-2-expected.txt
@@ -3,16 +3,16 @@
 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 784x18
-        RenderInline {SPAN} at (0,0) size 368x19
-          RenderText {#text} at (0,0) size 368x19
+      RenderBlock (anonymous) at (0,0) size 784x17
+        RenderInline {SPAN} at (0,0) size 368x17
+          RenderText {#text} at (0,0) size 368x17
             text run at (0,0) width 368: "This test passes if the caret is at the start of the second line."
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,18) size 352x102 [border: (1px solid #0000FF)]
-        RenderText {#text} at (1,1) size 11x19
+      RenderBlock {DIV} at (0,17) size 352x102 [border: (1px solid #0000FF)]
+        RenderText {#text} at (1,1) size 11x17
           text run at (1,1) width 7: "a"
           text run at (8,1) width 4: " "
-        RenderInline {SPAN} at (0,0) size 344x19 [color=#0000FF]
-          RenderText {#text} at (1,19) size 344x19
-            text run at (1,19) width 344: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        RenderInline {SPAN} at (0,0) size 344x17 [color=#0000FF]
+          RenderText {#text} at (1,18) size 344x17
+            text run at (1,18) width 344: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
 caret: position 2 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/spelling/grammar-markers-expected.png b/LayoutTests/platform/gtk/editing/spelling/grammar-markers-expected.png
new file mode 100644
index 0000000..c9f0324
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/spelling/grammar-markers-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/spelling/grammar-markers-hidpi-expected.png b/LayoutTests/platform/gtk/editing/spelling/grammar-markers-hidpi-expected.png
new file mode 100644
index 0000000..c9f0324
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/spelling/grammar-markers-hidpi-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/spelling/inline-spelling-markers-hidpi-expected.png b/LayoutTests/platform/gtk/editing/spelling/inline-spelling-markers-hidpi-expected.png
new file mode 100644
index 0000000..c183b7a
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/spelling/inline-spelling-markers-hidpi-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.png b/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.png
index 51caa7c..c183b7a 100644
--- a/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.png
+++ b/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.txt b/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.txt
index 2306c70e1..081ae19 100644
--- a/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.txt
+++ b/LayoutTests/platform/gtk/editing/spelling/inline_spelling_markers-expected.txt
@@ -3,37 +3,37 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 494x19
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 494x17
           text run at (0,0) width 494: "This tests the correct placement of inline spelling and grammar markers in text."
-        RenderBR {BR} at (494,15) size 0x0
-        RenderText {#text} at (0,18) size 477x19
-          text run at (0,18) width 477: "Spelling markers should line up exactly under misspelled words in all cases."
-      RenderBlock (anonymous) at (0,52) size 784x18
-        RenderText {#text} at (0,0) size 31x19
+        RenderBR {BR} at (494,14) size 0x0
+        RenderText {#text} at (0,17) size 477x17
+          text run at (0,17) width 477: "Spelling markers should line up exactly under misspelled words in all cases."
+      RenderBlock (anonymous) at (0,50) size 784x17
+        RenderText {#text} at (0,0) size 31x17
           text run at (0,0) width 31: "LTR"
-      RenderBlock (anonymous) at (0,92) size 784x18
-        RenderText {#text} at (0,0) size 31x19
+      RenderBlock (anonymous) at (0,89) size 784x17
+        RenderText {#text} at (0,0) size 31x17
           text run at (0,0) width 31: "RTL"
-      RenderBlock (anonymous) at (0,132) size 784x18
-        RenderText {#text} at (0,0) size 184x19
+      RenderBlock (anonymous) at (0,128) size 784x17
+        RenderText {#text} at (0,0) size 184x17
           text run at (0,0) width 184: "LTR (text-overflow:ellipses):"
-      RenderBlock (anonymous) at (0,172) size 784x18
-        RenderText {#text} at (0,0) size 184x19
+      RenderBlock (anonymous) at (0,167) size 784x17
+        RenderText {#text} at (0,0) size 184x17
           text run at (0,0) width 184: "RTL (text-overflow:ellipses):"
-layer at (8,78) size 202x22 clip at (9,79) size 200x20 scrollWidth 221
-  RenderBlock {DIV} at (0,70) size 202x22 [border: (1px solid #000000)]
-    RenderText {#text} at (1,1) size 220x19
+layer at (8,75) size 202x22 clip at (9,76) size 200x20 scrollWidth 221
+  RenderBlock {DIV} at (0,67) size 202x22 [border: (1px solid #000000)]
+    RenderText {#text} at (1,1) size 220x17
       text run at (1,1) width 220: "the the adlj adaasj sdklj. there there"
-layer at (8,118) size 202x22 clip at (9,119) size 200x20 scrollX 20 scrollWidth 220
-  RenderBlock {DIV} at (0,110) size 202x22 [border: (1px solid #000000)]
-    RenderText {#text} at (-19,1) size 220x19
+layer at (8,114) size 202x22 clip at (9,115) size 200x20 scrollX 20 scrollWidth 220
+  RenderBlock {DIV} at (0,106) size 202x22 [border: (1px solid #000000)]
+    RenderText {#text} at (-19,1) size 220x17
       text run at (-19,1) width 220 RTL override: "the the adlj adaasj sdklj. there there"
-layer at (8,158) size 202x22 clip at (9,159) size 200x20 scrollWidth 221
-  RenderBlock {DIV} at (0,150) size 202x22 [border: (1px solid #000000)]
-    RenderText {#text} at (1,1) size 220x19
+layer at (8,153) size 202x22 clip at (9,154) size 200x20 scrollWidth 221
+  RenderBlock {DIV} at (0,145) size 202x22 [border: (1px solid #000000)]
+    RenderText {#text} at (1,1) size 220x17
       text run at (1,1) width 220: "the the adlj adaasj sdklj. there there"
-layer at (8,198) size 202x22 clip at (9,199) size 200x20 scrollX 20 scrollWidth 220
-  RenderBlock {DIV} at (0,190) size 202x22 [border: (1px solid #000000)]
-    RenderText {#text} at (-19,1) size 220x19
+layer at (8,192) size 202x22 clip at (9,193) size 200x20 scrollX 20 scrollWidth 220
+  RenderBlock {DIV} at (0,184) size 202x22 [border: (1px solid #000000)]
+    RenderText {#text} at (-19,1) size 220x17
       text run at (-19,1) width 220 RTL override: "the the adlj adaasj sdklj. there there"
diff --git a/LayoutTests/platform/gtk/editing/spelling/spelling-expected.png b/LayoutTests/platform/gtk/editing/spelling/spelling-expected.png
new file mode 100644
index 0000000..bc292d5
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/spelling/spelling-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/spelling/spelling-expected.txt b/LayoutTests/platform/gtk/editing/spelling/spelling-expected.txt
index 0645f8c..4dcab1f 100644
--- a/LayoutTests/platform/gtk/editing/spelling/spelling-expected.txt
+++ b/LayoutTests/platform/gtk/editing/spelling/spelling-expected.txt
@@ -22,17 +22,17 @@
 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 784x18
-        RenderText {#text} at (0,0) size 768x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 768x17
           text run at (0,0) width 768: "You should see 'a' on the first line below, and 'zz a' on the second line. 'zz' (and only 'zz') should be marked as misspelled."
-      RenderBlock {DIV} at (0,18) size 784x84 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderInline {SPAN} at (0,0) size 11x28
-            RenderText {#text} at (0,0) size 11x28
+      RenderBlock {DIV} at (0,17) size 784x80 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x26
+          RenderInline {SPAN} at (0,0) size 11x26
+            RenderText {#text} at (0,0) size 11x26
               text run at (0,0) width 11: "a"
-        RenderBlock {DIV} at (14,42) size 756x28
-          RenderInline {SPAN} at (0,0) size 39x28
-            RenderText {#text} at (0,0) size 39x28
+        RenderBlock {DIV} at (14,40) size 756x26
+          RenderInline {SPAN} at (0,0) size 39x26
+            RenderText {#text} at (0,0) size 39x26
               text run at (0,0) width 39: "zz a"
           RenderText {#text} at (0,0) size 0x0
 caret: position 3 of child 0 {#text} of child 0 {SPAN} of child 2 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/4916887-expected.png b/LayoutTests/platform/gtk/editing/style/4916887-expected.png
new file mode 100644
index 0000000..84f6c31
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/4916887-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/4916887-expected.txt b/LayoutTests/platform/gtk/editing/style/4916887-expected.txt
index ca97c7f..b0811a9 100644
--- a/LayoutTests/platform/gtk/editing/style/4916887-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/4916887-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 458x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 458x17
           text run at (0,0) width 458: "This tests for a bug where the color of indented text couldn't be changed."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderBlock {BLOCKQUOTE} at (40,0) size 744x18
-          RenderInline {FONT} at (0,0) size 155x19 [color=#0000FF]
-            RenderText {#text} at (0,0) size 155x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderBlock {BLOCKQUOTE} at (40,0) size 744x17
+          RenderInline {FONT} at (0,0) size 155x17 [color=#0000FF]
+            RenderText {#text} at (0,0) size 155x17
               text run at (0,0) width 155: "This text should be blue."
-        RenderBlock (anonymous) at (0,18) size 784x0
+        RenderBlock (anonymous) at (0,17) size 784x0
 selection start: position 0 of child 0 {#text} of child 0 {FONT} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
 selection end:   position 25 of child 0 {#text} of child 0 {FONT} of child 0 {BLOCKQUOTE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5017613-1-expected.png b/LayoutTests/platform/gtk/editing/style/5017613-1-expected.png
new file mode 100644
index 0000000..824f0ef
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/5017613-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5017613-1-expected.txt b/LayoutTests/platform/gtk/editing/style/5017613-1-expected.txt
index 83a423f..aeddffe 100644
--- a/LayoutTests/platform/gtk/editing/style/5017613-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5017613-1-expected.txt
@@ -3,24 +3,24 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x54
-        RenderText {#text} at (0,0) size 772x55
+      RenderBlock {P} at (0,0) size 784x51
+        RenderText {#text} at (0,0) size 772x51
           text run at (0,0) width 767: "This tests to see that plaintext-only regions can be styled as long as they are fully selected. The editable, plaintext-only cell"
-          text run at (0,18) width 772: "should contain bold text, which should be implemented with the bold CSS property in the cell's inline style declaration, not"
-          text run at (0,36) width 217: "with wrapper spans inside the cell."
-      RenderBlock {DIV} at (0,70) size 784x46
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderInline {B} at (0,0) size 21x19
-            RenderText {#text} at (0,0) size 21x19
+          text run at (0,17) width 772: "should contain bold text, which should be implemented with the bold CSS property in the cell's inline style declaration, not"
+          text run at (0,34) width 217: "with wrapper spans inside the cell."
+      RenderBlock {DIV} at (0,67) size 784x44
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderInline {B} at (0,0) size 21x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-        RenderTable {TABLE} at (0,18) size 187x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 185x26
-            RenderTableRow {TR} at (0,2) size 185x22
-              RenderTableCell {TD} at (2,2) size 82x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 78x19
+        RenderTable {TABLE} at (0,17) size 187x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 185x25
+            RenderTableRow {TR} at (0,2) size 185x21
+              RenderTableCell {TD} at (2,2) size 82x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 78x17
                   text run at (2,2) width 78: "non-editable"
-              RenderTableCell {TD} at (86,2) size 97x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 93x19
+              RenderTableCell {TD} at (86,2) size 97x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 93x17
                   text run at (2,2) width 93: "plaintext-only"
 selection start: position 0 of child 0 {#text} of child 0 {B} of child 0 {DIV} of child 2 {DIV} of body
 selection end:   position 1 of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5017613-2-expected.png b/LayoutTests/platform/gtk/editing/style/5017613-2-expected.png
new file mode 100644
index 0000000..81d4587
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/5017613-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5017613-2-expected.txt b/LayoutTests/platform/gtk/editing/style/5017613-2-expected.txt
index d4791b8..d75c583 100644
--- a/LayoutTests/platform/gtk/editing/style/5017613-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5017613-2-expected.txt
@@ -3,31 +3,31 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 603x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 603x17
           text run at (0,0) width 567: "This tests to make sure that plaintext-only regions aren't styled if they aren't fully selected. "
           text run at (567,0) width 36: "Only "
-        RenderInline {B} at (0,0) size 21x19
-          RenderText {#text} at (603,0) size 21x19
+        RenderInline {B} at (0,0) size 21x17
+          RenderText {#text} at (603,0) size 21x17
             text run at (603,0) width 21: "foo"
-        RenderText {#text} at (624,0) size 144x19
+        RenderText {#text} at (624,0) size 144x17
           text run at (624,0) width 144: " should be bold below."
-      RenderBlock {DIV} at (0,34) size 784x46
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderInline {B} at (0,0) size 21x19
-            RenderText {#text} at (0,0) size 21x19
+      RenderBlock {DIV} at (0,33) size 784x44
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderInline {B} at (0,0) size 21x17
+            RenderText {#text} at (0,0) size 21x17
               text run at (0,0) width 21: "foo"
-        RenderTable {TABLE} at (0,18) size 181x28 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 179x26
-            RenderTableRow {TR} at (0,2) size 179x22
-              RenderTableCell {TD} at (2,2) size 82x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 78x19
+        RenderTable {TABLE} at (0,17) size 181x27 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 179x25
+            RenderTableRow {TR} at (0,2) size 179x21
+              RenderTableCell {TD} at (2,2) size 82x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 78x17
                   text run at (2,2) width 78: "non-editable"
-              RenderTableCell {TD} at (86,2) size 91x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderInline {SPAN} at (0,0) size 54x19
-                  RenderText {#text} at (2,2) size 54x19
+              RenderTableCell {TD} at (86,2) size 91x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderInline {SPAN} at (0,0) size 54x17
+                  RenderText {#text} at (2,2) size 54x17
                     text run at (2,2) width 54: "plaintext"
-                RenderText {#text} at (56,2) size 33x19
+                RenderText {#text} at (56,2) size 33x17
                   text run at (56,2) width 33: "-only"
 selection start: position 0 of child 0 {#text} of child 0 {B} of child 0 {DIV} of child 2 {DIV} of body
 selection end:   position 9 of child 0 {#text} of child 0 {SPAN} of child 1 {TD} of child 0 {TR} of child 0 {TBODY} of child 1 {TABLE} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5046875-1-expected.png b/LayoutTests/platform/gtk/editing/style/5046875-1-expected.png
index 3f625d8..a23c18c5 100644
--- a/LayoutTests/platform/gtk/editing/style/5046875-1-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/5046875-1-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5046875-1-expected.txt b/LayoutTests/platform/gtk/editing/style/5046875-1-expected.txt
index 0a80f18..5131f6c 100644
--- a/LayoutTests/platform/gtk/editing/style/5046875-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5046875-1-expected.txt
@@ -3,21 +3,21 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 781x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 781x17
           text run at (0,0) width 476: "This tests for a bug where centering two paragraphs would center the third. "
           text run at (476,0) width 305: "Only the selected paragraphs should be selected."
-      RenderBlock {DIV} at (0,34) size 784x54
-        RenderBlock {DIV} at (0,0) size 784x18
-          RenderText {#text} at (381,0) size 22x19
+      RenderBlock {DIV} at (0,33) size 784x51
+        RenderBlock {DIV} at (0,0) size 784x17
+          RenderText {#text} at (381,0) size 22x17
             text run at (381,0) width 22: "foo"
-        RenderBlock (anonymous) at (0,18) size 784x0
-        RenderBlock {DIV} at (0,18) size 784x36
-          RenderBlock {DIV} at (0,0) size 784x18
-            RenderText {#text} at (382,0) size 20x19
+        RenderBlock (anonymous) at (0,17) size 784x0
+        RenderBlock {DIV} at (0,17) size 784x34
+          RenderBlock {DIV} at (0,0) size 784x17
+            RenderText {#text} at (382,0) size 20x17
               text run at (382,0) width 20: "bar"
-          RenderBlock (anonymous) at (0,18) size 784x18
-            RenderText {#text} at (0,0) size 22x19
+          RenderBlock (anonymous) at (0,17) size 784x17
+            RenderText {#text} at (0,0) size 22x17
               text run at (0,0) width 22: "baz"
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 2 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5046875-2-expected.png b/LayoutTests/platform/gtk/editing/style/5046875-2-expected.png
index 40c2e5c..7dd5ed3 100644
--- a/LayoutTests/platform/gtk/editing/style/5046875-2-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/5046875-2-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5046875-2-expected.txt b/LayoutTests/platform/gtk/editing/style/5046875-2-expected.txt
index b00b21d..0b11efa 100644
--- a/LayoutTests/platform/gtk/editing/style/5046875-2-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5046875-2-expected.txt
@@ -3,22 +3,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 762x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 762x34
           text run at (0,0) width 730: "This tests for a bug where left justifying a paragraph amongst several that are centered would left justify all of them. "
           text run at (730,0) width 32: "Only"
-          text run at (0,18) width 281: "the second paragraph should be left justified."
-      RenderBlock {DIV} at (0,52) size 784x54
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderText {#text} at (381,0) size 22x19
+          text run at (0,17) width 281: "the second paragraph should be left justified."
+      RenderBlock {DIV} at (0,50) size 784x51
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderText {#text} at (381,0) size 22x17
             text run at (381,0) width 22: "foo"
-          RenderBR {BR} at (402,15) size 1x0
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderText {#text} at (0,0) size 20x19
+          RenderBR {BR} at (402,14) size 1x0
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderText {#text} at (0,0) size 20x17
             text run at (0,0) width 20: "bar"
-        RenderBlock (anonymous) at (0,36) size 784x0
-        RenderBlock {DIV} at (0,36) size 784x18
-          RenderText {#text} at (381,0) size 22x19
+        RenderBlock (anonymous) at (0,34) size 784x0
+        RenderBlock {DIV} at (0,34) size 784x17
+          RenderText {#text} at (381,0) size 22x17
             text run at (381,0) width 22: "baz"
 selection start: position 0 of child 0 {#text} of child 2 {DIV} of child 2 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 2 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5065910-expected.png b/LayoutTests/platform/gtk/editing/style/5065910-expected.png
index 45f5fe0..75a25a5 100644
--- a/LayoutTests/platform/gtk/editing/style/5065910-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/5065910-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5065910-expected.txt b/LayoutTests/platform/gtk/editing/style/5065910-expected.txt
index b7ed21e1..0f63ad7 100644
--- a/LayoutTests/platform/gtk/editing/style/5065910-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5065910-expected.txt
@@ -3,22 +3,22 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 447x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 447x17
           text run at (0,0) width 447: "This tests for a bug where the color of pasted text couldn't be changed.'"
-      RenderBlock {DIV} at (0,34) size 784x36
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderInline {FONT} at (0,0) size 148x19 [color=#FF0000]
-            RenderText {#text} at (0,0) size 148x19
+      RenderBlock {DIV} at (0,33) size 784x34
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderInline {FONT} at (0,0) size 148x17 [color=#FF0000]
+            RenderText {#text} at (0,0) size 148x17
               text run at (0,0) width 148: "This text should be red."
-        RenderBlock {DIV} at (0,18) size 784x18
-          RenderInline {FONT} at (0,0) size 124x19 [color=#0000FF]
-            RenderText {#text} at (0,0) size 124x19
+        RenderBlock {DIV} at (0,17) size 784x17
+          RenderInline {FONT} at (0,0) size 124x17 [color=#0000FF]
+            RenderText {#text} at (0,0) size 124x17
               text run at (0,0) width 124: "This text should be "
-          RenderInline {FONT} at (0,0) size 235x19 [color=#008000]
-            RenderText {#text} at (124,0) size 235x19
+          RenderInline {FONT} at (0,0) size 235x17 [color=#008000]
+            RenderText {#text} at (124,0) size 235x17
               text run at (124,0) width 235: "a combination of green and blue, not "
-          RenderInline {FONT} at (0,0) size 24x19 [color=#0000FF]
-            RenderText {#text} at (359,0) size 24x19
+          RenderInline {FONT} at (0,0) size 24x17 [color=#0000FF]
+            RenderText {#text} at (359,0) size 24x17
               text run at (359,0) width 24: "red."
 caret: position 37 of child 0 {#text} of child 1 {FONT} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5084241-expected.png b/LayoutTests/platform/gtk/editing/style/5084241-expected.png
new file mode 100644
index 0000000..6776fea
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/5084241-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5084241-expected.txt b/LayoutTests/platform/gtk/editing/style/5084241-expected.txt
index 2bfc3ae..4288a0c 100644
--- a/LayoutTests/platform/gtk/editing/style/5084241-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5084241-expected.txt
@@ -3,15 +3,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x36
-        RenderText {#text} at (0,0) size 771x37
+      RenderBlock {P} at (0,0) size 784x34
+        RenderText {#text} at (0,0) size 771x34
           text run at (0,0) width 771: "This tests for a bug where deleting everything in a paragraph of colored text would prevent the user from changing the text"
-          text run at (0,18) width 36: "color."
-      RenderBlock {DIV} at (0,52) size 784x18
-        RenderInline {FONT} at (0,0) size 148x19 [color=#FF0000]
-          RenderText {#text} at (0,0) size 148x19
+          text run at (0,17) width 36: "color."
+      RenderBlock {DIV} at (0,50) size 784x17
+        RenderInline {FONT} at (0,0) size 148x17 [color=#FF0000]
+          RenderText {#text} at (0,0) size 148x17
             text run at (0,0) width 148: "This text should be red."
-        RenderInline {FONT} at (0,0) size 155x19 [color=#0000FF]
-          RenderText {#text} at (148,0) size 155x19
+        RenderInline {FONT} at (0,0) size 155x17 [color=#0000FF]
+          RenderText {#text} at (148,0) size 155x17
             text run at (148,0) width 155: "This text should be blue."
 caret: position 25 of child 0 {#text} of child 1 {FONT} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5228141-expected.png b/LayoutTests/platform/gtk/editing/style/5228141-expected.png
new file mode 100644
index 0000000..6cfe3c7
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/5228141-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5228141-expected.txt b/LayoutTests/platform/gtk/editing/style/5228141-expected.txt
index b0d73cf..833ad09 100644
--- a/LayoutTests/platform/gtk/editing/style/5228141-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5228141-expected.txt
@@ -3,17 +3,17 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 611x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 611x17
           text run at (0,0) width 611: "This tests for a bug where style would not be applied to a selection that ended just after an image."
-      RenderBlock {DIV} at (0,34) size 784x124
-        RenderBlock (anonymous) at (0,0) size 784x18
-          RenderInline {B} at (0,0) size 0x19
-            RenderBR {BR} at (0,0) size 0x19
-        RenderBlock {DIV} at (0,18) size 784x106
-          RenderInline {B} at (0,0) size 242x19
-            RenderText {#text} at (0,88) size 166x19
-              text run at (0,88) width 166: "This text should be bold."
+      RenderBlock {DIV} at (0,33) size 784x123
+        RenderBlock (anonymous) at (0,0) size 784x17
+          RenderInline {B} at (0,0) size 0x17
+            RenderBR {BR} at (0,0) size 0x17
+        RenderBlock {DIV} at (0,17) size 784x106
+          RenderInline {B} at (0,0) size 242x17
+            RenderText {#text} at (0,89) size 166x17
+              text run at (0,89) width 166: "This text should be bold."
             RenderImage {IMG} at (166,0) size 76x103
 selection start: position 0 of child 0 {BR} of child 0 {B} of child 2 {DIV} of body
 selection end:   position 1 of child 1 {IMG} of child 0 {B} of child 1 {DIV} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/5279521-expected.png b/LayoutTests/platform/gtk/editing/style/5279521-expected.png
new file mode 100644
index 0000000..18c3d1c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/5279521-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/5279521-expected.txt b/LayoutTests/platform/gtk/editing/style/5279521-expected.txt
index 09051fe..6a26507 100644
--- a/LayoutTests/platform/gtk/editing/style/5279521-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/5279521-expected.txt
@@ -3,12 +3,12 @@
 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 784x121
+      RenderBlock {DIV} at (0,0) size 784x120
         RenderBlock {DIV} at (0,0) size 784x103
           RenderImage {IMG} at (708,0) size 76x103
         RenderBlock (anonymous) at (0,103) size 784x0
-        RenderBlock {DIV} at (0,103) size 784x18
-          RenderText {#text} at (22,0) size 762x19
+        RenderBlock {DIV} at (0,103) size 784x17
+          RenderText {#text} at (22,0) size 762x17
             text run at (22,0) width 762: "This tests for a crash when changing the alignment of content that starts with an image not inside its own block container."
 selection start: position 0 of child 0 {IMG} of child 0 {DIV} of child 0 {DIV} of body
 selection end:   position 123 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.png b/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.png
index 80797e1..32dc52b 100644
--- a/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.txt b/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.txt
index 1e857fa..89b7b2c 100644
--- a/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/apple-style-editable-mix-expected.txt
@@ -9,33 +9,33 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderTable {TABLE} at (0,0) size 758x24
-        RenderTableSection {TBODY} at (0,0) size 758x24
-          RenderTableRow {TR} at (0,2) size 758x20
-            RenderTableCell {TD} at (2,2) size 644x20 [r=0 c=0 rs=1 cs=1]
-              RenderText {#text} at (1,1) size 642x19
+      RenderTable {TABLE} at (0,0) size 758x23
+        RenderTableSection {TBODY} at (0,0) size 758x23
+          RenderTableRow {TR} at (0,2) size 758x19
+            RenderTableCell {TD} at (2,2) size 644x19 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 642x17
                 text run at (1,1) width 642: "This tests that a style can be applied to a selection that contains both editable and non-editable content."
                 text run at (643,1) width 0: "             "
-            RenderTableCell {TD} at (648,2) size 108x20 [r=0 c=1 rs=1 cs=1]
-              RenderInline {SPAN} at (0,0) size 106x19
-                RenderInline {B} at (0,0) size 106x19
-                  RenderText {#text} at (1,1) size 106x19
+            RenderTableCell {TD} at (648,2) size 108x19 [r=0 c=1 rs=1 cs=1]
+              RenderInline {SPAN} at (0,0) size 106x17
+                RenderInline {B} at (0,0) size 106x17
+                  RenderText {#text} at (1,1) size 106x17
                     text run at (1,1) width 106: "Editable - line 1"
-              RenderText {#text} at (107,1) size 0x19
+              RenderText {#text} at (107,1) size 0x17
                 text run at (107,1) width 0: "             "
-      RenderTable {TABLE} at (0,24) size 710x24
-        RenderTableSection {TBODY} at (0,0) size 710x24
-          RenderTableRow {TR} at (0,2) size 710x20
-            RenderTableCell {TD} at (2,2) size 596x20 [r=0 c=0 rs=1 cs=1]
-              RenderText {#text} at (1,1) size 594x19
+      RenderTable {TABLE} at (0,23) size 710x23
+        RenderTableSection {TBODY} at (0,0) size 710x23
+          RenderTableRow {TR} at (0,2) size 710x19
+            RenderTableCell {TD} at (2,2) size 596x19 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 594x17
                 text run at (1,1) width 594: "The test passes if the editable content is bold, and the non editable content remains unchanged."
                 text run at (595,1) width 0: "             "
-            RenderTableCell {TD} at (600,2) size 108x20 [r=0 c=1 rs=1 cs=1]
-              RenderInline {SPAN} at (0,0) size 106x19
-                RenderInline {B} at (0,0) size 106x19
-                  RenderText {#text} at (1,1) size 106x19
+            RenderTableCell {TD} at (600,2) size 108x19 [r=0 c=1 rs=1 cs=1]
+              RenderInline {SPAN} at (0,0) size 106x17
+                RenderInline {B} at (0,0) size 106x17
+                  RenderText {#text} at (1,1) size 106x17
                     text run at (1,1) width 106: "Editable - line 2"
-              RenderText {#text} at (107,1) size 0x19
+              RenderText {#text} at (107,1) size 0x17
                 text run at (107,1) width 0: "             "
 selection start: position 0 of child 1 {TABLE} of body
 selection end:   position 2 of child 3 {TABLE} of body
diff --git a/LayoutTests/platform/gtk/editing/style/block-style-001-expected.png b/LayoutTests/platform/gtk/editing/style/block-style-001-expected.png
index 2a33dc6..d01c2d5 100644
--- a/LayoutTests/platform/gtk/editing/style/block-style-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/block-style-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/block-style-001-expected.txt b/LayoutTests/platform/gtk/editing/style/block-style-001-expected.txt
index 7d58406..03cfadc 100644
--- a/LayoutTests/platform/gtk/editing/style/block-style-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/block-style-001-expected.txt
@@ -8,20 +8,20 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (202,14) size 285x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (202,14) size 285x26
           text run at (202,14) width 285: "Here is some text. Should be "
-        RenderInline {B} at (0,0) size 90x28
-          RenderText {#text} at (486,14) size 90x28
+        RenderInline {B} at (0,0) size 90x26
+          RenderText {#text} at (486,14) size 90x26
             text run at (486,14) width 90: "centered"
-        RenderText {#text} at (575,14) size 7x28
+        RenderText {#text} at (575,14) size 7x26
           text run at (575,14) width 7: "."
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 284x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 284x26
           text run at (14,14) width 284: "Here is some text. Should be "
-        RenderInline {B} at (0,0) size 90x28
-          RenderText {#text} at (298,14) size 90x28
+        RenderInline {B} at (0,0) size 90x26
+          RenderText {#text} at (298,14) size 90x26
             text run at (298,14) width 90: "flush left"
-        RenderText {#text} at (388,14) size 6x28
+        RenderText {#text} at (388,14) size 6x26
           text run at (388,14) width 6: "."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/block-style-002-expected.png b/LayoutTests/platform/gtk/editing/style/block-style-002-expected.png
index 2a33dc6..d01c2d5 100644
--- a/LayoutTests/platform/gtk/editing/style/block-style-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/block-style-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/block-style-002-expected.txt b/LayoutTests/platform/gtk/editing/style/block-style-002-expected.txt
index 7d58406..03cfadc 100644
--- a/LayoutTests/platform/gtk/editing/style/block-style-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/block-style-002-expected.txt
@@ -8,20 +8,20 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (202,14) size 285x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (202,14) size 285x26
           text run at (202,14) width 285: "Here is some text. Should be "
-        RenderInline {B} at (0,0) size 90x28
-          RenderText {#text} at (486,14) size 90x28
+        RenderInline {B} at (0,0) size 90x26
+          RenderText {#text} at (486,14) size 90x26
             text run at (486,14) width 90: "centered"
-        RenderText {#text} at (575,14) size 7x28
+        RenderText {#text} at (575,14) size 7x26
           text run at (575,14) width 7: "."
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 284x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 284x26
           text run at (14,14) width 284: "Here is some text. Should be "
-        RenderInline {B} at (0,0) size 90x28
-          RenderText {#text} at (298,14) size 90x28
+        RenderInline {B} at (0,0) size 90x26
+          RenderText {#text} at (298,14) size 90x26
             text run at (298,14) width 90: "flush left"
-        RenderText {#text} at (388,14) size 6x28
+        RenderText {#text} at (388,14) size 6x26
           text run at (388,14) width 6: "."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/block-style-003-expected.png b/LayoutTests/platform/gtk/editing/style/block-style-003-expected.png
index 521b7b7..50e6aa3 100644
--- a/LayoutTests/platform/gtk/editing/style/block-style-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/block-style-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/block-style-003-expected.txt b/LayoutTests/platform/gtk/editing/style/block-style-003-expected.txt
index fe4a365..0b92c69 100644
--- a/LayoutTests/platform/gtk/editing/style/block-style-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/block-style-003-expected.txt
@@ -59,21 +59,21 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (202,14) size 285x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (202,14) size 285x26
           text run at (202,14) width 285: "Here is some text. Should be "
-        RenderInline {B} at (0,0) size 90x28
-          RenderText {#text} at (486,14) size 90x28
+        RenderInline {B} at (0,0) size 90x26
+          RenderText {#text} at (486,14) size 90x26
             text run at (486,14) width 90: "centered"
-        RenderText {#text} at (575,14) size 7x28
+        RenderText {#text} at (575,14) size 7x26
           text run at (575,14) width 7: "."
-      RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (202,14) size 285x28
+      RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+        RenderText {#text} at (202,14) size 285x26
           text run at (202,14) width 285: "Here is some text. Should be "
-        RenderInline {B} at (0,0) size 90x28
-          RenderText {#text} at (486,14) size 90x28
+        RenderInline {B} at (0,0) size 90x26
+          RenderText {#text} at (486,14) size 90x26
             text run at (486,14) width 90: "centered"
-        RenderText {#text} at (575,14) size 7x28
+        RenderText {#text} at (575,14) size 7x26
           text run at (575,14) width 7: "."
 selection start: position 1 of child 0 {#text} of child 1 {DIV} of body
 selection end:   position 13 of child 0 {#text} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.png b/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.png
index ab8861b..92d6b8d 100644
--- a/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.txt b/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.txt
index 177060b..af1343c 100644
--- a/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/block-styles-007-expected.txt
@@ -12,41 +12,41 @@
 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 784x240 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x226 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 162x28
-            text run at (0,28) width 162: "Fix for this bug: "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (162,28) size 260x28
-              text run at (162,28) width 260: "<rdar://problem/3977962>"
-          RenderText {#text} at (422,28) size 749x56
-            text run at (422,28) width 327: " font loses bold style after pasting"
-            text run at (0,56) width 384: "next to existing text and pressing return"
-        RenderBlock {DIV} at (14,114) size 756x112
-          RenderBlock (anonymous) at (0,0) size 756x56
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 162x26
+            text run at (0,26) width 162: "Fix for this bug: "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (162,26) size 260x26
+              text run at (162,26) width 260: "<rdar://problem/3977962>"
+          RenderText {#text} at (422,26) size 749x52
+            text run at (422,26) width 327: " font loses bold style after pasting"
+            text run at (0,52) width 384: "next to existing text and pressing return"
+        RenderBlock {DIV} at (14,108) size 756x104
+          RenderBlock (anonymous) at (0,0) size 756x52
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 436x28
-              text run at (0,28) width 436: "Should see this content in the red box below:"
-          RenderBlock {DIV} at (0,56) size 756x56
-            RenderBlock (anonymous) at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 32x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 436x26
+              text run at (0,26) width 436: "Should see this content in the red box below:"
+          RenderBlock {DIV} at (0,52) size 756x52
+            RenderBlock (anonymous) at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 32x26
                 text run at (0,0) width 32: "foo"
-            RenderBlock {DIV} at (0,28) size 756x28
-              RenderInline {B} at (0,0) size 36x28
-                RenderText {#text} at (0,0) size 36x28
+            RenderBlock {DIV} at (0,26) size 756x26
+              RenderInline {B} at (0,0) size 36x26
+                RenderText {#text} at (0,0) size 36x26
                   text run at (0,0) width 36: "bar"
-      RenderBlock {DIV} at (0,264) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 32x28
+      RenderBlock {DIV} at (0,250) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderInline {B} at (0,0) size 36x28
-              RenderText {#text} at (0,0) size 36x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderInline {B} at (0,0) size 36x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "bar"
 caret: position 0 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.png
index e36b14e..32b1b6f 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.txt
index ae0f386..18785ae 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-001-expected.txt
@@ -10,20 +10,20 @@
 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 727x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 727x52
           text run at (14,14) width 721: "Should see \"foo\" centered in its own red box, followed by left-aligned two"
           text run at (735,14) width 6: " "
-          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)]
-          RenderBlock {DIV} at (14,14) size 756x28
-            RenderText {#text} at (362,0) size 32x28
+          text run at (14,40) width 424: "lines, \"bar\" and \"baz\", in their own red box."
+      RenderBlock {DIV} at (0,104) size 784x106
+        RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (14,14) size 756x26
+            RenderText {#text} at (362,0) size 32x26
               text run at (362,0) width 32: "foo"
-          RenderBlock (anonymous) at (14,42) size 756x56
-            RenderText {#text} at (0,0) size 31x28
+          RenderBlock (anonymous) at (14,40) size 756x52
+            RenderText {#text} at (0,0) size 31x26
               text run at (0,0) width 31: "bar"
-            RenderBR {BR} at (31,22) size 0x0
-            RenderText {#text} at (0,28) size 34x28
-              text run at (0,28) width 34: "baz"
+            RenderBR {BR} at (31,21) size 0x0
+            RenderText {#text} at (0,26) size 34x26
+              text run at (0,26) width 34: "baz"
 caret: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.png
index 72cc4c1c..58325ef 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.txt
index 9c2cbdd..d07f161 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-002-expected.txt
@@ -10,21 +10,21 @@
 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 729x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 729x52
           text run at (14,14) width 723: "Should see \"bar\" centered in its own red box, with a left-aligned \"foo\" line"
           text run at (737,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 409: "above and a left-aligned \"baz\" line below."
+      RenderBlock {DIV} at (0,104) size 784x106
+        RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-            RenderBR {BR} at (32,22) size 0x0
-          RenderBlock {DIV} at (14,42) size 756x28
-            RenderText {#text} at (362,0) size 32x28
+            RenderBR {BR} at (32,21) size 0x0
+          RenderBlock {DIV} at (14,40) size 756x26
+            RenderText {#text} at (362,0) size 32x26
               text run at (362,0) width 32: "bar"
-          RenderBlock (anonymous) at (14,70) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock (anonymous) at (14,66) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.png
index 965f4bf..a06fd67 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.txt
index 1c8816f..7776023 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-003-expected.txt
@@ -11,22 +11,22 @@
 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
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 725x52
           text run at (14,14) width 719: "Should see \"baz\" centered in its own red box, with a two left-aligned lines"
           text run at (733,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x56
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 226: "above, \"foo\" and \"bar\"."
+      RenderBlock {DIV} at (0,104) size 784x106
+        RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x52
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-            RenderBR {BR} at (32,22) size 0x0
-            RenderText {#text} at (0,28) size 31x28
-              text run at (0,28) width 31: "bar"
-            RenderBR {BR} at (31,50) size 0x0
-          RenderBlock {DIV} at (14,70) size 756x28
-            RenderText {#text} at (361,0) size 34x28
+            RenderBR {BR} at (32,21) size 0x0
+            RenderText {#text} at (0,26) size 31x26
+              text run at (0,26) width 31: "bar"
+            RenderBR {BR} at (31,47) size 0x0
+          RenderBlock {DIV} at (14,66) size 756x26
+            RenderText {#text} at (361,0) size 34x26
               text run at (361,0) width 34: "baz"
-          RenderBlock (anonymous) at (14,98) size 756x0
+          RenderBlock (anonymous) at (14,92) size 756x0
 caret: position 0 of child 0 {#text} of child 4 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.png
index 3109a7a..cf21755 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.txt
index 97c3767..fc7a9e2 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-004-expected.txt
@@ -16,22 +16,22 @@
 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 731x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 731x52
           text run at (14,14) width 725: "Should see \"foo\" and \"baz\" centered in their own red boxes. The \"bar\" line"
           text run at (739,14) width 6: " "
-          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)]
-          RenderBlock {DIV} at (14,14) size 756x28
-            RenderText {#text} at (362,0) size 32x28
+          text run at (14,40) width 225: "should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x106
+        RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (14,14) size 756x26
+            RenderText {#text} at (362,0) size 32x26
               text run at (362,0) width 32: "foo"
-          RenderBlock (anonymous) at (14,42) size 756x28
-            RenderText {#text} at (0,0) size 31x28
+          RenderBlock (anonymous) at (14,40) size 756x26
+            RenderText {#text} at (0,0) size 31x26
               text run at (0,0) width 31: "bar"
-            RenderBR {BR} at (31,22) size 0x0
-          RenderBlock {DIV} at (14,70) size 756x28
-            RenderText {#text} at (361,0) size 34x28
+            RenderBR {BR} at (31,21) size 0x0
+          RenderBlock {DIV} at (14,66) size 756x26
+            RenderText {#text} at (361,0) size 34x26
               text run at (361,0) width 34: "baz"
-          RenderBlock (anonymous) at (14,98) size 756x0
+          RenderBlock (anonymous) at (14,92) size 756x0
 caret: position 3 of child 0 {#text} of child 3 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.png
index 9aa05b9..f29185d 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.txt
index 2609617..fa0fc6a 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-005-expected.txt
@@ -10,20 +10,20 @@
 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 731x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 731x52
           text run at (14,14) width 725: "Should see \"foo\" and \"bar\" centered in their own red boxes. The \"baz\" line"
           text run at (739,14) width 6: " "
-          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)]
-          RenderText {#text} at (376,14) size 32x28
+          text run at (14,40) width 448: "should be in its own red box, but not centered."
+      RenderBlock {DIV} at (0,104) size 784x162
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (376,14) size 32x26
             text run at (376,14) width 32: "foo"
-        RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (376,14) size 32x28
+        RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (376,14) size 32x26
             text run at (376,14) width 32: "bar"
-        RenderBlock {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 34x28
+        RenderBlock {DIV} at (0,108) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "baz"
 selection start: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 3 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.png
index c6fa7d7..dae7cce 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.txt
index 7cf4cfa..c2e7d99 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-006-expected.txt
@@ -11,20 +11,20 @@
 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 731x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 731x52
           text run at (14,14) width 725: "Should see \"bar\" and \"baz\" centered in their own red boxes. The \"foo\" line"
           text run at (739,14) width 6: " "
-          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)]
-          RenderText {#text} at (14,14) size 32x28
+          text run at (14,40) width 448: "should be in its own red box, but not centered."
+      RenderBlock {DIV} at (0,104) size 784x162
+        RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 32x26
             text run at (14,14) width 32: "foo"
-        RenderBlock {DIV} at (0,56) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (376,14) size 32x28
+        RenderBlock {DIV} at (0,54) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (376,14) size 32x26
             text run at (376,14) width 32: "bar"
-        RenderBlock {DIV} at (0,112) size 784x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (375,14) size 34x28
+        RenderBlock {DIV} at (0,108) size 784x54 [border: (2px solid #FF0000)]
+          RenderText {#text} at (375,14) size 34x26
             text run at (375,14) width 34: "baz"
 selection start: position 1 of child 0 {#text} of child 3 {DIV} of child 3 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 5 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.png
index 069253b..72781fb 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.txt
index b092088..3534334 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-007-expected.txt
@@ -10,21 +10,21 @@
 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 698x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 698x52
           text run at (14,14) width 692: "Should see \"foo\" centered in its own red box. The \"bar\" and \"baz\" lines"
           text run at (706,14) width 6: " "
-          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)]
-          RenderBlock {DIV} at (14,14) size 756x28
-            RenderText {#text} at (362,0) size 32x28
+          text run at (14,40) width 225: "should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (14,14) size 756x26
+            RenderText {#text} at (362,0) size 32x26
               text run at (362,0) width 32: "foo"
-          RenderBlock (anonymous) at (14,42) size 756x0
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (14,14) size 31x28
+          RenderBlock (anonymous) at (14,40) size 756x0
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 31x26
               text run at (14,14) width 31: "bar"
-          RenderBlock (anonymous) at (14,98) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock (anonymous) at (14,94) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 caret: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.png
index 61285b4..2744c56 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.txt
index 24c189c..a28eae1 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-008-expected.txt
@@ -9,20 +9,20 @@
 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 698x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 698x52
           text run at (14,14) width 692: "Should see \"bar\" centered in its own red box. The \"foo\" and \"baz\" lines"
           text run at (706,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 225: "should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (362,14) size 32x28
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (362,14) size 32x26
               text run at (362,14) width 32: "bar"
-          RenderBlock (anonymous) at (14,98) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock (anonymous) at (14,94) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.png
index d5d4b69..2ea9eca 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.txt
index e13e544..d9f8ba1 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-009-expected.txt
@@ -12,21 +12,21 @@
 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 755x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 755x52
           text run at (14,14) width 749: "Should see \"baz\" centered in its own red box inside the box containing \"foo\"."
           text run at (763,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 477: "The \"foo\" and \"bar\" lines should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (14,14) size 31x28
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 31x26
               text run at (14,14) width 31: "bar"
-          RenderBlock {DIV} at (14,98) size 756x28
-            RenderText {#text} at (361,0) size 34x28
+          RenderBlock {DIV} at (14,94) size 756x26
+            RenderText {#text} at (361,0) size 34x26
               text run at (361,0) width 34: "baz"
-          RenderBlock (anonymous) at (14,126) size 756x0
+          RenderBlock (anonymous) at (14,120) size 756x0
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.png
index d533b186..294c12a 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.txt
index 391ca14..6ce2bc5 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-010-expected.txt
@@ -12,22 +12,22 @@
 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
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 719x52
           text run at (14,14) width 713: "Should see the \"foo\" and \"baz\" lines centered in their own red boxes. The"
           text run at (727,14) width 6: " "
-          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)]
-          RenderBlock {DIV} at (14,14) size 756x28
-            RenderText {#text} at (362,0) size 32x28
+          text run at (14,40) width 328: "\"baz\" line should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (14,14) size 756x26
+            RenderText {#text} at (362,0) size 32x26
               text run at (362,0) width 32: "foo"
-          RenderBlock (anonymous) at (14,42) size 756x0
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (362,14) size 32x28
+          RenderBlock (anonymous) at (14,40) size 756x0
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (362,14) size 32x26
               text run at (362,14) width 32: "bar"
-          RenderBlock (anonymous) at (14,98) size 756x28
-            RenderText {#text} at (0,0) size 34x28
+          RenderBlock (anonymous) at (14,94) size 756x26
+            RenderText {#text} at (0,0) size 34x26
               text run at (0,0) width 34: "baz"
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.png
index 9262b13..79ae632 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.txt
index 055622e..e17955e 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-011-expected.txt
@@ -13,22 +13,22 @@
 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 718x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 718x52
           text run at (14,14) width 712: "Should see the \"bar\" and \"baz\" lines centered in their own red boxes. The"
           text run at (726,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 326: "\"foo\" line should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (362,14) size 32x28
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (362,14) size 32x26
               text run at (362,14) width 32: "bar"
-          RenderBlock {DIV} at (14,98) size 756x28
-            RenderText {#text} at (361,0) size 34x28
+          RenderBlock {DIV} at (14,94) size 756x26
+            RenderText {#text} at (361,0) size 34x26
               text run at (361,0) width 34: "baz"
-          RenderBlock (anonymous) at (14,126) size 756x0
+          RenderBlock (anonymous) at (14,120) size 756x0
 selection start: position 1 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 1 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.png
index d87aaf8..083bb74 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.txt
index 7f61247..b95285f 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-012-expected.txt
@@ -14,24 +14,24 @@
 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 718x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 718x52
           text run at (14,14) width 712: "Should see the \"bar\" and \"baz\" lines centered in their own red boxes. The"
           text run at (726,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 326: "\"foo\" line should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (14,42) size 756x84 [border: (2px solid #FF0000)]
-            RenderBlock {DIV} at (14,14) size 728x28
-              RenderText {#text} at (348,0) size 38x28
+          RenderBlock {DIV} at (14,40) size 756x80 [border: (2px solid #FF0000)]
+            RenderBlock {DIV} at (14,14) size 728x26
+              RenderText {#text} at (348,0) size 38x26
                 text run at (348,0) width 32: "bar"
                 text run at (379,0) width 7: " "
-            RenderBlock {DIV} at (14,42) size 728x28
-              RenderText {#text} at (347,0) size 34x28
+            RenderBlock {DIV} at (14,40) size 728x26
+              RenderText {#text} at (347,0) size 34x26
                 text run at (347,0) width 34: "baz"
-            RenderBlock (anonymous) at (14,70) size 728x0
+            RenderBlock (anonymous) at (14,66) size 728x0
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 1 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.png b/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.png
index 0f7932c..0c48d09 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.txt b/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.txt
index 103fca8..83c5768 100644
--- a/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/create-block-for-style-013-expected.txt
@@ -11,23 +11,23 @@
 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
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 723x52
           text run at (14,14) width 717: "Should see the \"baz\" line centered in its red box inside the box containing"
           text run at (731,14) width 6: " "
-          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)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 32x28
+          text run at (14,40) width 540: "\"bar\". The \"foo\" and \"bar\" lines should not be centered."
+      RenderBlock {DIV} at (0,104) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (14,42) size 756x84 [border: (2px solid #FF0000)]
-            RenderBlock (anonymous) at (14,14) size 728x28
-              RenderText {#text} at (0,0) size 37x28
+          RenderBlock {DIV} at (14,40) size 756x80 [border: (2px solid #FF0000)]
+            RenderBlock (anonymous) at (14,14) size 728x26
+              RenderText {#text} at (0,0) size 37x26
                 text run at (0,0) width 37: "bar "
-              RenderBR {BR} at (37,22) size 0x0
-            RenderBlock {DIV} at (14,42) size 728x28
-              RenderText {#text} at (347,0) size 34x28
+              RenderBR {BR} at (37,21) size 0x0
+            RenderBlock {DIV} at (14,40) size 728x26
+              RenderText {#text} at (347,0) size 34x26
                 text run at (347,0) width 34: "baz"
-            RenderBlock (anonymous) at (14,70) size 728x0
+            RenderBlock (anonymous) at (14,66) size 728x0
 caret: position 0 of child 0 {#text} of child 2 {DIV} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/designmode-expected.png b/LayoutTests/platform/gtk/editing/style/designmode-expected.png
index 7c5fc19..c03e804 100644
--- a/LayoutTests/platform/gtk/editing/style/designmode-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/designmode-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/designmode-expected.txt b/LayoutTests/platform/gtk/editing/style/designmode-expected.txt
index 3217f47..73c9311 100644
--- a/LayoutTests/platform/gtk/editing/style/designmode-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/designmode-expected.txt
@@ -9,12 +9,12 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 737x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 737x17
           text run at (0,0) width 737: "This tests to make sure that rich editing commands like Bold can be performed on text in a document in design mode."
-      RenderBlock {DIV} at (0,34) size 784x18
-        RenderInline {B} at (0,0) size 166x19
-          RenderText {#text} at (0,0) size 166x19
+      RenderBlock {DIV} at (0,33) size 784x17
+        RenderInline {B} at (0,0) size 166x17
+          RenderText {#text} at (0,0) size 166x17
             text run at (0,0) width 166: "This text should be bold."
 selection start: position 0 of child 0 {#text} of child 0 {B} of child 2 {DIV} of body
 selection end:   position 25 of child 0 {#text} of child 0 {B} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/font-family-with-space-expected.png b/LayoutTests/platform/gtk/editing/style/font-family-with-space-expected.png
index 829d316..5e6b47f 100644
--- a/LayoutTests/platform/gtk/editing/style/font-family-with-space-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/font-family-with-space-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/highlight-expected.png b/LayoutTests/platform/gtk/editing/style/highlight-expected.png
new file mode 100644
index 0000000..4dd95cc
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/highlight-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/highlight-expected.txt b/LayoutTests/platform/gtk/editing/style/highlight-expected.txt
index e8a5d3f..a6e6c54 100644
--- a/LayoutTests/platform/gtk/editing/style/highlight-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/highlight-expected.txt
@@ -3,7 +3,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 784x18
-        RenderText {#text} at (0,0) size 135x19
+      RenderBlock {DIV} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 135x17
           text run at (0,0) width 135: "some highlighted text"
 caret: position 0 of child 0 {#text} of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.png b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.png
new file mode 100644
index 0000000..461f313
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.txt b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.txt
index 7887cfb..a143903 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-001-expected.txt
@@ -31,27 +31,27 @@
 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
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 721x52
           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 (729,14) width 6: " "
-          text run at (14,42) width 54: "30px."
-      RenderBlock {DIV} at (0,108) size 784x28
-        RenderText {#text} at (0,0) size 118x28
+          text run at (14,40) width 54: "30px."
+      RenderBlock {DIV} at (0,104) size 784x26
+        RenderText {#text} at (0,0) size 118x26
           text run at (0,0) width 118: "Size check: "
-        RenderInline {SPAN} at (0,0) size 48x28
-          RenderText {#text} at (118,0) size 48x28
+        RenderInline {SPAN} at (0,0) size 48x26
+          RenderText {#text} at (118,0) size 48x26
             text run at (118,0) width 48: "30px"
-      RenderBlock {DIV} at (0,152) size 784x161
-        RenderBlock {DIV} at (0,0) size 784x161 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (14,14) size 756x35
-            RenderText {#text} at (0,0) size 170x34
+      RenderBlock {DIV} at (0,146) size 784x155
+        RenderBlock {DIV} at (0,0) size 784x155 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x33
+            RenderText {#text} at (0,0) size 170x33
               text run at (0,0) width 170: "There is a tide"
-          RenderBlock {DIV} at (14,49) size 756x63 [border: (2px solid #FF0000)]
-            RenderText {#text} at (14,14) size 245x34
+          RenderBlock {DIV} at (14,47) size 756x61 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 245x33
               text run at (14,14) width 245: "In the affairs of men"
-          RenderBlock (anonymous) at (14,112) size 756x35
-            RenderText {#text} at (0,0) size 295x34
+          RenderBlock (anonymous) at (14,108) size 756x33
+            RenderText {#text} at (0,0) size 295x33
               text run at (0,0) width 295: "Which taken at the flood"
 selection start: position 1 of child 0 {#text} of child 1 {DIV} of child 5 {DIV} of body
 selection end:   position 25 of child 2 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.png b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.png
index c05304f..acddb69 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.txt b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.txt
index c375df1..f979837 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-002-expected.txt
@@ -23,31 +23,31 @@
 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 754x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 754x52
           text run at (14,14) width 748: "Size check should say: 30px. All text on the first line, and the first two words"
           text run at (762,14) width 6: " "
-          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
+          text run at (14,40) width 433: "of the second line, should appear to be 30px."
+      RenderBlock {DIV} at (0,104) size 784x26
+        RenderText {#text} at (0,0) size 118x26
           text run at (0,0) width 118: "Size check: "
-        RenderInline {SPAN} at (0,0) size 48x28
-          RenderText {#text} at (118,0) size 48x28
+        RenderInline {SPAN} at (0,0) size 48x26
+          RenderText {#text} at (118,0) size 48x26
             text run at (118,0) width 48: "30px"
-      RenderBlock {DIV} at (0,152) size 784x154
-        RenderBlock {DIV} at (0,0) size 784x154 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (14,14) size 756x35
-            RenderInline {SPAN} at (0,0) size 170x34
-              RenderText {#text} at (0,0) size 170x34
+      RenderBlock {DIV} at (0,146) size 784x148
+        RenderBlock {DIV} at (0,0) size 784x148 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x33
+            RenderInline {SPAN} at (0,0) size 170x33
+              RenderText {#text} at (0,0) size 170x33
                 text run at (0,0) width 170: "There is a tide"
-          RenderBlock {DIV} at (14,49) size 756x63 [border: (2px solid #FF0000)]
-            RenderInline {SPAN} at (0,0) size 69x34
-              RenderText {#text} at (14,14) size 69x34
+          RenderBlock {DIV} at (14,47) size 756x61 [border: (2px solid #FF0000)]
+            RenderInline {SPAN} at (0,0) size 69x33
+              RenderText {#text} at (14,14) size 69x33
                 text run at (14,14) width 69: "In the"
-            RenderText {#text} at (83,19) size 142x28
-              text run at (83,19) width 142: " affairs of men"
-          RenderBlock (anonymous) at (14,112) size 756x28
-            RenderText {#text} at (0,0) size 241x28
+            RenderText {#text} at (83,20) size 142x26
+              text run at (83,20) width 142: " affairs of men"
+          RenderBlock (anonymous) at (14,108) size 756x26
+            RenderText {#text} at (0,0) size 241x26
               text run at (0,0) width 241: "Which taken at the flood"
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 1 {DIV} of child 5 {DIV} of body
 selection end:   position 7 of child 0 {#text} of child 0 {SPAN} of child 1 {DIV} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.png b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.png
index 8f99bba..e9ba0f0 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.txt b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.txt
index 9741236..bb0e0d3 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-003-expected.txt
@@ -41,33 +41,33 @@
 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 744x84
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 744x78
           text run at (14,14) width 723: "Size check should say: 24px. The first two words of the second line should"
           text run at (737,14) width 6: " "
-          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 (752,42) width 6: " "
-          text run at (14,70) width 83: "be 30px."
-      RenderBlock {DIV} at (0,136) size 784x28
-        RenderText {#text} at (0,0) size 118x28
+          text run at (14,40) width 332: "appear to be 24px. The rest of the "
+          text run at (346,40) width 406: "words on the second line should appear to"
+          text run at (752,40) width 6: " "
+          text run at (14,66) width 83: "be 30px."
+      RenderBlock {DIV} at (0,130) size 784x26
+        RenderText {#text} at (0,0) size 118x26
           text run at (0,0) width 118: "Size check: "
-        RenderInline {SPAN} at (0,0) size 48x28
-          RenderText {#text} at (118,0) size 48x28
+        RenderInline {SPAN} at (0,0) size 48x26
+          RenderText {#text} at (118,0) size 48x26
             text run at (118,0) width 48: "24px"
-      RenderBlock {DIV} at (0,180) size 784x147
-        RenderBlock {DIV} at (0,0) size 784x147 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (0,172) size 784x141
+        RenderBlock {DIV} at (0,0) size 784x141 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 139x26
               text run at (0,0) width 139: "There is a tide"
-          RenderBlock {DIV} at (14,42) size 756x63 [border: (2px solid #FF0000)]
-            RenderInline {SPAN} at (0,0) size 56x28
-              RenderText {#text} at (14,19) size 56x28
-                text run at (14,19) width 56: "In the"
-            RenderText {#text} at (70,14) size 176x34
+          RenderBlock {DIV} at (14,40) size 756x61 [border: (2px solid #FF0000)]
+            RenderInline {SPAN} at (0,0) size 56x26
+              RenderText {#text} at (14,20) size 56x26
+                text run at (14,20) width 56: "In the"
+            RenderText {#text} at (70,14) size 176x33
               text run at (70,14) width 176: " affairs of men"
-          RenderBlock (anonymous) at (14,105) size 756x28
-            RenderText {#text} at (0,0) size 241x28
+          RenderBlock (anonymous) at (14,101) size 756x26
+            RenderText {#text} at (0,0) size 241x26
               text run at (0,0) width 241: "Which taken at the flood"
 selection start: position 0 of child 0 {#text} of child 0 {SPAN} of child 1 {DIV} of child 1 {DIV} of child 5 {DIV} of body
 selection end:   position 6 of child 0 {#text} of child 0 {SPAN} of child 1 {DIV} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.png b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.png
index d8c5be0..9457cab 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.txt b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.txt
index ecbb1fc..536d978 100644
--- a/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/relative-font-size-change-004-expected.txt
@@ -36,29 +36,29 @@
 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 721x84
+      RenderBlock {DIV} at (0,0) size 784x106 [border: (2px solid #0000FF)]
+        RenderText {#text} at (14,14) size 721x78
           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 (729,14) width 6: " "
-          text run at (14,42) width 688: "24px. This test checks removing font size tags when they are no longer"
-          text run at (702,42) width 6: " "
-          text run at (14,70) width 100: "necessary."
-      RenderBlock {DIV} at (0,136) size 784x28
-        RenderText {#text} at (0,0) size 118x28
+          text run at (14,40) width 688: "24px. This test checks removing font size tags when they are no longer"
+          text run at (702,40) width 6: " "
+          text run at (14,66) width 100: "necessary."
+      RenderBlock {DIV} at (0,130) size 784x26
+        RenderText {#text} at (0,0) size 118x26
           text run at (0,0) width 118: "Size check: "
-        RenderInline {SPAN} at (0,0) size 48x28
-          RenderText {#text} at (118,0) size 48x28
+        RenderInline {SPAN} at (0,0) size 48x26
+          RenderText {#text} at (118,0) size 48x26
             text run at (118,0) width 48: "30px"
-      RenderBlock {DIV} at (0,180) size 784x140
-        RenderBlock {DIV} at (0,0) size 784x140 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (14,14) size 756x28
-            RenderText {#text} at (0,0) size 139x28
+      RenderBlock {DIV} at (0,172) size 784x134
+        RenderBlock {DIV} at (0,0) size 784x134 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (14,14) size 756x26
+            RenderText {#text} at (0,0) size 139x26
               text run at (0,0) width 139: "There is a tide"
-          RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-            RenderText {#text} at (14,14) size 198x28
+          RenderBlock {DIV} at (14,40) size 756x54 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 198x26
               text run at (14,14) width 198: "In the affairs of men"
-          RenderBlock (anonymous) at (14,98) size 756x28
-            RenderText {#text} at (0,0) size 241x28
+          RenderBlock (anonymous) at (14,94) size 756x26
+            RenderText {#text} at (0,0) size 241x26
               text run at (0,0) width 241: "Which taken at the flood"
 selection start: position 0 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 5 {DIV} of body
 selection end:   position 21 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.png b/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.png
index 60c1aac..8216578 100644
--- a/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.txt b/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.txt
index 637d61f..ac0fa16 100644
--- a/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/smoosh-styles-001-expected.txt
@@ -25,38 +25,38 @@
 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 784x184 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x174 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 727x56
-            text run at (0,28) width 727: "Pasting black (document default color) text into a block of text with a non-"
-            text run at (0,56) width 130: "default color."
-        RenderBlock {DIV} at (14,114) size 756x56
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 727x52
+            text run at (0,26) width 727: "Pasting black (document default color) text into a block of text with a non-"
+            text run at (0,52) width 130: "default color."
+        RenderBlock {DIV} at (14,108) size 756x52
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 442x28
-            text run at (0,28) width 442: "Should see this content in the red box below: "
-          RenderInline {SPAN} at (0,0) size 77x28 [color=#FF0000]
-            RenderText {#text} at (442,28) size 23x28
-              text run at (442,28) width 23: "ab"
-            RenderInline {SPAN} at (0,0) size 34x28 [color=#000000]
-              RenderText {#text} at (465,28) size 34x28
-                text run at (465,28) width 34: "cde"
-            RenderText {#text} at (499,28) size 20x28
-              text run at (499,28) width 20: "fg"
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 442x26
+            text run at (0,26) width 442: "Should see this content in the red box below: "
+          RenderInline {SPAN} at (0,0) size 77x26 [color=#FF0000]
+            RenderText {#text} at (442,26) size 23x26
+              text run at (442,26) width 23: "ab"
+            RenderInline {SPAN} at (0,0) size 34x26 [color=#000000]
+              RenderText {#text} at (465,26) size 34x26
+                text run at (465,26) width 34: "cde"
+            RenderText {#text} at (499,26) size 20x26
+              text run at (499,26) width 20: "fg"
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,208) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderInline {SPAN} at (0,0) size 23x28 [color=#FF0000]
-            RenderText {#text} at (2,2) size 23x28
+      RenderBlock {DIV} at (0,198) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {SPAN} at (0,0) size 23x26 [color=#FF0000]
+            RenderText {#text} at (2,2) size 23x26
               text run at (2,2) width 23: "ab"
-          RenderText {#text} at (25,2) size 34x28
+          RenderText {#text} at (25,2) size 34x26
             text run at (25,2) width 34: "cde"
-          RenderInline {SPAN} at (0,0) size 20x28 [color=#FF0000]
-            RenderText {#text} at (59,2) size 20x28
+          RenderInline {SPAN} at (0,0) size 20x26 [color=#FF0000]
+            RenderText {#text} at (59,2) size 20x26
               text run at (59,2) width 20: "fg"
-        RenderBlock (anonymous) at (0,32) size 784x0
+        RenderBlock (anonymous) at (0,30) size 784x0
 caret: position 3 of child 2 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.png b/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.png
index 9d35ba4..2682ee0 100644
--- a/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.txt b/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.txt
new file mode 100644
index 0000000..161b544
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/smoosh-styles-003-expected.txt
@@ -0,0 +1,53 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 4 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > DIV > DIV > DIV > BODY > HTML > #document to 4 of #text > DIV > DIV > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldInsertNode:#document-fragment replacingDOMRange:range from 0 of DIV > DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 3 of #text > DIV > DIV > DIV > BODY > HTML > #document to 3 of #text > DIV > DIV > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > DIV > DIV > DIV > BODY > HTML > #document to 3 of #text > DIV > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x252 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x104
+          RenderText {#text} at (0,0) size 67x26
+            text run at (0,0) width 67: "Tests: "
+          RenderBR {BR} at (0,0) size 0x0
+          RenderText {#text} at (0,26) size 750x52
+            text run at (0,26) width 750: "Pasting styles we should not remove during the \"smoosh styles\" process. This"
+            text run at (0,52) width 152: "tests the fix for "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (152,52) size 260x26
+              text run at (152,52) width 260: "<rdar://problem/3972665>"
+          RenderText {#text} at (412,52) size 740x52
+            text run at (412,52) width 328: " 8A360: HTML message partially"
+            text run at (0,78) width 560: "truncated on left hand side, text-indent from Script Editor"
+        RenderBlock {DIV} at (14,134) size 756x104
+          RenderText {#text} at (0,0) size 189x26
+            text run at (0,0) width 189: "Expected Results: "
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 730x52
+            text run at (0,26) width 730: "Should see this content in the red box below: foo. Note that there should be"
+            text run at (0,52) width 174: "no visible indent. "
+          RenderBR {BR} at (174,73) size 0x0
+          RenderText {#text} at (0,78) size 183x26
+            text run at (0,78) width 183: "This demonstrates "
+          RenderInline {A} at (0,0) size 53x26 [color=#0000EE]
+            RenderText {#text} at (183,78) size 53x26
+              text run at (183,78) width 53: "a bug"
+          RenderText {#text} at (236,78) size 254x26
+            text run at (236,78) width 254: ", the caret is one pixel off."
+      RenderBlock {DIV} at (0,276) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (42,2) size 740x26
+            RenderText {#text} at (-40,0) size 32x26
+              text run at (-40,0) width 32: "foo"
+caret: position 3 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-3681552-fix-001-expected.png b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-001-expected.png
new file mode 100644
index 0000000..569d1c0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-3681552-fix-001-expected.txt b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-001-expected.txt
new file mode 100644
index 0000000..acdd4be
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-001-expected.txt
@@ -0,0 +1,44 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 8 of #text > SPAN > DIV > BODY > HTML > #document to 0 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 1 of #text > I > SPAN > DIV > BODY > HTML > #document to 1 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > I > SPAN > DIV > BODY > HTML > #document to 1 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 2 of #text > I > SPAN > DIV > BODY > HTML > #document to 2 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 2 of #text > I > SPAN > DIV > BODY > HTML > #document to 2 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > I > SPAN > DIV > BODY > HTML > #document to 3 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 3 of #text > I > SPAN > DIV > BODY > HTML > #document to 3 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 4 of #text > I > SPAN > DIV > BODY > HTML > #document to 4 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 157x26
+          RenderText {#text} at (14,14) size 70x26
+            text run at (14,14) width 70: "here is "
+          RenderInline {I} at (0,0) size 44x26
+            RenderText {#text} at (84,14) size 44x26
+              text run at (84,14) width 44: "xxxx"
+          RenderText {#text} at (128,14) size 43x26
+            text run at (128,14) width 43: " text"
+        RenderText {#text} at (0,0) size 0x0
+caret: position 4 of child 0 {#text} of child 1 {I} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.png b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.png
new file mode 100644
index 0000000..569d1c0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.txt b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.txt
index 6d299b4..5e74cb7 100644
--- a/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/style-3681552-fix-002-expected.txt
@@ -47,14 +47,14 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 157x28
-          RenderText {#text} at (14,14) size 70x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 157x26
+          RenderText {#text} at (14,14) size 70x26
             text run at (14,14) width 70: "here is "
-          RenderInline {I} at (0,0) size 44x28
-            RenderText {#text} at (84,14) size 44x28
+          RenderInline {I} at (0,0) size 44x26
+            RenderText {#text} at (84,14) size 44x26
               text run at (84,14) width 44: "xxxx"
-          RenderText {#text} at (128,14) size 43x28
+          RenderText {#text} at (128,14) size 43x26
             text run at (128,14) width 43: " text"
         RenderText {#text} at (0,0) size 0x0
 caret: position 4 of child 0 {#text} of child 1 {I} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.png b/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.png
index fda41e0..357200e 100644
--- a/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.txt b/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.txt
index 111b94e..f23965a 100644
--- a/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/style-3998892-fix-expected.txt
@@ -13,34 +13,34 @@
 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 784x184 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x84
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x174 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x78
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 113x28
-            text run at (0,28) width 113: "Bug fix for "
-          RenderInline {A} at (0,0) size 260x28 [color=#0000EE]
-            RenderText {#text} at (113,28) size 260x28
-              text run at (113,28) width 260: "<rdar://problem/3998892>"
-          RenderText {#text} at (373,28) size 698x56
-            text run at (373,28) width 325: " REGRESSION (Mail): bolding a"
-            text run at (0,56) width 93: "selection "
-            text run at (93,56) width 551: "from end of line changes unselected text on starting line."
-        RenderBlock {DIV} at (14,114) size 756x56
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 113x26
+            text run at (0,26) width 113: "Bug fix for "
+          RenderInline {A} at (0,0) size 260x26 [color=#0000EE]
+            RenderText {#text} at (113,26) size 260x26
+              text run at (113,26) width 260: "<rdar://problem/3998892>"
+          RenderText {#text} at (373,26) size 698x52
+            text run at (373,26) width 325: " REGRESSION (Mail): bolding a"
+            text run at (0,52) width 93: "selection "
+            text run at (93,52) width 551: "from end of line changes unselected text on starting line."
+        RenderBlock {DIV} at (14,108) size 756x52
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 604x28
-            text run at (0,28) width 604: "Should see first line (\"foo\") not bold; second line (\"bar\") bold."
-      RenderBlock {DIV} at (0,208) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 32x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 604x26
+            text run at (0,26) width 604: "Should see first line (\"foo\") not bold; second line (\"bar\") bold."
+      RenderBlock {DIV} at (0,198) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 32x26
               text run at (0,0) width 32: "foo"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderInline {B} at (0,0) size 36x28
-              RenderText {#text} at (0,0) size 36x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderInline {B} at (0,0) size 36x26
+              RenderText {#text} at (0,0) size 36x26
                 text run at (0,0) width 36: "bar"
 selection start: position 3 of child 0 {#text} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 3 of child 0 {#text} of child 0 {B} of child 3 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.png b/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.png
index 6eddd69..2856efb 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.txt b/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.txt
index 67fe996..ebaa358 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-001-expected.txt
@@ -11,29 +11,29 @@
 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 784x156 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x148 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 600x28
-            text run at (0,28) width 600: "Style checks performed on boundaries between style changes."
-        RenderBlock {DIV} at (14,86) size 756x56
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 600x26
+            text run at (0,26) width 600: "Style checks performed on boundaries between style changes."
+        RenderBlock {DIV} at (14,82) size 756x52
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 442x28
-            text run at (0,28) width 442: "Should see this content in the red box below: "
-          RenderInline {B} at (0,0) size 25x28
-            RenderText {#text} at (442,28) size 25x28
-              text run at (442,28) width 25: "ab"
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 442x26
+            text run at (0,26) width 442: "Should see this content in the red box below: "
+          RenderInline {B} at (0,0) size 25x26
+            RenderText {#text} at (442,26) size 25x26
+              text run at (442,26) width 25: "ab"
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,180) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderInline {B} at (0,0) size 25x28
-            RenderText {#text} at (2,2) size 12x28
+      RenderBlock {DIV} at (0,172) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {B} at (0,0) size 25x26
+            RenderText {#text} at (2,2) size 12x26
               text run at (2,2) width 12: "a"
-            RenderText {#text} at (14,2) size 13x28
+            RenderText {#text} at (14,2) size 13x26
               text run at (14,2) width 13: "b"
 selection start: position 0 of child 1 {#text} of child 0 {B} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 1 of child 1 {#text} of child 0 {B} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.png b/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.png
index 204e4c7..4898c50 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.txt b/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.txt
new file mode 100644
index 0000000..8760e7b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-002-expected.txt
@@ -0,0 +1,38 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > B > DIV > DIV > BODY > HTML > #document to 1 of #text > B > DIV > DIV > BODY > HTML > #document toDOMRange:range from 2 of #text > B > DIV > DIV > BODY > HTML > #document to 2 of #text > B > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x148 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
+            text run at (0,0) width 67: "Tests: "
+          RenderBR {BR} at (0,0) size 0x0
+          RenderText {#text} at (0,26) size 600x26
+            text run at (0,26) width 600: "Style checks performed on boundaries between style changes."
+        RenderBlock {DIV} at (14,82) size 756x52
+          RenderText {#text} at (0,0) size 189x26
+            text run at (0,0) width 189: "Expected Results: "
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 442x26
+            text run at (0,26) width 442: "Should see this content in the red box below: "
+          RenderInline {B} at (0,0) size 25x26
+            RenderText {#text} at (442,26) size 25x26
+              text run at (442,26) width 25: "ab"
+          RenderText {#text} at (467,26) size 11x26
+            text run at (467,26) width 11: "c"
+      RenderBlock {DIV} at (0,172) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {B} at (0,0) size 25x26
+            RenderText {#text} at (2,2) size 25x26
+              text run at (2,2) width 25: "ab"
+          RenderText {#text} at (27,2) size 11x26
+            text run at (27,2) width 11: "c"
+caret: position 2 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.png b/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.png
index 6424364..fb44f06 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.txt b/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.txt
new file mode 100644
index 0000000..b0f0882
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-003-expected.txt
@@ -0,0 +1,41 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 1 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 1 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x148 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
+            text run at (0,0) width 67: "Tests: "
+          RenderBR {BR} at (0,0) size 0x0
+          RenderText {#text} at (0,26) size 600x26
+            text run at (0,26) width 600: "Style checks performed on boundaries between style changes."
+        RenderBlock {DIV} at (14,82) size 756x52
+          RenderText {#text} at (0,0) size 189x26
+            text run at (0,0) width 189: "Expected Results: "
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 442x26
+            text run at (0,26) width 442: "Should see this content in the red box below: "
+          RenderInline {B} at (0,0) size 12x26
+            RenderText {#text} at (442,26) size 12x26
+              text run at (442,26) width 12: "a"
+          RenderText {#text} at (454,26) size 23x26
+            text run at (454,26) width 23: "bc"
+      RenderBlock {DIV} at (0,172) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderInline {B} at (0,0) size 12x26
+            RenderText {#text} at (2,2) size 12x26
+              text run at (2,2) width 12: "a"
+          RenderText {#text} at (14,2) size 12x26
+            text run at (14,2) width 12: "b"
+          RenderText {#text} at (26,2) size 11x26
+            text run at (26,2) width 11: "c"
+caret: position 1 of child 1 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.png b/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.png
index ae09bb1..08bdd82 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.txt b/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.txt
index c0b7ed3..04b2b5f 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-004-expected.txt
@@ -12,40 +12,40 @@
 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 784x212 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x200 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 600x28
-            text run at (0,28) width 600: "Style checks performed on boundaries between style changes."
-        RenderBlock {DIV} at (14,86) size 756x112
-          RenderBlock (anonymous) at (0,0) size 756x56
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 600x26
+            text run at (0,26) width 600: "Style checks performed on boundaries between style changes."
+        RenderBlock {DIV} at (14,82) size 756x104
+          RenderBlock (anonymous) at (0,0) size 756x52
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 436x28
-              text run at (0,28) width 436: "Should see this content in the red box below:"
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 436x26
+              text run at (0,26) width 436: "Should see this content in the red box below:"
             RenderInline {B} at (0,0) size 0x0
-          RenderBlock (anonymous) at (0,56) size 756x56
-            RenderBlock {DIV} at (0,0) size 756x28
-              RenderText {#text} at (0,0) size 12x28
+          RenderBlock (anonymous) at (0,52) size 756x52
+            RenderBlock {DIV} at (0,0) size 756x26
+              RenderText {#text} at (0,0) size 12x26
                 text run at (0,0) width 12: "a"
-            RenderBlock {DIV} at (0,28) size 756x28
-              RenderText {#text} at (0,0) size 13x28
+            RenderBlock {DIV} at (0,26) size 756x26
+              RenderText {#text} at (0,0) size 13x26
                 text run at (0,0) width 13: "b"
-          RenderBlock (anonymous) at (0,112) size 756x0
+          RenderBlock (anonymous) at (0,104) size 756x0
             RenderInline {B} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
-      RenderBlock {DIV} at (0,236) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderBlock {DIV} at (2,2) size 780x28
-            RenderInline {B} at (0,0) size 12x28
-              RenderText {#text} at (0,0) size 12x28
+      RenderBlock {DIV} at (0,224) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderBlock {DIV} at (2,2) size 780x26
+            RenderInline {B} at (0,0) size 12x26
+              RenderText {#text} at (0,0) size 12x26
                 text run at (0,0) width 12: "a"
-          RenderBlock {DIV} at (2,30) size 780x28
-            RenderInline {B} at (0,0) size 13x28
-              RenderText {#text} at (0,0) size 13x28
+          RenderBlock {DIV} at (2,28) size 780x26
+            RenderInline {B} at (0,0) size 13x26
+              RenderText {#text} at (0,0) size 13x26
                 text run at (0,0) width 13: "b"
 selection start: position 1 of child 0 {#text} of child 0 {B} of child 0 {DIV} of child 1 {DIV} of child 3 {DIV} of body
 selection end:   position 1 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.png b/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.png
index 84f6a50..e671d8a 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.txt b/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.txt
index ec7c507..23d26d7 100644
--- a/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/style-boundary-005-expected.txt
@@ -32,38 +32,38 @@
 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 784x184 [border: (2px solid #0000FF)]
-        RenderBlock {DIV} at (14,14) size 756x56
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x174 [border: (2px solid #0000FF)]
+        RenderBlock {DIV} at (14,14) size 756x52
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 698x28
-            text run at (0,28) width 698: "Pasting at style boundary does not crash or produce empty style span(s)."
-        RenderBlock {DIV} at (14,86) size 756x84
-          RenderBlock (anonymous) at (0,0) size 756x56
-            RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 698x26
+            text run at (0,26) width 698: "Pasting at style boundary does not crash or produce empty style span(s)."
+        RenderBlock {DIV} at (14,82) size 756x78
+          RenderBlock (anonymous) at (0,0) size 756x52
+            RenderText {#text} at (0,0) size 189x26
               text run at (0,0) width 189: "Expected Results: "
-            RenderBR {BR} at (189,22) size 0x0
-            RenderText {#text} at (0,28) size 442x28
-              text run at (0,28) width 442: "Should see this content in the red box below: "
-            RenderBR {BR} at (442,50) size 0x0
-          RenderBlock {DIV} at (0,56) size 756x28
-            RenderText {#text} at (0,0) size 138x28
+            RenderBR {BR} at (189,21) size 0x0
+            RenderText {#text} at (0,26) size 442x26
+              text run at (0,26) width 442: "Should see this content in the red box below: "
+            RenderBR {BR} at (442,47) size 0x0
+          RenderBlock {DIV} at (0,52) size 756x26
+            RenderText {#text} at (0,0) size 138x26
               text run at (0,0) width 138: "one two three "
-            RenderInline {B} at (0,0) size 44x28
-              RenderText {#text} at (138,0) size 44x28
+            RenderInline {B} at (0,0) size 44x26
+              RenderText {#text} at (138,0) size 44x26
                 text run at (138,0) width 44: "four"
-            RenderText {#text} at (182,0) size 35x28
+            RenderText {#text} at (182,0) size 35x26
               text run at (182,0) width 35: "one"
-      RenderBlock {DIV} at (0,208) size 784x22
-        RenderBlock {DIV} at (0,0) size 784x22 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 86x19
+      RenderBlock {DIV} at (0,198) size 784x21
+        RenderBlock {DIV} at (0,0) size 784x21 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 86x17
             text run at (2,2) width 86: "one two three"
-          RenderInline {B} at (0,0) size 33x19
-            RenderText {#text} at (88,2) size 33x19
+          RenderInline {B} at (0,0) size 33x17
+            RenderText {#text} at (88,2) size 33x17
               text run at (88,2) width 33: " four"
-          RenderText {#text} at (121,2) size 23x19
+          RenderText {#text} at (121,2) size 23x17
             text run at (121,2) width 23: "one"
-        RenderBlock (anonymous) at (0,22) size 784x0
+        RenderBlock (anonymous) at (0,21) size 784x0
           RenderText {#text} at (0,0) size 0x0
 caret: position 3 of child 2 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/table-selection-expected.png b/LayoutTests/platform/gtk/editing/style/table-selection-expected.png
index 3e6559f..2eedb7b 100644
--- a/LayoutTests/platform/gtk/editing/style/table-selection-expected.png
+++ b/LayoutTests/platform/gtk/editing/style/table-selection-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/table-selection-expected.txt b/LayoutTests/platform/gtk/editing/style/table-selection-expected.txt
index fb676aa..ff570ad 100644
--- a/LayoutTests/platform/gtk/editing/style/table-selection-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/table-selection-expected.txt
@@ -13,16 +13,16 @@
 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 784x78 [border: (2px solid #FF0000)]
-        RenderTable {TABLE} at (14,14) size 30x50
-          RenderTableSection {TBODY} at (0,0) size 30x50
-            RenderTableRow {TR} at (0,2) size 30x22
-              RenderTableCell {TD} at (2,2) size 26x22 [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 24x20
+      RenderBlock {DIV} at (0,0) size 784x76 [border: (2px solid #FF0000)]
+        RenderTable {TABLE} at (14,14) size 30x48
+          RenderTableSection {TBODY} at (0,0) size 30x48
+            RenderTableRow {TR} at (0,2) size 30x21
+              RenderTableCell {TD} at (2,2) size 26x21 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 24x19
                   text run at (1,1) width 24: "foo"
-            RenderTableRow {TR} at (0,26) size 30x22
-              RenderTableCell {TD} at (2,26) size 26x22 [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (1,1) size 24x20
+            RenderTableRow {TR} at (0,25) size 30x21
+              RenderTableCell {TD} at (2,25) size 26x21 [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 24x19
                   text run at (1,1) width 24: "bar"
 selection start: position 1 of child 0 {#text} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 1 {TABLE} of child 1 {DIV} of body
 selection end:   position 2 of child 1 {TABLE} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/typing-style-001-expected.png b/LayoutTests/platform/gtk/editing/style/typing-style-001-expected.png
new file mode 100644
index 0000000..906aaf0
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/typing-style-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/typing-style-001-expected.txt b/LayoutTests/platform/gtk/editing/style/typing-style-001-expected.txt
new file mode 100644
index 0000000..4d2e8d9
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/typing-style-001-expected.txt
@@ -0,0 +1,60 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 3 of #text > I > SPAN > DIV > BODY > HTML > #document to 4 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 2 of #text > I > SPAN > DIV > BODY > HTML > #document to 3 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > I > SPAN > DIV > BODY > HTML > #document to 2 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 0 of #text > I > SPAN > DIV > BODY > HTML > #document to 1 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 8 of #text > SPAN > DIV > BODY > HTML > #document to 8 of #text > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 8 of #text > SPAN > DIV > BODY > HTML > #document to 8 of #text > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 7 of #text > SPAN > DIV > BODY > HTML > #document to 8 of #text > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 7 of #text > SPAN > DIV > BODY > HTML > #document to 7 of #text > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 8 of #text > SPAN > DIV > BODY > HTML > #document to 8 of #text > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 8 of #text > SPAN > DIV > BODY > HTML > #document to 8 of #text > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 9 of #text > SPAN > DIV > BODY > HTML > #document to 9 of #text > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 9 of #text > SPAN > DIV > BODY > HTML > #document to 9 of #text > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 10 of #text > SPAN > DIV > BODY > HTML > #document to 10 of #text > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 10 of #text > SPAN > DIV > BODY > HTML > #document to 10 of #text > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 11 of #text > SPAN > DIV > BODY > HTML > #document to 11 of #text > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 155x26
+          RenderText {#text} at (14,14) size 112x26
+            text run at (14,14) width 112: "here isxxxx"
+          RenderText {#text} at (126,14) size 43x26
+            text run at (126,14) width 43: " text"
+        RenderText {#text} at (0,0) size 0x0
+caret: position 11 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/typing-style-002-expected.png b/LayoutTests/platform/gtk/editing/style/typing-style-002-expected.png
new file mode 100644
index 0000000..b502119
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/typing-style-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/typing-style-002-expected.txt b/LayoutTests/platform/gtk/editing/style/typing-style-002-expected.txt
new file mode 100644
index 0000000..549aea6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/typing-style-002-expected.txt
@@ -0,0 +1,55 @@
+EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 3 of #text > I > SPAN > DIV > BODY > HTML > #document to 4 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 2 of #text > I > SPAN > DIV > BODY > HTML > #document to 3 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldDeleteDOMRange:range from 1 of #text > I > SPAN > DIV > BODY > HTML > #document to 2 of #text > I > SPAN > DIV > BODY > HTML > #document
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > I > SPAN > DIV > BODY > HTML > #document to 1 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 2 of #text > I > SPAN > DIV > BODY > HTML > #document to 2 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 2 of #text > I > SPAN > DIV > BODY > HTML > #document to 2 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > I > SPAN > DIV > BODY > HTML > #document to 3 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 3 of #text > I > SPAN > DIV > BODY > HTML > #document to 3 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 4 of #text > I > SPAN > DIV > BODY > HTML > #document to 4 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 4 of #text > I > SPAN > DIV > BODY > HTML > #document to 4 of #text > I > SPAN > DIV > BODY > HTML > #document toDOMRange:range from 5 of #text > I > SPAN > DIV > BODY > HTML > #document to 5 of #text > I > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+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 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 166x26
+          RenderText {#text} at (14,14) size 70x26
+            text run at (14,14) width 70: "here is "
+          RenderInline {I} at (0,0) size 53x26
+            RenderText {#text} at (84,14) size 53x26
+              text run at (84,14) width 53: "sxxxx"
+          RenderText {#text} at (137,14) size 43x26
+            text run at (137,14) width 43: " text"
+        RenderText {#text} at (0,0) size 0x0
+caret: position 5 of child 0 {#text} of child 1 {I} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.png b/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.png
new file mode 100644
index 0000000..6b0dbf6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.txt b/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.txt
index 768b8e9..16f8952 100644
--- a/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.txt
+++ b/LayoutTests/platform/gtk/editing/style/unbold-in-bold-expected.txt
@@ -76,15 +76,15 @@
 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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {B} at (0,0) size 78x28
-          RenderText {#text} at (14,14) size 78x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {B} at (0,0) size 78x26
+          RenderText {#text} at (14,14) size 78x26
             text run at (14,14) width 78: "xxxxxx "
-        RenderText {#text} at (92,14) size 72x28
+        RenderText {#text} at (92,14) size 72x26
           text run at (92,14) width 72: "xxxxxx"
-        RenderInline {B} at (0,0) size 78x28
-          RenderText {#text} at (164,14) size 78x28
+        RenderInline {B} at (0,0) size 78x26
+          RenderText {#text} at (164,14) size 78x26
             text run at (164,14) width 78: " xxxxxx"
-        RenderInline {SPAN} at (0,0) size 0x28
+        RenderInline {SPAN} at (0,0) size 0x26
 selection start: position 0 of child 1 {#text} of child 1 {DIV} of body
 selection end:   position 6 of child 1 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/4063751-expected.png b/LayoutTests/platform/gtk/editing/undo/4063751-expected.png
new file mode 100644
index 0000000..2f973f4
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/4063751-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/4063751-expected.txt b/LayoutTests/platform/gtk/editing/undo/4063751-expected.txt
index 3953542..c9151cf 100644
--- a/LayoutTests/platform/gtk/editing/undo/4063751-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/4063751-expected.txt
@@ -98,15 +98,15 @@
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {P} at (0,0) size 784x18
-        RenderText {#text} at (0,0) size 314x19
+      RenderBlock {P} at (0,0) size 784x17
+        RenderText {#text} at (0,0) size 314x17
           text run at (0,0) width 314: "This tests RebalanceWhitespace's ability to Undo."
-      RenderBlock {P} at (0,34) size 784x18
-        RenderText {#text} at (0,0) size 328x19
+      RenderBlock {P} at (0,33) size 784x17
+        RenderText {#text} at (0,0) size 328x17
           text run at (0,0) width 328: "You should see \"( this is a test. )\", minus the quotes."
-      RenderBlock {HR} at (0,68) size 784x2 [border: (1px inset #000000)]
-      RenderBlock {DIV} at (0,78) size 784x26 [border: (2px solid #FFAAAA)]
-        RenderBlock {DIV} at (2,2) size 780x22 [border: (2px solid #AAAAFF)]
-          RenderText {#text} at (2,2) size 94x19
+      RenderBlock {HR} at (0,66) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,76) size 784x25 [border: (2px solid #FFAAAA)]
+        RenderBlock {DIV} at (2,2) size 780x21 [border: (2px solid #AAAAFF)]
+          RenderText {#text} at (2,2) size 94x17
             text run at (2,2) width 94: "( this is a test. )"
 caret: position 18 of child 0 {#text} of child 1 {DIV} of child 7 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/5378473-expected.png b/LayoutTests/platform/gtk/editing/undo/5378473-expected.png
new file mode 100644
index 0000000..aba1d30
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/5378473-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/5378473-expected.txt b/LayoutTests/platform/gtk/editing/undo/5378473-expected.txt
index ad49ee5..b6a1162 100644
--- a/LayoutTests/platform/gtk/editing/undo/5378473-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/5378473-expected.txt
@@ -3,5 +3,5 @@
 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 784x18
+      RenderBlock {DIV} at (0,0) size 784x17
 caret: position 0 of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.png b/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.png
new file mode 100644
index 0000000..3364979
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.txt b/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.txt
index dbf9b92..d24819d 100644
--- a/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/redo-typing-001-expected.txt
@@ -15,9 +15,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 46x28
-          RenderText {#text} at (14,14) size 46x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 46x26
+          RenderText {#text} at (14,14) size 46x26
             text run at (14,14) width 46: "xXX"
         RenderText {#text} at (0,0) size 0x0
 caret: position 1 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.png
new file mode 100644
index 0000000..25a1ec6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.txt
index c37af1e..189d35c 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-boundary-expected.txt
@@ -27,17 +27,17 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 731x56
-          RenderText {#text} at (14,14) size 78x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 731x52
+          RenderText {#text} at (14,14) size 78x26
             text run at (14,14) width 78: "This wo"
-          RenderInline {B} at (0,0) size 30x28
-            RenderText {#text} at (92,14) size 30x28
+          RenderInline {B} at (0,0) size 30x26
+            RenderText {#text} at (92,14) size 30x26
               text run at (92,14) width 30: "rd "
-          RenderText {#text} at (122,14) size 731x56
+          RenderText {#text} at (122,14) size 731x52
             text run at (122,14) width 617: "should be selected, since the test deleted it a character at a time"
             text run at (739,14) width 6: " "
-            text run at (14,42) width 209: "and then did an undo."
+            text run at (14,40) width 209: "and then did an undo."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 1 {B} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.png
new file mode 100644
index 0000000..1137f3c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.txt
index f63f08c..c3631e4 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-combined-delete-expected.txt
@@ -27,12 +27,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 727x56
-          RenderText {#text} at (14,14) size 727x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 727x52
+          RenderText {#text} at (14,14) size 727x52
             text run at (14,14) width 721: "This word should be selected, since the test deleted it a character at a time"
             text run at (735,14) width 6: " "
-            text run at (14,42) width 209: "and then did an undo."
+            text run at (14,40) width 209: "and then did an undo."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 9 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.png
new file mode 100644
index 0000000..25a1ec6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.txt
index e06372e..cade023 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-delete-boundary-expected.txt
@@ -28,17 +28,17 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 731x56
-          RenderText {#text} at (14,14) size 78x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 731x52
+          RenderText {#text} at (14,14) size 78x26
             text run at (14,14) width 78: "This wo"
-          RenderInline {B} at (0,0) size 30x28
-            RenderText {#text} at (92,14) size 30x28
+          RenderInline {B} at (0,0) size 30x26
+            RenderText {#text} at (92,14) size 30x26
               text run at (92,14) width 30: "rd "
-          RenderText {#text} at (122,14) size 731x56
+          RenderText {#text} at (122,14) size 731x52
             text run at (122,14) width 617: "should be selected, since the test deleted it a character at a time"
             text run at (739,14) width 6: " "
-            text run at (14,42) width 209: "and then did an undo."
+            text run at (14,40) width 209: "and then did an undo."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 1 {B} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.png
new file mode 100644
index 0000000..1137f3c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.txt
index 8d0f8c5..a583979 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-delete-expected.txt
@@ -27,12 +27,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 727x56
-          RenderText {#text} at (14,14) size 727x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 727x52
+          RenderText {#text} at (14,14) size 727x52
             text run at (14,14) width 721: "This word should be selected, since the test deleted it a character at a time"
             text run at (735,14) width 6: " "
-            text run at (14,42) width 209: "and then did an undo."
+            text run at (14,40) width 209: "and then did an undo."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 9 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.png
new file mode 100644
index 0000000..25a1ec6
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.txt
index bdb1ace..97db6c4 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-boundary-expected.txt
@@ -23,17 +23,17 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 731x56
-          RenderText {#text} at (14,14) size 78x28
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 731x52
+          RenderText {#text} at (14,14) size 78x26
             text run at (14,14) width 78: "This wo"
-          RenderInline {B} at (0,0) size 30x28
-            RenderText {#text} at (92,14) size 30x28
+          RenderInline {B} at (0,0) size 30x26
+            RenderText {#text} at (92,14) size 30x26
               text run at (92,14) width 30: "rd "
-          RenderText {#text} at (122,14) size 731x56
+          RenderText {#text} at (122,14) size 731x52
             text run at (122,14) width 617: "should be selected, since the test deleted it a character at a time"
             text run at (739,14) width 6: " "
-            text run at (14,42) width 209: "and then did an undo."
+            text run at (14,40) width 209: "and then did an undo."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 2 of child 0 {#text} of child 1 {B} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.png
new file mode 100644
index 0000000..1137f3c
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.txt
index f295f78..5fed4c4 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-forward-delete-expected.txt
@@ -23,12 +23,12 @@
 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 #FF0000)]
-        RenderInline {SPAN} at (0,0) size 727x56
-          RenderText {#text} at (14,14) size 727x56
+      RenderBlock {DIV} at (0,0) size 784x80 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 727x52
+          RenderText {#text} at (14,14) size 727x52
             text run at (14,14) width 721: "This word should be selected, since the test deleted it a character at a time"
             text run at (735,14) width 6: " "
-            text run at (14,42) width 209: "and then did an undo."
+            text run at (14,40) width 209: "and then did an undo."
         RenderText {#text} at (0,0) size 0x0
 selection start: position 5 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
 selection end:   position 9 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.png
new file mode 100644
index 0000000..aba1d30
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.txt
index 6d0eefd..d56eaef 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-misspellings-expected.txt
@@ -38,5 +38,5 @@
 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 784x18
+      RenderBlock {DIV} at (0,0) size 784x17
 caret: position 0 of child 0 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.png b/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.png
index d2dc5a9..921bada 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.txt b/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.txt
index 0a1e87c..af390a8 100644
--- a/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/undo/undo-typing-001-expected.txt
@@ -12,9 +12,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 784x56 [border: (2px solid #FF0000)]
-        RenderInline {SPAN} at (0,0) size 34x28
-          RenderText {#text} at (14,14) size 34x28
+      RenderBlock {DIV} at (0,0) size 784x54 [border: (2px solid #FF0000)]
+        RenderInline {SPAN} at (0,0) size 34x26
+          RenderText {#text} at (14,14) size 34x26
             text run at (14,14) width 34: "XX"
         RenderText {#text} at (0,0) size 0x0
 caret: position 0 of child 0 {#text} of child 1 {SPAN} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.png
index 1e36f95..d0f2533 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.txt
index d27311e..345a513 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-001-expected.txt
@@ -20,47 +20,47 @@
 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 784x243 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x232 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 168x21
-            text run at (99,49) width 168: "Select and delete a list."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 168x20
+            text run at (99,46) width 168: "Select and delete a list."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x106
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 708x42
-            text run at (99,70) width 609: "Only list content should get deleted. Surrounding content that is not selected should"
-            text run at (0,91) width 201: "(obviously) not be affected."
-      RenderBlock {DIV} at (0,253) size 784x32 [border: (2px solid #008000)]
-        RenderText {#text} at (2,2) size 107x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 708x40
+            text run at (99,66) width 609: "Only list content should get deleted. Surrounding content that is not selected should"
+            text run at (0,86) width 201: "(obviously) not be affected."
+      RenderBlock {DIV} at (0,242) size 784x30 [border: (2px solid #008000)]
+        RenderText {#text} at (2,2) size 107x26
           text run at (2,2) width 107: "beforeafter"
-      RenderBlock {DIV} at (0,295) size 784x108
-        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 62x28
+      RenderBlock {DIV} at (0,282) size 784x104
+        RenderBlock {DIV} at (0,0) size 784x104 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 62x26
               text run at (0,0) width 62: "before"
-          RenderBlock {UL} at (2,54) size 780x28
-            RenderListItem {LI} at (40,0) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 45x28
+          RenderBlock {UL} at (2,52) size 780x26
+            RenderListItem {LI} at (40,0) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 45x26
                 text run at (0,0) width 45: "after"
-          RenderBlock (anonymous) at (2,106) size 780x0
+          RenderBlock (anonymous) at (2,102) size 780x0
 caret: position 0 of child 0 {#text} of child 1 {LI} of child 1 {UL} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.png
index 490f20c..b904e42 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.txt
index 855992a..325effb 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-delete-003-expected.txt
@@ -20,41 +20,41 @@
 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 784x243 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x232 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 392x21
-            text run at (99,49) width 392: "Select and delete a list and some surrounding content."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 392x20
+            text run at (99,46) width 392: "Select and delete a list and some surrounding content."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x106
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 744x42
-            text run at (99,70) width 304: "Only selected content should get deleted. "
-            text run at (403,70) width 341: "Surrounding content that is not selected should"
-            text run at (0,91) width 201: "(obviously) not be affected."
-      RenderBlock {DIV} at (0,253) size 784x32 [border: (2px solid #008000)]
-        RenderText {#text} at (2,2) size 45x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 744x40
+            text run at (99,66) width 304: "Only selected content should get deleted. "
+            text run at (403,66) width 341: "Surrounding content that is not selected should"
+            text run at (0,86) width 201: "(obviously) not be affected."
+      RenderBlock {DIV} at (0,242) size 784x30 [border: (2px solid #008000)]
+        RenderText {#text} at (2,2) size 45x26
           text run at (2,2) width 45: "after"
-      RenderBlock {DIV} at (0,295) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 45x28
+      RenderBlock {DIV} at (0,282) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 45x26
             text run at (2,2) width 45: "after"
 caret: position 0 of child 0 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.png
index e144406..fe9a340 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.txt
index 0fbf280..4dc4fc2 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-after-expected.txt
@@ -18,61 +18,61 @@
 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 784x222 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x212 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 223x21
-            text run at (99,49) width 223: "Test typing at the end of a list."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x91
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 223x20
+            text run at (99,46) width 223: "Test typing at the end of a list."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x86
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 424x21
-            text run at (99,70) width 424: "Typed text should appear after (on the line below) the list."
-      RenderBlock {DIV} at (0,232) size 784x136 [border: (2px solid #008000)]
-        RenderBlock {UL} at (2,26) size 780x84
-          RenderListItem {LI} at (40,0) size 740x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 78x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 424x20
+            text run at (99,66) width 424: "Typed text should appear after (on the line below) the list."
+      RenderBlock {DIV} at (0,222) size 784x130 [border: (2px solid #008000)]
+        RenderBlock {UL} at (2,26) size 780x78
+          RenderListItem {LI} at (40,0) size 740x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 78x26
               text run at (0,0) width 78: "line one"
-          RenderListItem {LI} at (40,28) size 740x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 79x28
+          RenderListItem {LI} at (40,26) size 740x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 79x26
               text run at (0,0) width 79: "line two"
-          RenderListItem {LI} at (40,56) size 740x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 128x28
+          RenderListItem {LI} at (40,52) size 740x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 128x26
               text run at (0,0) width 128: "line threexxx"
-      RenderBlock {DIV} at (0,378) size 784x136
-        RenderBlock {DIV} at (0,0) size 784x136 [border: (2px solid #FF0000)]
-          RenderBlock {UL} at (2,26) size 780x84
-            RenderListItem {LI} at (40,0) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 78x28
+      RenderBlock {DIV} at (0,362) size 784x130
+        RenderBlock {DIV} at (0,0) size 784x130 [border: (2px solid #FF0000)]
+          RenderBlock {UL} at (2,26) size 780x78
+            RenderListItem {LI} at (40,0) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 78x26
                 text run at (0,0) width 78: "line one"
-            RenderListItem {LI} at (40,28) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 79x28
+            RenderListItem {LI} at (40,26) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 79x26
                 text run at (0,0) width 79: "line two"
-            RenderListItem {LI} at (40,56) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 128x28
+            RenderListItem {LI} at (40,52) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 128x26
                 text run at (0,0) width 128: "line threexxx"
 caret: position 13 of child 0 {#text} of child 5 {LI} of child 1 {UL} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.png
index cb4012c..d947fc5 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.txt
index b002922..2a71e14 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/list-type-before-expected.txt
@@ -15,61 +15,61 @@
 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 784x222 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x212 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 228x21
-            text run at (99,49) width 228: "Test typing at the start of a list."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x91
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 228x20
+            text run at (99,46) width 228: "Test typing at the start of a list."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x86
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 415x21
-            text run at (99,70) width 415: "Typed text should appear at the start of the first list item."
-      RenderBlock {DIV} at (0,232) size 784x136 [border: (2px solid #008000)]
-        RenderBlock {UL} at (2,26) size 780x84
-          RenderListItem {LI} at (40,0) size 740x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 114x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 415x20
+            text run at (99,66) width 415: "Typed text should appear at the start of the first list item."
+      RenderBlock {DIV} at (0,222) size 784x130 [border: (2px solid #008000)]
+        RenderBlock {UL} at (2,26) size 780x78
+          RenderListItem {LI} at (40,0) size 740x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 114x26
               text run at (0,0) width 114: "xxxline one"
-          RenderListItem {LI} at (40,28) size 740x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 79x28
+          RenderListItem {LI} at (40,26) size 740x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 79x26
               text run at (0,0) width 79: "line two"
-          RenderListItem {LI} at (40,56) size 740x28
-            RenderListMarker at (-22,0) size 9x28: bullet
-            RenderText {#text} at (0,0) size 92x28
+          RenderListItem {LI} at (40,52) size 740x26
+            RenderListMarker at (-22,0) size 9x26: bullet
+            RenderText {#text} at (0,0) size 92x26
               text run at (0,0) width 92: "line three"
-      RenderBlock {DIV} at (0,378) size 784x136
-        RenderBlock {DIV} at (0,0) size 784x136 [border: (2px solid #FF0000)]
-          RenderBlock {UL} at (2,26) size 780x84
-            RenderListItem {LI} at (40,0) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 114x28
+      RenderBlock {DIV} at (0,362) size 784x130
+        RenderBlock {DIV} at (0,0) size 784x130 [border: (2px solid #FF0000)]
+          RenderBlock {UL} at (2,26) size 780x78
+            RenderListItem {LI} at (40,0) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 114x26
                 text run at (0,0) width 114: "xxxline one"
-            RenderListItem {LI} at (40,28) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 79x28
+            RenderListItem {LI} at (40,26) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 79x26
                 text run at (0,0) width 79: "line two"
-            RenderListItem {LI} at (40,56) size 740x28
-              RenderListMarker at (-22,0) size 9x28: bullet
-              RenderText {#text} at (0,0) size 92x28
+            RenderListItem {LI} at (40,52) size 740x26
+              RenderListMarker at (-22,0) size 9x26: bullet
+              RenderText {#text} at (0,0) size 92x26
                 text run at (0,0) width 92: "line three"
 caret: position 3 of child 0 {#text} of child 1 {LI} of child 1 {UL} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.png
index a46e9f0..df2430c 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.txt
index 367f608..92e9d7d 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-001-expected.txt
@@ -29,43 +29,43 @@
 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 784x243 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x232 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 181x21
-            text run at (99,49) width 181: "Select and delete a table."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 181x20
+            text run at (99,46) width 181: "Select and delete a table."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x106
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 663x42
-            text run at (99,70) width 564: "Only table should get deleted. Surrounding content that is not selected should"
-            text run at (0,91) width 201: "(obviously) not be affected."
-      RenderBlock {DIV} at (0,253) size 784x32 [border: (2px solid #008000)]
-        RenderText {#text} at (2,2) size 107x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 663x40
+            text run at (99,66) width 564: "Only table should get deleted. Surrounding content that is not selected should"
+            text run at (0,86) width 201: "(obviously) not be affected."
+      RenderBlock {DIV} at (0,242) size 784x30 [border: (2px solid #008000)]
+        RenderText {#text} at (2,2) size 107x26
           text run at (2,2) width 107: "beforeafter"
-      RenderBlock {DIV} at (0,295) size 784x60
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 62x28
+      RenderBlock {DIV} at (0,282) size 784x56
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 62x26
             text run at (2,2) width 62: "before"
-          RenderBR {BR} at (64,24) size 0x0
-          RenderText {#text} at (2,30) size 45x28
-            text run at (2,30) width 45: "after"
+          RenderBR {BR} at (64,23) size 0x0
+          RenderText {#text} at (2,28) size 45x26
+            text run at (2,28) width 45: "after"
 caret: position 0 of child 2 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.png
index e4da539..2721a19 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.txt
index 1c10d30..79cdacb 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-002-expected.txt
@@ -26,41 +26,41 @@
 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 784x243 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x232 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 405x21
-            text run at (99,49) width 405: "Select and delete a table and some surrounding content."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x112
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 405x20
+            text run at (99,46) width 405: "Select and delete a table and some surrounding content."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x106
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 744x42
-            text run at (99,70) width 304: "Only selected content should get deleted. "
-            text run at (403,70) width 341: "Surrounding content that is not selected should"
-            text run at (0,91) width 201: "(obviously) not be affected."
-      RenderBlock {DIV} at (0,253) size 784x32 [border: (2px solid #008000)]
-        RenderText {#text} at (2,2) size 62x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 744x40
+            text run at (99,66) width 304: "Only selected content should get deleted. "
+            text run at (403,66) width 341: "Surrounding content that is not selected should"
+            text run at (0,86) width 201: "(obviously) not be affected."
+      RenderBlock {DIV} at (0,242) size 784x30 [border: (2px solid #008000)]
+        RenderText {#text} at (2,2) size 62x26
           text run at (2,2) width 62: "before"
-      RenderBlock {DIV} at (0,295) size 784x32
-        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
-          RenderText {#text} at (2,2) size 62x28
+      RenderBlock {DIV} at (0,282) size 784x30
+        RenderBlock {DIV} at (0,0) size 784x30 [border: (2px solid #FF0000)]
+          RenderText {#text} at (2,2) size 62x26
             text run at (2,2) width 62: "before"
 caret: position 7 of child 0 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.png
index 173feac..88e92df 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.txt
index c7c4ca9..6a41d59 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-delete-003-expected.txt
@@ -20,56 +20,56 @@
 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 784x264 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x252 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 392x21
-            text run at (99,49) width 392: "Select and delete a list and some surrounding content."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x133
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 392x20
+            text run at (99,46) width 392: "Select and delete a list and some surrounding content."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x126
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 744x42
-            text run at (99,70) width 304: "Only selected content should get deleted. "
-            text run at (403,70) width 341: "Surrounding content that is not selected should"
-            text run at (0,91) width 206: "(obviously) not be affected. "
-          RenderBR {BR} at (206,108) size 0x0
-          RenderInline {B} at (0,0) size 718x21
-            RenderText {#text} at (0,112) size 718x21
-              text run at (0,112) width 718: "There is a bug: the caret ends up in the wrong position, it should be in the empty paragraph."
-        RenderBlock (anonymous) at (20,244) size 744x0
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 744x40
+            text run at (99,66) width 304: "Only selected content should get deleted. "
+            text run at (403,66) width 341: "Surrounding content that is not selected should"
+            text run at (0,86) width 206: "(obviously) not be affected. "
+          RenderBR {BR} at (206,102) size 0x0
+          RenderInline {B} at (0,0) size 718x20
+            RenderText {#text} at (0,106) size 718x20
+              text run at (0,106) width 718: "There is a bug: the caret ends up in the wrong position, it should be in the empty paragraph."
+        RenderBlock (anonymous) at (20,232) size 744x0
           RenderInline {B} at (0,0) size 0x0
             RenderText {#text} at (0,0) size 0x0
-      RenderBlock (anonymous) at (0,274) size 784x0
+      RenderBlock (anonymous) at (0,262) size 784x0
         RenderInline {B} at (0,0) size 0x0
           RenderText {#text} at (0,0) size 0x0
-      RenderBlock (anonymous) at (0,274) size 784x130
-        RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #008000)]
-          RenderBR {BR} at (2,2) size 0x28
-          RenderText {#text} at (2,30) size 50x28
-            text run at (2,30) width 50: "after"
-        RenderBlock {DIV} at (0,70) size 784x60
-          RenderBlock {DIV} at (0,0) size 784x60 [border: (2px solid #FF0000)]
-            RenderBR {BR} at (2,2) size 0x28
-            RenderText {#text} at (2,30) size 50x28
-              text run at (2,30) width 50: "after"
-      RenderBlock (anonymous) at (0,404) size 784x0
+      RenderBlock (anonymous) at (0,262) size 784x122
+        RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #008000)]
+          RenderBR {BR} at (2,2) size 0x26
+          RenderText {#text} at (2,28) size 50x26
+            text run at (2,28) width 50: "after"
+        RenderBlock {DIV} at (0,66) size 784x56
+          RenderBlock {DIV} at (0,0) size 784x56 [border: (2px solid #FF0000)]
+            RenderBR {BR} at (2,2) size 0x26
+            RenderText {#text} at (2,28) size 50x26
+              text run at (2,28) width 50: "after"
+      RenderBlock (anonymous) at (0,384) size 784x0
         RenderInline {B} at (0,0) size 0x0
 caret: position 0 of child 1 {#text} of child 1 {DIV} of child 3 {DIV} of child 2 {B} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.png
index 0a94906..f338378 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.txt
index 5626dab..52790ce 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-after-expected.txt
@@ -25,105 +25,105 @@
 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 784x222 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x212 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 178x21
-            text run at (99,49) width 178: "Test typing after a table."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x91
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 178x20
+            text run at (99,46) width 178: "Test typing after a table."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x86
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 437x21
-            text run at (99,70) width 437: "Typed text should appear after (on the line below) the table."
-      RenderBlock {DIV} at (0,232) size 784x108 [border: (2px solid #008000)]
-        RenderTable {TABLE} at (2,2) size 46x76 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 44x74
-            RenderTableRow {TR} at (0,2) size 44x22
-              RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 437x20
+            text run at (99,66) width 437: "Typed text should appear after (on the line below) the table."
+      RenderBlock {DIV} at (0,222) size 784x103 [border: (2px solid #008000)]
+        RenderTable {TABLE} at (2,2) size 46x73 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 44x71
+            RenderTableRow {TR} at (0,2) size 44x21
+              RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "1"
-              RenderTableCell {TD} at (16,2) size 12x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,2) size 12x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "2"
-              RenderTableCell {TD} at (30,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "3"
-            RenderTableRow {TR} at (0,26) size 44x22
-              RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            RenderTableRow {TR} at (0,25) size 44x21
+              RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "4"
-              RenderTableCell {TD} at (16,26) size 12x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,25) size 12x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "5"
-              RenderTableCell {TD} at (30,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "6"
-            RenderTableRow {TR} at (0,50) size 44x22
-              RenderTableCell {TD} at (2,50) size 12x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            RenderTableRow {TR} at (0,48) size 44x21
+              RenderTableCell {TD} at (2,48) size 12x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "7"
-              RenderTableCell {TD} at (16,50) size 12x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,48) size 12x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "8"
-              RenderTableCell {TD} at (30,50) size 12x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,48) size 12x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "9"
-        RenderBlock (anonymous) at (2,78) size 780x28
-          RenderText {#text} at (0,0) size 36x28
+        RenderBlock (anonymous) at (2,75) size 780x26
+          RenderText {#text} at (0,0) size 36x26
             text run at (0,0) width 36: "xxx"
-      RenderBlock {DIV} at (0,350) size 784x108
-        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
-          RenderTable {TABLE} at (2,2) size 46x76 [border: (1px outset #808080)]
-            RenderTableSection {TBODY} at (1,1) size 44x74
-              RenderTableRow {TR} at (0,2) size 44x22
-                RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+      RenderBlock {DIV} at (0,335) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x103 [border: (2px solid #FF0000)]
+          RenderTable {TABLE} at (2,2) size 46x73 [border: (1px outset #808080)]
+            RenderTableSection {TBODY} at (1,1) size 44x71
+              RenderTableRow {TR} at (0,2) size 44x21
+                RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "1"
-                RenderTableCell {TD} at (16,2) size 12x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,2) size 12x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "2"
-                RenderTableCell {TD} at (30,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (30,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "3"
-              RenderTableRow {TR} at (0,26) size 44x22
-                RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+              RenderTableRow {TR} at (0,25) size 44x21
+                RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "4"
-                RenderTableCell {TD} at (16,26) size 12x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,25) size 12x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "5"
-                RenderTableCell {TD} at (30,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (30,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "6"
-              RenderTableRow {TR} at (0,50) size 44x22
-                RenderTableCell {TD} at (2,50) size 12x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+              RenderTableRow {TR} at (0,48) size 44x21
+                RenderTableCell {TD} at (2,48) size 12x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "7"
-                RenderTableCell {TD} at (16,50) size 12x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,48) size 12x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "8"
-                RenderTableCell {TD} at (30,50) size 12x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (30,48) size 12x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "9"
-          RenderBlock (anonymous) at (2,78) size 780x28
-            RenderText {#text} at (0,0) size 36x28
+          RenderBlock (anonymous) at (2,75) size 780x26
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "xxx"
 caret: position 3 of child 2 {#text} of child 1 {DIV} of child 5 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.png b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.png
index 9e43cae..6cceb7d 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.png
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.png
Binary files differ
diff --git a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.txt b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.txt
index c60f9a6..ee86718 100644
--- a/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.txt
+++ b/LayoutTests/platform/gtk/editing/unsupported-content/table-type-before-expected.txt
@@ -15,105 +15,105 @@
 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 784x222 [border: (4px solid #0000FF)]
-        RenderBlock {DIV} at (20,20) size 744x70
-          RenderText {#text} at (0,0) size 67x28
+      RenderBlock {DIV} at (0,0) size 784x212 [border: (4px solid #0000FF)]
+        RenderBlock {DIV} at (20,20) size 744x66
+          RenderText {#text} at (0,0) size 67x26
             text run at (0,0) width 67: "Tests: "
           RenderBR {BR} at (0,0) size 0x0
-          RenderText {#text} at (0,28) size 663x21
-            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
-          RenderBR {BR} at (663,45) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,49) size 99x21
-              text run at (0,49) width 99: "For this test: "
-          RenderText {#text} at (99,49) size 191x21
-            text run at (99,49) width 191: "Test typing before a table."
-        RenderBlock (anonymous) at (20,90) size 744x21
-          RenderBR {BR} at (0,0) size 0x21
-        RenderBlock {DIV} at (20,111) size 744x91
-          RenderText {#text} at (0,0) size 189x28
+          RenderText {#text} at (0,26) size 663x20
+            text run at (0,26) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
+          RenderBR {BR} at (663,42) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,46) size 99x20
+              text run at (0,46) width 99: "For this test: "
+          RenderText {#text} at (99,46) size 191x20
+            text run at (99,46) width 191: "Test typing before a table."
+        RenderBlock (anonymous) at (20,86) size 744x20
+          RenderBR {BR} at (0,0) size 0x20
+        RenderBlock {DIV} at (20,106) size 744x86
+          RenderText {#text} at (0,0) size 189x26
             text run at (0,0) width 189: "Expected Results: "
-          RenderBR {BR} at (189,22) size 0x0
-          RenderText {#text} at (0,28) size 709x42
-            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
-            text run at (0,49) width 53: "color). "
-          RenderBR {BR} at (53,66) size 0x0
-          RenderInline {I} at (0,0) size 99x21
-            RenderText {#text} at (0,70) size 99x21
-              text run at (0,70) width 99: "For this test: "
-          RenderText {#text} at (99,70) size 449x21
-            text run at (99,70) width 449: "Typed text should appear before (on the line above) the table."
-      RenderBlock {DIV} at (0,232) size 784x108 [border: (2px solid #008000)]
-        RenderBlock (anonymous) at (2,2) size 780x28
-          RenderText {#text} at (0,0) size 36x28
+          RenderBR {BR} at (189,21) size 0x0
+          RenderText {#text} at (0,26) size 709x40
+            text run at (0,26) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
+            text run at (0,46) width 53: "color). "
+          RenderBR {BR} at (53,62) size 0x0
+          RenderInline {I} at (0,0) size 99x20
+            RenderText {#text} at (0,66) size 99x20
+              text run at (0,66) width 99: "For this test: "
+          RenderText {#text} at (99,66) size 449x20
+            text run at (99,66) width 449: "Typed text should appear before (on the line above) the table."
+      RenderBlock {DIV} at (0,222) size 784x103 [border: (2px solid #008000)]
+        RenderBlock (anonymous) at (2,2) size 780x26
+          RenderText {#text} at (0,0) size 36x26
             text run at (0,0) width 36: "xxx"
-        RenderTable {TABLE} at (2,30) size 46x76 [border: (1px outset #808080)]
-          RenderTableSection {TBODY} at (1,1) size 44x74
-            RenderTableRow {TR} at (0,2) size 44x22
-              RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+        RenderTable {TABLE} at (2,28) size 46x73 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 44x71
+            RenderTableRow {TR} at (0,2) size 44x21
+              RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "1"
-              RenderTableCell {TD} at (16,2) size 12x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,2) size 12x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "2"
-              RenderTableCell {TD} at (30,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "3"
-            RenderTableRow {TR} at (0,26) size 44x22
-              RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            RenderTableRow {TR} at (0,25) size 44x21
+              RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "4"
-              RenderTableCell {TD} at (16,26) size 12x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,25) size 12x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "5"
-              RenderTableCell {TD} at (30,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "6"
-            RenderTableRow {TR} at (0,50) size 44x22
-              RenderTableCell {TD} at (2,50) size 12x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+            RenderTableRow {TR} at (0,48) size 44x21
+              RenderTableCell {TD} at (2,48) size 12x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "7"
-              RenderTableCell {TD} at (16,50) size 12x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (16,48) size 12x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "8"
-              RenderTableCell {TD} at (30,50) size 12x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                RenderText {#text} at (2,2) size 8x19
+              RenderTableCell {TD} at (30,48) size 12x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 8x17
                   text run at (2,2) width 8: "9"
-      RenderBlock {DIV} at (0,350) size 784x108
-        RenderBlock {DIV} at (0,0) size 784x108 [border: (2px solid #FF0000)]
-          RenderBlock (anonymous) at (2,2) size 780x28
-            RenderText {#text} at (0,0) size 36x28
+      RenderBlock {DIV} at (0,335) size 784x103
+        RenderBlock {DIV} at (0,0) size 784x103 [border: (2px solid #FF0000)]
+          RenderBlock (anonymous) at (2,2) size 780x26
+            RenderText {#text} at (0,0) size 36x26
               text run at (0,0) width 36: "xxx"
-          RenderTable {TABLE} at (2,30) size 46x76 [border: (1px outset #808080)]
-            RenderTableSection {TBODY} at (1,1) size 44x74
-              RenderTableRow {TR} at (0,2) size 44x22
-                RenderTableCell {TD} at (2,2) size 12x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+          RenderTable {TABLE} at (2,28) size 46x73 [border: (1px outset #808080)]
+            RenderTableSection {TBODY} at (1,1) size 44x71
+              RenderTableRow {TR} at (0,2) size 44x21
+                RenderTableCell {TD} at (2,2) size 12x21 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "1"
-                RenderTableCell {TD} at (16,2) size 12x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,2) size 12x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "2"
-                RenderTableCell {TD} at (30,2) size 12x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (30,2) size 12x21 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "3"
-              RenderTableRow {TR} at (0,26) size 44x22
-                RenderTableCell {TD} at (2,26) size 12x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+              RenderTableRow {TR} at (0,25) size 44x21
+                RenderTableCell {TD} at (2,25) size 12x21 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "4"
-                RenderTableCell {TD} at (16,26) size 12x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,25) size 12x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "5"
-                RenderTableCell {TD} at (30,26) size 12x22 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (30,25) size 12x21 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "6"
-              RenderTableRow {TR} at (0,50) size 44x22
-                RenderTableCell {TD} at (2,50) size 12x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+              RenderTableRow {TR} at (0,48) size 44x21
+                RenderTableCell {TD} at (2,48) size 12x21 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "7"
-                RenderTableCell {TD} at (16,50) size 12x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (16,48) size 12x21 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "8"
-                RenderTableCell {TD} at (30,50) size 12x22 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
-                  RenderText {#text} at (2,2) size 8x19
+                RenderTableCell {TD} at (30,48) size 12x21 [border: (1px inset #808080)] [r=2 c=2 rs=1 cs=1]
+                  RenderText {#text} at (2,2) size 8x17
                     text run at (2,2) width 8: "9"
 caret: position 3 of child 1 {#text} of child 1 {DIV} of child 5 {DIV} of body