Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=3942 and marquee problems...
authorbdakin <bdakin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Jul 2005 20:26:42 +0000 (20:26 +0000)
committerbdakin <bdakin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Jul 2005 20:26:42 +0000 (20:26 +0000)
4172312. Vertical marquees default to 200px, and horizontal marquees do not allow text to be
truncated by a too-small height attribute.

        Reviewed by Hyatt.

        Test cases added: (NONE)

        * khtml/html/html_blockimpl.cpp: deleted former changes to make marquee height work correctly.
        (HTMLMarqueeElementImpl::mapToEntry):
        (HTMLMarqueeElementImpl::parseMappedAttribute):
        * khtml/rendering/render_layer.cpp: this is where the height issues are now addressed
        (Marquee::updateMarqueeStyle):
        * khtml/rendering/render_layer.h:
        (khtml::):
        * khtml/rendering/render_style.h: added function fontSize()
        (khtml::RenderStyle::fontSize):
        * khtml/xml/dom_elementimpl.h: deleted addition of EMarquee hash key
        (DOM::):
        * layout-tests/fast/css/MarqueeLayoutTest-expected.txt:
        * layout-tests/fast/css/MarqueeLayoutTest.html: added vertical marquees to test.

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

LayoutTests/fast/css/MarqueeLayoutTest-expected.txt
LayoutTests/fast/css/MarqueeLayoutTest.html
WebCore/ChangeLog-2005-08-23
WebCore/khtml/html/html_blockimpl.cpp
WebCore/khtml/rendering/render_layer.cpp
WebCore/khtml/rendering/render_layer.h
WebCore/khtml/rendering/render_style.h
WebCore/khtml/xml/dom_elementimpl.h

index bbb3cad70c884eb7afe47010eb23c60d85a42ab2..6b85f3a16c8a3d6156bab2086610bf2c7bc7eaf0 100644 (file)
@@ -1,26 +1,31 @@
-layer at (0,0) size 800x600
+layer at (0,0) size 800x708
   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 784x584
+layer at (0,0) size 800x708
+  RenderBlock {HTML} at (0,0) size 800x708
+    RenderBody {BODY} at (8,8) size 784x692
       RenderBlock {P} at (0,0) size 784x18
         RenderText {TEXT} at (0,0) size 284x18
           text run at (0,0) width 284: "Tests: the height attribute for the marquee tag"
         RenderBR {BR} at (0,0) size 0x0
-      RenderBlock {P} at (0,34) size 784x54
+      RenderBlock {P} at (0,34) size 784x72
         RenderText {TEXT} at (0,0) size 73x18
           text run at (0,0) width 73: "Conditions:"
         RenderBR {BR} at (0,0) size 0x0
-        RenderText {TEXT} at (0,18) size 765x36
-          text run at (0,18) width 765: "Because marquee is a WinIE element, we are honoring their treatment of the heigh attribute by making sure it is overriden"
+        RenderText {TEXT} at (0,18) size 773x54
+          text run at (0,18) width 773: "Because marquee is a WinIE element, we are honoring their treatment of the heigh attribute by making sure it is overridden"
           text run at (0,36) width 101: "when the given "
-          text run at (101,36) width 232: "height is smaller than the font height."
-      RenderBlock {P} at (0,104) size 784x36
-        RenderText {TEXT} at (0,0) size 760x36
-          text run at (0,0) width 760: "If successful, the pink marquee should be large, and the others should all be the same size. None of the text should be cut"
-          text run at (0,18) width 22: "off."
-      RenderBlock {HR} at (0,156) size 784x2 [border: (1px inset #000000)]
-      RenderBlock (anonymous) at (0,166) size 784x154
+          text run at (101,36) width 645: "height is smaller than the font height. We also make sure that the default height of a vertical marquee is"
+          text run at (0,54) width 24: "200"
+          text run at (24,54) width 20: "px."
+      RenderBlock {P} at (0,122) size 784x36
+        RenderText {TEXT} at (0,0) size 773x36
+          text run at (0,0) width 773: "If successful, in the horizontal group, the pink marquee should be large, and the others should all be the same size. None of"
+          text run at (0,18) width 50: "the text "
+          text run at (50,18) width 453: "should be cut off. In the vertical group, the aqua marquee should be 200"
+          text run at (503,18) width 205: "px, and the others should be 100"
+          text run at (708,18) width 20: "px."
+      RenderBlock {HR} at (0,174) size 784x2 [border: (1px inset #000000)]
+      RenderBlock (anonymous) at (0,184) size 784x508
         RenderText {TEXT} at (0,0) size 0x0
         RenderBR {BR} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
@@ -29,8 +34,37 @@ layer at (0,0) size 800x600
         RenderBR {BR} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
-layer at (8,174) size 784x18 scrollX -769 scrollWidth 1692
-  RenderBlock {MARQUEE} at (0,0) size 784x18 [bgcolor=#00FFFF]
+        RenderBR {BR} at (0,0) size 0x0
+        RenderBR {BR} at (0,168) size 0x18
+        RenderBR {BR} at (0,186) size 0x18
+        RenderBlock {DIV} at (0,204) size 113x200 [bgcolor=#008000]
+          RenderText {TEXT} at (0,0) size 113x18
+            text run at (0,0) width 70: "This is 200"
+            text run at (70,0) width 43: "px tall."
+        RenderText {TEXT} at (113,390) size 4x18
+          text run at (113,390) width 4: " "
+        RenderText {TEXT} at (317,390) size 4x18
+          text run at (317,390) width 4: " "
+        RenderText {TEXT} at (521,390) size 4x18
+          text run at (521,390) width 4: " "
+        RenderText {TEXT} at (0,0) size 0x0
+        RenderBlock {DIV} at (0,408) size 113x100 [bgcolor=#008000]
+          RenderText {TEXT} at (0,0) size 113x18
+            text run at (0,0) width 70: "This is 100"
+            text run at (70,0) width 43: "px tall."
+        RenderText {TEXT} at (0,0) size 0x0
+        RenderText {TEXT} at (0,0) size 0x0
+layer at (8,192) size 784x16 scrollX -769 scrollWidth 1692 scrollHeight 18
+  RenderBlock {MARQUEE} at (0,0) size 784x16 [bgcolor=#00FFFF]
+    RenderText {TEXT} at (0,0) size 0x0
+    RenderInline {B} at (0,0) size 1692x18
+      RenderText {TEXT} at (0,0) size 1692x18
+        text run at (0,0) width 724: "Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench. "
+        text run at (724,0) width 116: "Paul O' Connell, "
+        text run at (840,0) width 852: "Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench."
+    RenderText {TEXT} at (0,0) size 0x0
+layer at (8,208) size 784x16 scrollX -769 scrollWidth 1692 scrollHeight 18
+  RenderBlock {MARQUEE} at (0,16) size 784x16 [bgcolor=#FFFF00]
     RenderText {TEXT} at (0,0) size 0x0
     RenderInline {B} at (0,0) size 1692x18
       RenderText {TEXT} at (0,0) size 1692x18
@@ -38,8 +72,8 @@ layer at (8,174) size 784x18 scrollX -769 scrollWidth 1692
         text run at (724,0) width 116: "Paul O' Connell, "
         text run at (840,0) width 852: "Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench."
     RenderText {TEXT} at (0,0) size 0x0
-layer at (8,192) size 784x100 scrollX -769 scrollWidth 1692
-  RenderBlock {MARQUEE} at (0,18) size 784x100 [bgcolor=#FFC0CB]
+layer at (8,224) size 784x18 scrollX -769 scrollWidth 1692
+  RenderBlock {MARQUEE} at (0,32) size 784x18 [bgcolor=#FFA500]
     RenderText {TEXT} at (0,0) size 0x0
     RenderInline {B} at (0,0) size 1692x18
       RenderText {TEXT} at (0,0) size 1692x18
@@ -47,8 +81,8 @@ layer at (8,192) size 784x100 scrollX -769 scrollWidth 1692
         text run at (724,0) width 116: "Paul O' Connell, "
         text run at (840,0) width 852: "Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench."
     RenderText {TEXT} at (0,0) size 0x0
-layer at (8,292) size 784x18 scrollX -769 scrollWidth 1692
-  RenderBlock {MARQUEE} at (0,118) size 784x18 [bgcolor=#FFFF00]
+layer at (8,242) size 784x18 scrollX -769 scrollWidth 1692
+  RenderBlock {MARQUEE} at (0,50) size 784x18 [bgcolor=#A52A2A]
     RenderText {TEXT} at (0,0) size 0x0
     RenderInline {B} at (0,0) size 1692x18
       RenderText {TEXT} at (0,0) size 1692x18
@@ -56,8 +90,8 @@ layer at (8,292) size 784x18 scrollX -769 scrollWidth 1692
         text run at (724,0) width 116: "Paul O' Connell, "
         text run at (840,0) width 852: "Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench."
     RenderText {TEXT} at (0,0) size 0x0
-layer at (8,310) size 784x18 scrollX -769 scrollWidth 1692
-  RenderBlock {MARQUEE} at (0,136) size 784x18 [bgcolor=#FFA500]
+layer at (8,260) size 784x100 scrollX -769 scrollWidth 1692
+  RenderBlock {MARQUEE} at (0,68) size 784x100 [bgcolor=#FFC0CB]
     RenderText {TEXT} at (0,0) size 0x0
     RenderInline {B} at (0,0) size 1692x18
       RenderText {TEXT} at (0,0) size 1692x18
@@ -65,3 +99,69 @@ layer at (8,310) size 784x18 scrollX -769 scrollWidth 1692
         text run at (724,0) width 116: "Paul O' Connell, "
         text run at (840,0) width 852: "Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench."
     RenderText {TEXT} at (0,0) size 0x0
+layer at (125,396) size 200x200 scrollY -200 scrollHeight 342
+  RenderBlock {MARQUEE} at (117,204) size 200x200 [bgcolor=#00FFFF]
+    RenderText {TEXT} at (0,0) size 198x342
+      text run at (0,0) width 177: "Lorem ipsum dolor sit amet,"
+      text run at (0,18) width 198: "consectetuer adipiscing elit, sed"
+      text run at (0,36) width 188: "diam nonummy nibh euismod"
+      text run at (0,54) width 161: "tincidunt ut laoreet dolore"
+      text run at (0,72) width 182: "magna aliquam erat volutpat."
+      text run at (0,90) width 198: "Ut wisi enim ad minim veniam,"
+      text run at (0,108) width 158: "quis nostrud exerci tation"
+      text run at (0,126) width 177: "ullamcorper suscipit lobortis"
+      text run at (0,144) width 189: "nisl ut aliquip ex ea commodo"
+      text run at (0,162) width 197: "consequat. Duis autem vel eum"
+      text run at (0,180) width 162: "iriure dolor in hendrerit in"
+      text run at (0,198) width 175: "vulputate velit esse molestie"
+      text run at (0,216) width 189: "consequat, vel illum dolore eu"
+      text run at (0,234) width 176: "feugiat nulla facilisis at vero"
+      text run at (0,252) width 188: "eros et accumsan et iusto odio"
+      text run at (0,270) width 187: "dignissim qui blandit praesent"
+      text run at (0,288) width 174: "luptatum zzril delenit augue"
+      text run at (0,306) width 167: "duis dolore te feugait nulla"
+      text run at (0,324) width 45: "facilisi."
+layer at (329,496) size 200x100 scrollY -100 scrollHeight 342
+  RenderBlock {MARQUEE} at (321,304) size 200x100 [bgcolor=#FFFF00]
+    RenderText {TEXT} at (0,0) size 198x342
+      text run at (0,0) width 177: "Lorem ipsum dolor sit amet,"
+      text run at (0,18) width 198: "consectetuer adipiscing elit, sed"
+      text run at (0,36) width 188: "diam nonummy nibh euismod"
+      text run at (0,54) width 161: "tincidunt ut laoreet dolore"
+      text run at (0,72) width 182: "magna aliquam erat volutpat."
+      text run at (0,90) width 198: "Ut wisi enim ad minim veniam,"
+      text run at (0,108) width 158: "quis nostrud exerci tation"
+      text run at (0,126) width 177: "ullamcorper suscipit lobortis"
+      text run at (0,144) width 189: "nisl ut aliquip ex ea commodo"
+      text run at (0,162) width 197: "consequat. Duis autem vel eum"
+      text run at (0,180) width 162: "iriure dolor in hendrerit in"
+      text run at (0,198) width 175: "vulputate velit esse molestie"
+      text run at (0,216) width 189: "consequat, vel illum dolore eu"
+      text run at (0,234) width 176: "feugiat nulla facilisis at vero"
+      text run at (0,252) width 188: "eros et accumsan et iusto odio"
+      text run at (0,270) width 187: "dignissim qui blandit praesent"
+      text run at (0,288) width 174: "luptatum zzril delenit augue"
+      text run at (0,306) width 167: "duis dolore te feugait nulla"
+      text run at (0,324) width 45: "facilisi."
+layer at (533,496) size 200x100 scrollY -100 scrollHeight 342
+  RenderBlock {MARQUEE} at (525,304) size 200x100 [bgcolor=#FF0000]
+    RenderText {TEXT} at (0,0) size 198x342
+      text run at (0,0) width 177: "Lorem ipsum dolor sit amet,"
+      text run at (0,18) width 198: "consectetuer adipiscing elit, sed"
+      text run at (0,36) width 188: "diam nonummy nibh euismod"
+      text run at (0,54) width 161: "tincidunt ut laoreet dolore"
+      text run at (0,72) width 182: "magna aliquam erat volutpat."
+      text run at (0,90) width 198: "Ut wisi enim ad minim veniam,"
+      text run at (0,108) width 158: "quis nostrud exerci tation"
+      text run at (0,126) width 177: "ullamcorper suscipit lobortis"
+      text run at (0,144) width 189: "nisl ut aliquip ex ea commodo"
+      text run at (0,162) width 197: "consequat. Duis autem vel eum"
+      text run at (0,180) width 162: "iriure dolor in hendrerit in"
+      text run at (0,198) width 175: "vulputate velit esse molestie"
+      text run at (0,216) width 189: "consequat, vel illum dolore eu"
+      text run at (0,234) width 176: "feugiat nulla facilisis at vero"
+      text run at (0,252) width 188: "eros et accumsan et iusto odio"
+      text run at (0,270) width 187: "dignissim qui blandit praesent"
+      text run at (0,288) width 174: "luptatum zzril delenit augue"
+      text run at (0,306) width 167: "duis dolore te feugait nulla"
+      text run at (0,324) width 45: "facilisi."
index 96f00e1ac059893903e42e01c55de11f2682a8c1..eebf4763baa816dd5dc24e4c38d3cc73214441ea 100644 (file)
@@ -6,10 +6,11 @@
     <p>Tests: the height attribute for the marquee tag<br>
     </p>
     <p>Conditions:<br>
-    Because marquee is a WinIE element, we are honoring their treatment of the heigh attribute by making sure it is overriden when the given
-    height is smaller than the font height.
+    Because marquee is a WinIE element, we are honoring their treatment of the heigh attribute by making sure it is overridden when the given
+    height is smaller than the font height. We also make sure that the default height of a vertical marquee is 200px.
     </p>
-    <p>If successful, the pink marquee should be large, and the others should all be the same size. None of the text should be cut off.
+    <p>If successful, in the horizontal group, the pink marquee should be large, and the others should all be the same size. None of the text 
+    should be cut off. In the vertical group, the aqua marquee should be 200px, and the others should be 100px. 
     </p>
     <hr>
            
            <b>Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench.  Paul O' Connell, 
             Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench.</b>
     </MARQUEE>
-    <br>
-     <MARQUEE height="100" bgcolor="pink"> 
-           <b>Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench.  Paul O' Connell, 
-            Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench.</b>
-    </MARQUEE>
-    <br>
+    <br> 
     <MARQUEE height="0" bgcolor="yellow"> 
            <b>Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench.  Paul O' Connell, 
             Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench.</b>
     <MARQUEE height="-45" bgcolor="orange"> 
            <b>Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench.  Paul O' Connell, 
             Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench.</b>
-    </MARQUEE>        
+    </MARQUEE>   
+     <br>
+     <MARQUEE bgcolor="brown"> 
+           <b>Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench.  Paul O' Connell, 
+            Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench.</b>
+    </MARQUEE>   
+     <MARQUEE height="100" bgcolor="pink"> 
+           <b>Four Irish players have been named on the starting team for Saturday's Test game, with two on the bench.  Paul O' Connell, 
+            Donncha O' Callaghan, Simon Easterby and Geordan Murphy all start with Ronan O' Gara and Shane Horgan on the bench.</b>
+    </MARQUEE>
+    
+    <br>
+    <br>
+    <br>
+    
+    <div style="display:inline-block; height:200px; background:green;">This is 200px tall.</div>
+    <marquee direction="up" style="width:200px; background:aqua;" >
+    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+    </marquee>
+
+    <marquee direction="up" style="width:200px; background:yellow;" height="100">
+    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+    </marquee>
+
+    <marquee direction="up" style="width:200px; background:red; height:100px;">
+    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+    </marquee>
+    <div style="display:inline-block; height:100px; background:green;">This is 100px tall.</div>
                 
 </body>
 </html>
\ No newline at end of file
index 749679dbdf0936917e4a3f143ce02ff2306debc9..d2a85f42e624f97c6db729fb9ee90e00a0d6a7c6 100644 (file)
@@ -1,3 +1,27 @@
+2005-07-12  Beth Dakin  <bdakin@apple.com>
+
+       Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=3942 and marquee problems in Radar bug 
+       4172312. Vertical marquees default to 200px, and horizontal marquees do not allow text to be 
+       truncated by a too-small height attribute. 
+
+        Reviewed by Hyatt.
+
+        Test cases added: (NONE)
+
+        * khtml/html/html_blockimpl.cpp: deleted former changes to make marquee height work correctly.
+        (HTMLMarqueeElementImpl::mapToEntry):
+        (HTMLMarqueeElementImpl::parseMappedAttribute):
+        * khtml/rendering/render_layer.cpp: this is where the height issues are now addressed
+        (Marquee::updateMarqueeStyle):
+        * khtml/rendering/render_layer.h: 
+        (khtml::):
+        * khtml/rendering/render_style.h: added function fontSize() 
+        (khtml::RenderStyle::fontSize):
+        * khtml/xml/dom_elementimpl.h: deleted addition of EMarquee hash key
+        (DOM::):
+        * layout-tests/fast/css/MarqueeLayoutTest-expected.txt: 
+        * layout-tests/fast/css/MarqueeLayoutTest.html: added vertical marquees to test.
+
 2005-07-12  Geoffrey Garen  <ggaren@apple.com>
 
         Test cases modified:
index 8e17b54d95b09486c3c707270fbf0c89fb2fef01..cb95f7072f54850ac8166fadcbf2c651383966f8 100644 (file)
@@ -347,9 +347,6 @@ bool HTMLMarqueeElementImpl::mapToEntry(NodeImpl::Id attr, MappedAttributeEntry&
 {
     switch (attr) {
         case ATTR_HEIGHT:   
-            // Needed to create eMarquee hash key to treat height attribute like WinIE. Fix for half of 4172312.
-            result = eMarquee;
-            return false;
         case ATTR_WIDTH:
         case ATTR_BGCOLOR:
         case ATTR_VSPACE:
@@ -364,10 +361,10 @@ bool HTMLMarqueeElementImpl::mapToEntry(NodeImpl::Id attr, MappedAttributeEntry&
         default:
             break;
     }
+    
     return HTMLElementImpl::mapToEntry(attr, result);
 }
             
-            
 void HTMLMarqueeElementImpl::parseMappedAttribute(MappedAttributeImpl *attr)
 {
     switch(attr->id())
@@ -378,7 +375,7 @@ void HTMLMarqueeElementImpl::parseMappedAttribute(MappedAttributeImpl *attr)
             break;
         case ATTR_HEIGHT:
             if (!attr->value().isEmpty())
-                addCSSLength(attr, CSS_PROP_MIN_HEIGHT, attr->value());
+                addCSSLength(attr, CSS_PROP_HEIGHT, attr->value());
             break;
         case ATTR_BGCOLOR:
             if (!attr->value().isEmpty())
index db348e079cfa7fc848f8db8f2aa739d005f63872..73dbec5e1235df6be574d389d48e3f0352e88a9b 100644 (file)
@@ -1652,6 +1652,15 @@ void Marquee::updateMarqueeStyle()
         }
     }
     
+    //Marquee height hack!! Make sure that, if it is a horizontal marquee, the height attribute is overridden 
+    //if it is smaller than the font size. If it is a vertical marquee and height is not specified, we default
+    //to a marquee of 200px.
+    if (isHorizontal()) {
+        if (s->height().isFixed() && (s->height().value < s->fontSize())) 
+            s->setHeight(Length(s->fontSize(),Fixed));
+    } else if (s->height().isVariable())  //vertical marquee with no specified height
+        s->setHeight(Length(200,Fixed)); 
+   
     if (speed() != marqueeSpeed()) {
         m_speed = marqueeSpeed();
         if (m_timerId) {
index 1a185827aec89e87a25bf74bf3e8a3c2c42ce028..615839efd33dc2c5deca79f2ac37a28917bd1515 100644 (file)
@@ -148,6 +148,7 @@ private:
     int m_end;
     int m_speed;
     int m_unfurlPos;
+    Length m_height;
     bool m_reset: 1;
     bool m_suspended : 1;
     bool m_stopped : 1;
index 29f6c86cd3d2164bbf7199fd6444075655dadc6a..cfcf1d7d1b116ca3474786525119af51a2773973 100644 (file)
@@ -1176,6 +1176,7 @@ public:
     short colSpan() const { return visual->colspan; }
 
     const QFont & font() const { return inherited->font.f; }
+    int fontSize() const { return inherited->font.f.pixelSize(); }
     // use with care. call font->update() after modifications
     const Font &htmlFont() { return inherited->font; }
     const QFontMetrics & fontMetrics() const { return inherited->font.fm; }
index 7604b3f8551a850c159661a50574663bceda3111..1e089469f2daac7dbbc9af55b6ac2b15253f44ee 100644 (file)
@@ -321,7 +321,7 @@ protected:
 
 // When adding new entries, make sure to keep eLastEntry at the end of the list.
 enum MappedAttributeEntry { eNone, eUniversal, ePersistent, eReplaced, eBlock, eHR, eUnorderedList, eListItem,
-    eTable, eCell, eCaption, eMarquee, eLastEntry };
+    eTable, eCell, eCaption, eLastEntry };
 
 class CSSMappedAttributeDeclarationImpl : public CSSMutableStyleDeclarationImpl
 {