Reviewed by Hyatt
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Feb 2005 17:35:05 +0000 (17:35 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Feb 2005 17:35:05 +0000 (17:35 +0000)
        Fix for this bug:

        <rdar://problem/3982183> Mail's HTML paragraphs appear with unintended margins in Entourage and Eudora

        * khtml/editing/htmlediting.cpp:
        (khtml::createDefaultParagraphElement): Change element we make from <p> to <div>.
        This fixes the problem, as these other mailers show <div> elements without margins.

        Some test files needed to change to preserve the ability to "eyeball" the results.
        Many others changed just because their <p> elements changed to <div> elements.

        * layout-tests/editing/deleting/delete-3928305-fix-expected.txt
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
        * layout-tests/editing/inserting/insert-div-013-expected.txt
        * layout-tests/editing/inserting/insert-div-013.html
        * layout-tests/editing/inserting/insert-div-014-expected.txt
        * layout-tests/editing/inserting/insert-div-014.html
        * layout-tests/editing/inserting/insert-div-018-expected.txt
        * layout-tests/editing/inserting/insert-div-018.html
        * layout-tests/editing/inserting/insert-div-019-expected.txt
        * layout-tests/editing/inserting/insert-div-019.html
        * layout-tests/editing/inserting/insert-div-020-expected.txt
        * layout-tests/editing/inserting/insert-div-020.html
        * layout-tests/editing/inserting/insert-div-021-expected.txt
        * layout-tests/editing/inserting/insert-div-021.html
        * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt
        * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
        * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt
        * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt

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

20 files changed:
LayoutTests/editing/deleting/delete-3928305-fix-expected.txt
LayoutTests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
LayoutTests/editing/inserting/insert-div-013-expected.txt
LayoutTests/editing/inserting/insert-div-013.html
LayoutTests/editing/inserting/insert-div-014-expected.txt
LayoutTests/editing/inserting/insert-div-014.html
LayoutTests/editing/inserting/insert-div-018-expected.txt
LayoutTests/editing/inserting/insert-div-018.html
LayoutTests/editing/inserting/insert-div-019-expected.txt
LayoutTests/editing/inserting/insert-div-019.html
LayoutTests/editing/inserting/insert-div-020-expected.txt
LayoutTests/editing/inserting/insert-div-020.html
LayoutTests/editing/inserting/insert-div-021-expected.txt
LayoutTests/editing/inserting/insert-div-021.html
LayoutTests/editing/style/remove-underline-across-paragraph-expected.txt
LayoutTests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
LayoutTests/editing/style/remove-underline-after-paragraph-expected.txt
LayoutTests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt
WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/htmlediting.cpp

index 307c92d8d3c93d11aca23a28c220614bb69d5349..6d67fb3bfd5826b874259fe1f892a9b98043803c 100644 (file)
@@ -11,13 +11,13 @@ layer at (0,0) size 800x600
         RenderBlock {DIV} at (14,14) size 756x28
           RenderText {TEXT} at (0,0) size 32x28
             text run at (0,0) width 32: "foo"
-        RenderBlock {P} at (14,42) size 756x28
+        RenderBlock {DIV} at (14,42) size 756x28
           RenderBR {BR} at (0,0) size 0x28
         RenderBlock (anonymous) at (14,70) size 756x0
         RenderBlock {DIV} at (14,70) size 756x28
           RenderText {TEXT} at (0,0) size 34x28
             text run at (0,0) width 34: "baz"
 selection is CARET:
-start:      position 0 of child 1 {BR} of child 2 {P} of root {DIV}
-upstream:   position 0 of child 2 {P} of root {DIV}
-downstream: position 0 of child 1 {BR} of child 2 {P} of root {DIV}
+start:      position 0 of child 1 {BR} of child 2 {DIV} of root {DIV}
+upstream:   position 0 of child 2 {DIV} of root {DIV}
+downstream: position 0 of child 1 {BR} of child 2 {DIV} of root {DIV}
index c39a701b2259853dd59c1c94c2d3c0342d1eaad9..268e09c5e4ddc922f68819933894d301cd669c99 100644 (file)
@@ -24,12 +24,12 @@ layer at (0,0) size 800x600
           RenderBlock {P} at (2,2) size 780x28
             RenderText {TEXT} at (0,0) size 17x28
               text run at (0,0) width 17: "A"
-          RenderBlock {P} at (2,30) size 780x28
+          RenderBlock {DIV} at (2,30) size 780x28
             RenderBR {BR} at (0,0) size 0x28
           RenderBlock (anonymous) at (2,58) size 780x0
           RenderBlock {P} at (2,58) size 780x28
             RenderBR {BR} at (0,0) size 0x28
 selection is CARET:
-start:      position 0 of child 1 {BR} of child 3 {P} of child 1 {DIV} of root {DIV}
-upstream:   position 0 of child 3 {P} of child 1 {DIV} of root {DIV}
-downstream: position 0 of child 1 {BR} of child 3 {P} of child 1 {DIV} of root {DIV}
+start:      position 0 of child 1 {BR} of child 3 {DIV} of child 1 {DIV} of root {DIV}
+upstream:   position 0 of child 3 {DIV} of child 1 {DIV} of root {DIV}
+downstream: position 0 of child 1 {BR} of child 3 {DIV} of child 1 {DIV} of root {DIV}
index 0fb4924564bafc4cbba9aeb145fd557911ee03af..af6e10d04ad2c6ed0c1c4c7afcc199021847a8fb 100644 (file)
@@ -6,19 +6,19 @@ layer at (0,0) size 800x600
       RenderBlock (anonymous) at (0,0) size 784x28
         RenderText {TEXT} at (0,0) size 637x28
           text run at (0,0) width 637: "Test inserting paragraphs: should see empty blue box above \"bar\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
+      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
           text run at (14,14) width 34: "baz"
-      RenderBlock {P} at (0,96) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,120) size 784x56 [border: (2px solid #0000FF)]
         RenderBR {BR} at (14,14) size 0x28
-      RenderBlock (anonymous) at (0,152) size 784x28
+      RenderBlock (anonymous) at (0,176) size 784x28
         RenderText {TEXT} at (0,0) size 31x28
           text run at (0,0) width 31: "bar"
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,204) size 784x56 [border: (2px solid #FF0000)]
         RenderText {TEXT} at (14,14) size 32x28
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,260) size 784x56 [border: (2px solid #FF0000)]
         RenderBR {BR} at (14,14) size 0x28
 selection is CARET:
 start:      position 0 of child 6 {TEXT} of root {BODY}
index 3cb2bc9601414de89909f1231570fa6131c9882a..3aa91cceca74ba55981f92c800f560705177ee4d 100644 (file)
@@ -9,7 +9,7 @@ body {
     border: 2px solid red; 
     padding: 12px; 
 }
-p {
+div {
     border: 2px solid blue; 
     padding: 12px; 
 }
@@ -33,7 +33,7 @@ function editingTest() {
 
 Test inserting paragraphs: should see empty blue box above "bar"
 
-<div style="height: 12px"></div>
+<div style="border: none; height: 12px"></div>
 
 <div class="editing" id="test">baz</div>bar<div class="editing">foo</div>
 <div class="editing"><br class="khtml-block-placeholder"></div>
index 4484605874a8cc27e21364c38276c8a81a958ef2..0454db7534746b718ab055c7e19c977587e11223 100644 (file)
@@ -6,21 +6,21 @@ layer at (0,0) size 800x600
       RenderBlock (anonymous) at (0,0) size 784x28
         RenderText {TEXT} at (0,0) size 638x28
           text run at (0,0) width 638: "Test inserting paragraphs: should see empty blue box below \"bar\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock {DIV} at (0,40) size 784x56 [border: (2px solid #FF0000)]
+      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
           text run at (14,14) width 34: "baz"
-      RenderBlock (anonymous) at (0,96) size 784x28
+      RenderBlock (anonymous) at (0,120) size 784x28
         RenderText {TEXT} at (0,0) size 31x28
           text run at (0,0) width 31: "bar"
-      RenderBlock {P} at (0,124) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,148) size 784x56 [border: (2px solid #0000FF)]
         RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,180) size 784x56 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,204) size 784x56 [border: (2px solid #FF0000)]
         RenderText {TEXT} at (14,14) size 32x28
           text run at (14,14) width 32: "foo"
-      RenderBlock {DIV} at (0,236) size 784x56 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,260) size 784x56 [border: (2px solid #FF0000)]
         RenderBR {BR} at (14,14) size 0x28
 selection is CARET:
-start:      position 0 of child 1 {BR} of child 6 {P} of root {BODY}
-upstream:   position 0 of child 6 {P} of root {BODY}
-downstream: position 0 of child 1 {BR} of child 6 {P} of root {BODY}
+start:      position 0 of child 1 {BR} of child 6 {DIV} of root {BODY}
+upstream:   position 0 of child 6 {DIV} of root {BODY}
+downstream: position 0 of child 1 {BR} of child 6 {DIV} of root {BODY}
index ae0e0ff5cec86686177a9ff095452863016e2beb..3964ae3704ba3c84457f0f570f10439cf636e17f 100644 (file)
@@ -9,7 +9,7 @@ body {
     border: 2px solid red; 
     padding: 12px; 
 }
-p {
+div {
     border: 2px solid blue; 
     padding: 12px; 
 }
@@ -33,7 +33,7 @@ function editingTest() {
 
 Test inserting paragraphs: should see empty blue box below "bar"
 
-<div style="height: 12px"></div>
+<div style="border: none; height: 12px"></div>
 
 <div class="editing" id="test">baz</div>bar<div class="editing">foo</div>
 <div class="editing"><br class="khtml-block-placeholder"></div>
index 0c2aced5f60910c2e9a8f03ebb1955d12f247fc0..c63be3ecbb31154ff837f56ddc36e38ada601f0f 100644 (file)
@@ -6,16 +6,16 @@ layer at (0,0) size 800x600
       RenderBlock (anonymous) at (0,0) size 784x28
         RenderText {TEXT} at (0,0) size 667x28
           text run at (0,0) width 667: "Test inserting paragraphs: should see an empty blue box below \"bar\""
-      RenderBlock {DIV} at (0,28) size 784x12
-      RenderBlock (anonymous) at (0,40) size 784x28
+      RenderBlock {DIV} at (0,28) size 784x36
+      RenderBlock (anonymous) at (0,64) size 784x28
         RenderText {TEXT} at (0,0) size 31x28
           text run at (0,0) width 31: "bar"
-      RenderBlock {P} at (0,68) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,92) size 784x56 [border: (2px solid #0000FF)]
         RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {DIV} at (0,124) size 784x56 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,148) size 784x56 [border: (2px solid #FF0000)]
         RenderText {TEXT} at (14,14) size 34x28
           text run at (14,14) width 34: "baz"
 selection is CARET:
-start:      position 0 of child 1 {BR} of child 4 {P} of root {BODY}
-upstream:   position 0 of child 4 {P} of root {BODY}
-downstream: position 0 of child 1 {BR} of child 4 {P} of root {BODY}
+start:      position 0 of child 1 {BR} of child 4 {DIV} of root {BODY}
+upstream:   position 0 of child 4 {DIV} of root {BODY}
+downstream: position 0 of child 1 {BR} of child 4 {DIV} of root {BODY}
index d9c27d73cf320efa783917b83619a04a34bdd6ff..e0db6ad23565aa9034d2ce28b720fbd75b23dd1b 100644 (file)
@@ -9,7 +9,7 @@ body {
     border: 2px solid red; 
     padding: 12px; 
 }
-p {
+div {
     border: 2px solid blue; 
     padding: 12px; 
 }
@@ -32,7 +32,7 @@ function editingTest() {
 
 Test inserting paragraphs: should see an empty blue box below "bar"
 
-<div style="height: 12px"></div>
+<div style="border: none; height: 12px"></div>
 
 bar<div class="editing" id="test">baz</div>
 
index 2de7b6862113fb1b03bbff4ebab99d8a551a8254..dbb587f65790bf87c2b3e67c984fc9e89f0f2325 100644 (file)
@@ -7,15 +7,15 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (0,0) size 748x56
           text run at (0,0) width 748: "Test inserting paragraphs: should see an empty blue box above an empty line"
           text run at (0,28) width 237: "between \"foo\" and \"bar\""
-      RenderBlock {DIV} at (0,56) size 784x12
-      RenderBlock {P} at (0,92) size 784x56 [border: (2px solid #FF0000)]
+      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 (14,14) width 32: "foo"
-      RenderBlock {P} at (0,172) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,196) size 784x56 [border: (2px solid #0000FF)]
         RenderBR {BR} at (14,14) size 0x28
-      RenderBlock (anonymous) at (0,228) size 784x28
+      RenderBlock (anonymous) at (0,252) size 784x28
         RenderBR {BR} at (0,0) size 0x28
-      RenderBlock {P} at (0,280) size 784x56 [border: (2px solid #FF0000)]
+      RenderBlock {P} at (0,304) size 784x56 [border: (2px solid #FF0000)]
         RenderText {TEXT} at (14,14) size 31x28
           text run at (14,14) width 31: "bar"
 selection is CARET:
index 6520878abd915003da80dcbbcb24afe6c5d9006d..1a1f1bfe9110084eb39dd46c75a84fc46393e81a 100644 (file)
@@ -9,7 +9,7 @@ body {
     border: 2px solid red; 
     padding: 12px; 
 }
-p {
+div {
     border: 2px solid blue; 
     padding: 12px; 
 }
@@ -33,7 +33,7 @@ function editingTest() {
 
 Test inserting paragraphs: should see an empty blue box above an empty line between "foo" and "bar"
 
-<div style="height: 12px"></div>
+<div style="border: none; height: 12px"></div>
 
 <p id="test" class="editing">foo</p><br><p class="editing">bar</p>
 
index fb823988dca66b06ba6d7e26f83945a9de9df068..5746fc853fca89b20de1d28912fafa9a8e5eddc9 100644 (file)
@@ -7,18 +7,18 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (0,0) size 772x56
           text run at (0,0) width 772: "Test inserting paragraphs: should see a blue box with \"bar\" in it, and two blank "
           text run at (0,28) width 295: "lines between \"foo\" and \"bar\"."
-      RenderBlock {DIV} at (0,56) size 784x12
-      RenderBlock (anonymous) at (0,68) size 784x84
+      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,0) width 32: "foo"
         RenderBR {BR} at (0,0) size 0x0
         RenderBR {BR} at (0,28) size 0x28
         RenderBR {BR} at (0,56) size 0x28
-      RenderBlock {P} at (0,152) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,176) size 784x56 [border: (2px solid #0000FF)]
         RenderText {TEXT} at (14,14) size 31x28
           text run at (14,14) width 31: "bar"
 selection is CARET:
-start:      position 0 of child 1 {TEXT} of child 8 {P} of root {BODY}
-upstream:   position 0 of child 8 {P} of root {BODY}
-downstream: position 0 of child 1 {TEXT} of child 8 {P} of root {BODY}
+start:      position 0 of child 1 {TEXT} of child 8 {DIV} of root {BODY}
+upstream:   position 0 of child 8 {DIV} of root {BODY}
+downstream: position 0 of child 1 {TEXT} of child 8 {DIV} of root {BODY}
index 029aebada64ee1f1c494985aa861bbd277984909..822847472745ddbad2bfa130014012bcfda33642 100644 (file)
@@ -9,13 +9,10 @@ body {
     border: 2px solid red; 
     padding: 12px; 
 }
-p {
+div {
     border: 2px solid blue; 
     padding: 12px; 
 }
-br {
-    background-color: green; 
-}
 
 </style>
 <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
@@ -36,7 +33,7 @@ function editingTest() {
 
 Test inserting paragraphs: should see a blue box with "bar" in it, and two blank lines between "foo" and "bar".
 
-<div style="height: 12px"></div>
+<div style="border: none; height: 12px"></div>
 
 <span id="test">foo</span><br><br>bar
 
index 6a17bec1e429c8da3b1138aeacbb255166bf5ea4..47799d5c6875b9011acf0698b5abee8b0f5fc4b2 100644 (file)
@@ -14,17 +14,17 @@ layer at (0,0) size 800x600
           text run at (670,28) width 6: " "
           text run at (0,56) width 769: "REGRESSION (Mail): After deleting, hitting return key does not insert visible "
           text run at (0,84) width 77: "newline"
-      RenderBlock {DIV} at (0,112) size 784x12
-      RenderBlock (anonymous) at (0,124) size 784x28
+      RenderBlock {DIV} at (0,112) size 784x36
+      RenderBlock (anonymous) at (0,148) size 784x28
         RenderInline {SPAN} at (0,0) size 32x28
           RenderText {TEXT} at (0,0) size 32x28
             text run at (0,0) width 32: "foo"
-      RenderBlock {P} at (0,152) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,176) size 784x56 [border: (2px solid #0000FF)]
         RenderBR {BR} at (14,14) size 0x28
-      RenderBlock {P} at (0,208) size 784x56 [border: (2px solid #0000FF)]
+      RenderBlock {DIV} at (0,232) size 784x56 [border: (2px solid #0000FF)]
         RenderText {TEXT} at (14,14) size 31x28
           text run at (14,14) width 31: "bar"
 selection is CARET:
-start:      position 0 of child 1 {TEXT} of child 8 {P} of root {BODY}
-upstream:   position 0 of child 8 {P} of root {BODY}
-downstream: position 0 of child 1 {TEXT} of child 8 {P} of root {BODY}
+start:      position 0 of child 1 {TEXT} of child 8 {DIV} of root {BODY}
+upstream:   position 0 of child 8 {DIV} of root {BODY}
+downstream: position 0 of child 1 {TEXT} of child 8 {DIV} of root {BODY}
index 23d1b7aa4f8d587547a1f3e683ad16bae454582f..1faf87b48f0d9781037e840b45b42fcaf6214910 100644 (file)
@@ -9,13 +9,10 @@ body {
     border: 2px solid red; 
     padding: 12px; 
 }
-p {
+div {
     border: 2px solid blue; 
     padding: 12px; 
 }
-br {
-    background-color: green; 
-}
 
 </style>
 <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
@@ -40,7 +37,7 @@ Test inserting paragraphs: should see "foo", then an empty blue box, then a blue
 <a href="rdar://problem/3924579">&lt;rdar://problem/3924579&gt;</a> REGRESSION (Mail): After deleting, hitting return key does not insert visible newline
 
 
-<div style="height: 12px"></div>
+<div style="border: none; height: 12px"></div>
 
 <span id="test">foo</span><br>bar
 
index 86bdd38d68d14893f6a2dc4dfb2f6a6cfd228c65..43f7aa70cbef43e351afaabcf63f442658eb1c91 100644 (file)
@@ -12,7 +12,7 @@ layer at (0,0) size 800x600
               text run at (0,0) width 78: "xxxxxx "
           RenderText {TEXT} at (78,0) size 72x28
             text run at (78,0) width 72: "xxxxxx"
-        RenderBlock {P} at (14,42) size 756x28
+        RenderBlock {DIV} at (14,42) size 756x28
           RenderText {TEXT} at (0,0) size 78x28
             text run at (0,0) width 78: " xxxxxx"
           RenderInline {SPAN} at (0,0) size 78x28
@@ -24,6 +24,6 @@ selection is RANGE:
 start:      position 0 of child 5 {TEXT} of root {DIV}
 upstream:   position 7 of child 1 {TEXT} of child 4 {SPAN} of root {DIV}
 downstream: position 0 of child 5 {TEXT} of root {DIV}
-end:        position 7 of child 1 {TEXT} of child 6 {P} of root {DIV}
-upstream:   position 7 of child 1 {TEXT} of child 6 {P} of root {DIV}
-downstream: position 0 of child 1 {TEXT} of child 2 {SPAN} of child 6 {P} of root {DIV}
+end:        position 7 of child 1 {TEXT} of child 6 {DIV} of root {DIV}
+upstream:   position 7 of child 1 {TEXT} of child 6 {DIV} of root {DIV}
+downstream: position 0 of child 1 {TEXT} of child 2 {SPAN} of child 6 {DIV} of root {DIV}
index cb5eaba314246015d7cad96c77f2145970e778b0..c23cbdc48b005c53858e1c920ec548f9b3eb853a 100644 (file)
@@ -15,7 +15,7 @@ layer at (0,0) size 800x600
               RenderText {TEXT} at (78,0) size 72x28
                 text run at (78,0) width 72: "xxxxxx"
         RenderBlock (anonymous) at (14,42) size 756x28
-          RenderBlock {P} at (0,0) size 756x28
+          RenderBlock {DIV} at (0,0) size 756x28
             RenderText {TEXT} at (0,0) size 78x28
               text run at (0,0) width 78: " xxxxxx"
             RenderInline {SPAN} at (0,0) size 78x28
@@ -28,6 +28,6 @@ selection is RANGE:
 start:      position 0 of child 1 {TEXT} of child 2 {B} of child 4 {SPAN} of root {DIV}
 upstream:   position 7 of child 1 {TEXT} of child 1 {B} of child 4 {SPAN} of root {DIV}
 downstream: position 0 of child 1 {TEXT} of child 2 {B} of child 4 {SPAN} of root {DIV}
-end:        position 7 of child 1 {TEXT} of child 2 {P} of child 2 {B} of child 4 {SPAN} of root {DIV}
-upstream:   position 7 of child 1 {TEXT} of child 2 {P} of child 2 {B} of child 4 {SPAN} of root {DIV}
-downstream: position 0 of child 1 {TEXT} of child 2 {SPAN} of child 2 {P} of child 2 {B} of child 4 {SPAN} of root {DIV}
+end:        position 7 of child 1 {TEXT} of child 2 {DIV} of child 2 {B} of child 4 {SPAN} of root {DIV}
+upstream:   position 7 of child 1 {TEXT} of child 2 {DIV} of child 2 {B} of child 4 {SPAN} of root {DIV}
+downstream: position 0 of child 1 {TEXT} of child 2 {SPAN} of child 2 {DIV} of child 2 {B} of child 4 {SPAN} of root {DIV}
index bd593a6599023929b298fb65f7aa64e1966db7fe..568873fd5475f7aae009d5a5a006a91716999c29 100644 (file)
@@ -12,12 +12,12 @@ layer at (0,0) size 800x600
               RenderText {TEXT} at (0,0) size 150x28
                 text run at (0,0) width 150: "xxxxxx xxxxxx"
         RenderBlock (anonymous) at (14,42) size 756x28
-          RenderBlock {P} at (0,0) size 756x28
+          RenderBlock {DIV} at (0,0) size 756x28
             RenderText {TEXT} at (0,0) size 156x28
               text run at (0,0) width 156: " xxxxxx xxxxxx"
         RenderBlock (anonymous) at (14,70) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
 selection is CARET:
-start:      position 14 of child 1 {TEXT} of child 2 {P} of child 4 {SPAN} of root {DIV}
-upstream:   position 14 of child 1 {TEXT} of child 2 {P} of child 4 {SPAN} of root {DIV}
-downstream: position 14 of child 1 {TEXT} of child 2 {P} of child 4 {SPAN} of root {DIV}
+start:      position 14 of child 1 {TEXT} of child 2 {DIV} of child 4 {SPAN} of root {DIV}
+upstream:   position 14 of child 1 {TEXT} of child 2 {DIV} of child 4 {SPAN} of root {DIV}
+downstream: position 14 of child 1 {TEXT} of child 2 {DIV} of child 4 {SPAN} of root {DIV}
index 99bf0a00898a8ea91468fc9a8d22e0cdafd2ca0e..7ac17b2f8c4d8129f625a7e2b881eb55fa8ae2a1 100644 (file)
@@ -13,13 +13,13 @@ layer at (0,0) size 800x600
                 RenderText {TEXT} at (0,0) size 150x28
                   text run at (0,0) width 150: "xxxxxx xxxxxx"
         RenderBlock (anonymous) at (14,42) size 756x28
-          RenderBlock {P} at (0,0) size 756x28
+          RenderBlock {DIV} at (0,0) size 756x28
             RenderText {TEXT} at (0,0) size 156x28
               text run at (0,0) width 156: " xxxxxx xxxxxx"
         RenderBlock (anonymous) at (14,70) size 756x0
           RenderInline {SPAN} at (0,0) size 0x0
             RenderInline {B} at (0,0) size 0x0
 selection is CARET:
-start:      position 14 of child 1 {TEXT} of child 2 {P} of child 1 {B} of child 4 {SPAN} of root {DIV}
-upstream:   position 14 of child 1 {TEXT} of child 2 {P} of child 1 {B} of child 4 {SPAN} of root {DIV}
-downstream: position 14 of child 1 {TEXT} of child 2 {P} of child 1 {B} of child 4 {SPAN} of root {DIV}
+start:      position 14 of child 1 {TEXT} of child 2 {DIV} of child 1 {B} of child 4 {SPAN} of root {DIV}
+upstream:   position 14 of child 1 {TEXT} of child 2 {DIV} of child 1 {B} of child 4 {SPAN} of root {DIV}
+downstream: position 14 of child 1 {TEXT} of child 2 {DIV} of child 1 {B} of child 4 {SPAN} of root {DIV}
index c689c99bf91726dd9cc4bbe585fb7e2d465b652c..dda9d98bbfe78204e024c2770ac3a71c602be27b 100644 (file)
@@ -1,3 +1,37 @@
+2005-02-17  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Hyatt
+
+        Fix for this bug:
+        
+        <rdar://problem/3982183> Mail's HTML paragraphs appear with unintended margins in Entourage and Eudora
+
+        * khtml/editing/htmlediting.cpp:
+        (khtml::createDefaultParagraphElement): Change element we make from <p> to <div>.
+        This fixes the problem, as these other mailers show <div> elements without margins.
+        
+        Some test files needed to change to preserve the ability to "eyeball" the results.
+        Many others changed just because their <p> elements changed to <div> elements.
+        
+        * layout-tests/editing/deleting/delete-3928305-fix-expected.txt
+        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt
+        * layout-tests/editing/inserting/insert-div-013-expected.txt
+        * layout-tests/editing/inserting/insert-div-013.html
+        * layout-tests/editing/inserting/insert-div-014-expected.txt
+        * layout-tests/editing/inserting/insert-div-014.html
+        * layout-tests/editing/inserting/insert-div-018-expected.txt
+        * layout-tests/editing/inserting/insert-div-018.html
+        * layout-tests/editing/inserting/insert-div-019-expected.txt
+        * layout-tests/editing/inserting/insert-div-019.html
+        * layout-tests/editing/inserting/insert-div-020-expected.txt
+        * layout-tests/editing/inserting/insert-div-020.html
+        * layout-tests/editing/inserting/insert-div-021-expected.txt
+        * layout-tests/editing/inserting/insert-div-021.html
+        * layout-tests/editing/style/remove-underline-across-paragraph-expected.txt
+        * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
+        * layout-tests/editing/style/remove-underline-after-paragraph-expected.txt
+        * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt
+
 2005-02-17  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by Hyatt
index cdcf11c19b4be08f754aa05d883689cd39fedc5f..a83fd108adf0615aa32f6bc3149698863032a344 100644 (file)
@@ -5341,11 +5341,13 @@ bool TypingCommand::isTypingCommand() const
 
 ElementImpl *createDefaultParagraphElement(DocumentImpl *document)
 {
-    static const DOMString defaultParagraphStyle("margin-top: 0; margin-bottom: 0");
+    // We would need this margin-zeroing and attribute-setter code back if we ever 
+    // return to using <p> elements for default paragraphs.
+    //static const DOMString defaultParagraphStyle("margin-top: 0; margin-bottom: 0");
     int exceptionCode = 0;
-    ElementImpl *element = document->createHTMLElement("p", exceptionCode);
+    ElementImpl *element = document->createHTMLElement("div", exceptionCode);
     ASSERT(exceptionCode == 0);
-    element->setAttribute(ATTR_STYLE, defaultParagraphStyle);
+    //element->setAttribute(ATTR_STYLE, defaultParagraphStyle);
     return element;
 }