LayoutTests:
authorthatcher <thatcher@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2006 01:18:01 +0000 (01:18 +0000)
committerthatcher <thatcher@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2006 01:18:01 +0000 (01:18 +0000)
        Adding test cases for:
        http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
        Bug 4959: inline style not terminated properly after <form>

        Updated older tests/results to work with the patch.
        Some of the tests had an open <span> with no close.

        * editing/deleting/delete-image-003-expected.txt:
        * editing/deleting/delete-image-003.html:
        * editing/undo/redo-typing-001-expected.txt:
        * editing/undo/redo-typing-001.html:
        * editing/undo/undo-typing-001-expected.txt:
        * editing/undo/undo-typing-001.html:
        * fast/block/float/031.html:
        * fast/parser/residual-style-span-form-expected.checksum: Added.
        * fast/parser/residual-style-span-form-expected.png: Added.
        * fast/parser/residual-style-span-form-expected.txt: Added.
        * fast/parser/residual-style-span-form.html: Added.
        * fast/text/whitespace/006-expected.txt:

WebCore:

        Reviewed by Dave Hyatt.
        Landed by Timothy Hatcher.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
        Bug 4959: inline style not terminated properly after <form>

        * khtml/html/htmlparser.cpp:
        (HTMLParser::isResidualStyleTag): add <span> as residual style tag
        (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style

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

15 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/deleting/delete-image-003-expected.txt
LayoutTests/editing/deleting/delete-image-003.html
LayoutTests/editing/undo/redo-typing-001-expected.txt
LayoutTests/editing/undo/redo-typing-001.html
LayoutTests/editing/undo/undo-typing-001-expected.txt
LayoutTests/editing/undo/undo-typing-001.html
LayoutTests/fast/block/float/031.html
LayoutTests/fast/parser/residual-style-span-form-expected.checksum [new file with mode: 0644]
LayoutTests/fast/parser/residual-style-span-form-expected.png [new file with mode: 0644]
LayoutTests/fast/parser/residual-style-span-form-expected.txt [new file with mode: 0644]
LayoutTests/fast/parser/residual-style-span-form.html [new file with mode: 0644]
LayoutTests/fast/text/whitespace/006-expected.txt
WebCore/ChangeLog
WebCore/khtml/html/htmlparser.cpp

index 5f4a896a6080a07412f8019246922e51c5dec8ca..0e0f54258622e602bc0329563d8761970f7691d2 100644 (file)
@@ -1,3 +1,25 @@
+2006-01-31  Timothy Hatcher  <timothy@apple.com>
+
+        Adding test cases for:
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
+        Bug 4959: inline style not terminated properly after <form>
+
+        Updated older tests/results to work with the patch.
+        Some of the tests had an open <span> with no close.
+
+        * editing/deleting/delete-image-003-expected.txt:
+        * editing/deleting/delete-image-003.html:
+        * editing/undo/redo-typing-001-expected.txt:
+        * editing/undo/redo-typing-001.html:
+        * editing/undo/undo-typing-001-expected.txt:
+        * editing/undo/undo-typing-001.html:
+        * fast/block/float/031.html:
+        * fast/parser/residual-style-span-form-expected.checksum: Added.
+        * fast/parser/residual-style-span-form-expected.png: Added.
+        * fast/parser/residual-style-span-form-expected.txt: Added.
+        * fast/parser/residual-style-span-form.html: Added.
+        * fast/text/whitespace/006-expected.txt:
+
 2006-01-31  David Harrison  <harrison@apple.com>
 
         Adding test cases for:
index 162e8352201c203caae62c8f9ffbc9fef25bbc25..e48ec4ce859d8d806fa6a9a40e27dea09063d913 100644 (file)
@@ -16,4 +16,5 @@ layer at (0,0) size 800x600
             text run at (14,14) width 11: "a"
           RenderText {TEXT} at (25,14) size 74x28
             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 child 1 {BODY} of child 0 {HTML} of document
index dc15f08eb28fe4fc965dde7efceaaa163223aa0d..ded62a8615481a93e402e27727169f5a8da4f940 100644 (file)
@@ -25,7 +25,7 @@ function editingTest() {
 </head> 
 <body>
 <div contenteditable id="root" class="editing">
-<span id="test">a<img src="../abe.jpg"><img src="../abe.jpg"> lincoln
+<span id="test">a<img src="../abe.jpg"><img src="../abe.jpg"> lincoln</span>
 </div>
 
 <script>
index 0e12f5fd3781885db233fa9cb88e3805a7e368f8..4fb4605971609edee5e12d399c95be868838b030 100644 (file)
@@ -11,4 +11,5 @@ layer at (0,0) size 800x600
         RenderInline {SPAN} at (0,0) size 46x28
           RenderText {TEXT} at (14,14) size 46x28
             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 child 1 {BODY} of child 0 {HTML} of document
index 4f6e4034d189cc9bef3e35312080f7203d7588b5..ed16a8275645b2d1f07c5b4ade52ca8a37feaf40 100644 (file)
@@ -24,7 +24,7 @@ function editingTest() {
 </head> 
 <body>
 <div contenteditable id="root" class="editing">
-<span id="test">XX
+<span id="test">XX</span>
 </div>
 
 <script>
index 0e12f5fd3781885db233fa9cb88e3805a7e368f8..4fb4605971609edee5e12d399c95be868838b030 100644 (file)
@@ -11,4 +11,5 @@ layer at (0,0) size 800x600
         RenderInline {SPAN} at (0,0) size 46x28
           RenderText {TEXT} at (14,14) size 46x28
             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 child 1 {BODY} of child 0 {HTML} of document
index b4060d9f779560a16f7d63794989603ba935fcf8..8f55187a0cb950c7f3251cfe4647f4277ce45eba 100644 (file)
@@ -23,7 +23,7 @@ function editingTest() {
 </head> 
 <body>
 <div contenteditable id="root" class="editing">
-<span id="test">XX
+<span id="test">XX</span>
 </div>
 
 <script>
index 0d3105005352ddec12b208be510f9abf230bd50a..8868a9137c5dd3e53e07347a5b2924043d8f9139 100644 (file)
@@ -38,19 +38,19 @@ span {
   <body>
  <p> "ONE" and "TWO" below should be on the same line.</p>
   
-  <ul><li><span>ONE</a></li><li><span class="last">TWO</a></li><div></div></ul>
+  <ul><li><span>ONE</span></li><li><span class="last">TWO</span></li><div></div></ul>
   
    <p> "ONE" and "TWO" below should be on different lines.</p>
   
-  <ul><li><span>ONE</a></li><li  style="clear:left"><span class="last">TWO</a></li><div></div></ul>
+  <ul><li><span>ONE</span></li><li  style="clear:left"><span class="last">TWO</span></li><div></div></ul>
     
     <p> "ONE" and "TWO" below should be on the same line.</p>
   
-  <ul><li><span>ONE</a></li><li><span class="last">TWO</a></li></ul>
+  <ul><li><span>ONE</span></li><li><span class="last">TWO</span></li></ul>
   
    <p> "ONE" and "TWO" below should be on different lines.</p>
   
-  <ul><li><span>ONE</a></li><li  style="clear:left"><span class="last">TWO</a></li></ul>
+  <ul><li><span>ONE</span></li><li  style="clear:left"><span class="last">TWO</span></li></ul>
     
    
     
\ No newline at end of file
diff --git a/LayoutTests/fast/parser/residual-style-span-form-expected.checksum b/LayoutTests/fast/parser/residual-style-span-form-expected.checksum
new file mode 100644 (file)
index 0000000..82ccb25
--- /dev/null
@@ -0,0 +1 @@
+03a3fb47604bf3bf54ad4e1304f714d9
\ No newline at end of file
diff --git a/LayoutTests/fast/parser/residual-style-span-form-expected.png b/LayoutTests/fast/parser/residual-style-span-form-expected.png
new file mode 100644 (file)
index 0000000..2d783f0
Binary files /dev/null and b/LayoutTests/fast/parser/residual-style-span-form-expected.png differ
diff --git a/LayoutTests/fast/parser/residual-style-span-form-expected.txt b/LayoutTests/fast/parser/residual-style-span-form-expected.txt
new file mode 100644 (file)
index 0000000..ffbe9f1
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock (anonymous) at (0,0) size 784x0
+        RenderInline {SPAN} at (0,0) size 0x0 [color=#FF0000]
+      RenderBlock (anonymous) at (0,0) size 784x0 [color=#FF0000]
+      RenderBlock (anonymous) at (0,0) size 784x0
+        RenderInline {SPAN} at (0,0) size 0x0 [color=#FF0000]
+      RenderBlock {FORM} at (0,0) size 784x18
+        RenderInline {SPAN} at (0,0) size 0x0 [color=#FF0000]
+        RenderText {TEXT} at (0,0) size 125x18
+          text run at (0,0) width 125: "this should be black"
diff --git a/LayoutTests/fast/parser/residual-style-span-form.html b/LayoutTests/fast/parser/residual-style-span-form.html
new file mode 100644 (file)
index 0000000..e2bc3f9
--- /dev/null
@@ -0,0 +1,3 @@
+<html>
+<body>
+<span style="color:red"><form></span>this should be black
index 3e678eb8fc101d636978b0908a3915ef1dea70a7..5dfc43063b06c02465e182ee89c694f34f1b23b9 100644 (file)
@@ -56,52 +56,69 @@ layer at (0,0) size 800x200
                 text run at (200,0) width 20: "X"
               RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
                 RenderText {TEXT} at (0,0) size 0x0
-      RenderBlock {DIV} at (20,112) size 744x20
-        RenderInline {SPAN} at (0,0) size 220x20 [color=#800000] [bgcolor=#FF0000]
-          RenderText {TEXT} at (0,0) size 0x0
-          RenderInline {SPAN} at (0,0) size 220x20 [color=#008000] [bgcolor=#00FF00]
-            RenderText {TEXT} at (0,0) size 40x20
-              text run at (0,0) width 40: "X "
-            RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
-              RenderInline {SPAN} at (0,0) size 0x0
-                RenderText {TEXT} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,112) size 784x0
+        RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+          RenderInline {SPAN} at (0,0) size 0x0 [color=#008000] [bgcolor=#00FF00]
+            RenderText {TEXT} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,112) size 784x20 [color=#008000]
+        RenderBlock {DIV} at (20,0) size 744x20
+          RenderInline {SPAN} at (0,0) size 220x20 [color=#800000] [bgcolor=#FF0000]
+            RenderText {TEXT} at (0,0) size 0x0
+            RenderInline {SPAN} at (0,0) size 220x20 [color=#008000] [bgcolor=#00FF00]
+              RenderText {TEXT} at (0,0) size 40x20
+                text run at (0,0) width 40: "X "
+              RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
                 RenderInline {SPAN} at (0,0) size 0x0
                   RenderText {TEXT} at (0,0) size 0x0
+                  RenderInline {SPAN} at (0,0) size 0x0
+                    RenderText {TEXT} at (0,0) size 0x0
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderText {TEXT} at (40,0) size 40x20
+                text run at (40,0) width 40: "X "
+              RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderText {TEXT} at (80,0) size 20x20
+                text run at (80,0) width 20: "X"
+              RenderInline {SPAN} at (0,0) size 20x20 [color=#800000] [bgcolor=#FF0000]
+                RenderInline {SPAN} at (0,0) size 20x20
+                  RenderInline {SPAN} at (0,0) size 20x20 [color=#008000] [bgcolor=#00FF00]
+                    RenderText {TEXT} at (100,0) size 20x20
+                      text run at (100,0) width 20: " "
+                  RenderInline {SPAN} at (0,0) size 0x0
+                    RenderText {TEXT} at (0,0) size 0x0
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderText {TEXT} at (120,0) size 40x20
+                text run at (120,0) width 40: "X "
+              RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+                RenderText {TEXT} at (0,0) size 0x0
               RenderText {TEXT} at (0,0) size 0x0
-            RenderText {TEXT} at (40,0) size 40x20
-              text run at (40,0) width 40: "X "
-            RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
-              RenderText {TEXT} at (0,0) size 0x0
-            RenderText {TEXT} at (80,0) size 20x20
-              text run at (80,0) width 20: "X"
-            RenderInline {SPAN} at (0,0) size 20x20 [color=#800000] [bgcolor=#FF0000]
-              RenderInline {SPAN} at (0,0) size 20x20
-                RenderInline {SPAN} at (0,0) size 20x20 [color=#008000] [bgcolor=#00FF00]
-                  RenderText {TEXT} at (100,0) size 20x20
-                    text run at (100,0) width 20: " "
-                RenderInline {SPAN} at (0,0) size 0x0
+              RenderInline {SPAN} at (0,0) size 60x20
+                RenderText {TEXT} at (160,0) size 20x20
+                  text run at (160,0) width 20: "X"
+                RenderInline {SPAN} at (0,0) size 20x20
+                  RenderText {TEXT} at (180,0) size 20x20
+                    text run at (180,0) width 20: " "
+                  RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+                    RenderText {TEXT} at (0,0) size 0x0
+                RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
                   RenderText {TEXT} at (0,0) size 0x0
-              RenderText {TEXT} at (0,0) size 0x0
-            RenderText {TEXT} at (120,0) size 40x20
-              text run at (120,0) width 40: "X "
-            RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
-              RenderText {TEXT} at (0,0) size 0x0
-            RenderText {TEXT} at (0,0) size 0x0
-            RenderInline {SPAN} at (0,0) size 60x20
-              RenderText {TEXT} at (160,0) size 20x20
-                text run at (160,0) width 20: "X"
-              RenderInline {SPAN} at (0,0) size 20x20
-                RenderText {TEXT} at (180,0) size 20x20
-                  text run at (180,0) width 20: " "
+                RenderText {TEXT} at (200,0) size 20x20
+                  text run at (200,0) width 20: "X"
                 RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
                   RenderText {TEXT} at (0,0) size 0x0
-              RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
-                RenderText {TEXT} at (0,0) size 0x0
-              RenderText {TEXT} at (200,0) size 20x20
-                text run at (200,0) width 20: "X"
-              RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+      RenderBlock (anonymous) at (0,152) size 784x0
+        RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+          RenderInline {SPAN} at (0,0) size 0x0 [color=#008000] [bgcolor=#00FF00]
+            RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+              RenderInline {SPAN} at (0,0) size 0x0 [color=#008000] [bgcolor=#00FF00]
                 RenderText {TEXT} at (0,0) size 0x0
-      RenderBlock {DIV} at (20,152) size 744x20
-        RenderInline {SPAN} at (0,0) size 220x20 [color=#008000] [bgcolor=#00FF00]
-          RenderText {TEXT} at (0,0) size 220x20
-            text run at (0,0) width 220: "X X X X X X"
+      RenderBlock (anonymous) at (0,152) size 784x20 [color=#008000]
+        RenderBlock {DIV} at (20,0) size 744x20
+          RenderInline {SPAN} at (0,0) size 220x20 [bgcolor=#00FF00]
+            RenderText {TEXT} at (0,0) size 220x20
+              text run at (0,0) width 220: "X X X X X X"
+      RenderBlock (anonymous) at (0,192) size 784x0
+        RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+          RenderInline {SPAN} at (0,0) size 0x0 [color=#008000] [bgcolor=#00FF00]
+            RenderInline {SPAN} at (0,0) size 0x0 [color=#800000] [bgcolor=#FF0000]
+              RenderInline {SPAN} at (0,0) size 0x0 [color=#008000] [bgcolor=#00FF00]
index 31ff7af5a38df36e37278fb84fa09c7bdc76fee3..41c8ea8f99f576797a7669063b00acddd8eb9e40 100644 (file)
@@ -1,3 +1,15 @@
+2006-01-31  Antti Koivisto <koivisto@iki.fi>
+
+        Reviewed by Dave Hyatt.
+        Landed by Timothy Hatcher.
+
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=4959
+        Bug 4959: inline style not terminated properly after <form>
+
+        * khtml/html/htmlparser.cpp:
+        (HTMLParser::isResidualStyleTag): add <span> as residual style tag
+        (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style
+
 2006-01-31  Vicki Murley <vicki@apple.com>
 
         Reviewed by Geoff.
index cb32ad6fc5730bfe54e9de25a5aff9eadacafd05..8a32dcd13a4b8094028c504212770cd3c312f298 100644 (file)
@@ -909,6 +909,7 @@ bool HTMLParser::isResidualStyleTag(const AtomicString& tagName)
         residualStyleTags.add(varTag.localName().impl());
         residualStyleTags.add(nobrTag.localName().impl());
         residualStyleTags.add(wbrTag.localName().impl());
+        residualStyleTags.add(spanTag.localName().impl());
     }
     
     return residualStyleTags.contains(tagName.impl());
@@ -939,6 +940,7 @@ bool HTMLParser::isAffectedByResidualStyle(const AtomicString& tagName)
         affectedBlockTags.add(dtTag.localName().impl());
         affectedBlockTags.add(ddTag.localName().impl());
         affectedBlockTags.add(preTag.localName().impl());
+        affectedBlockTags.add(formTag.localName().impl());
     }
     
     return affectedBlockTags.contains(tagName.impl());