Fix a bug where vertical-align values that depended on their parent's value went...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Dec 2004 00:03:44 +0000 (00:03 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Dec 2004 00:03:44 +0000 (00:03 +0000)
vertical-align top or bottom.  The bug is 3771007, bankofamerica's ebills page.

        Reviewed by kocienda

        * khtml/rendering/render_object.cpp:
        (RenderObject::getVerticalPosition):

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

LayoutTests/fast/inline/002-expected.txt [new file with mode: 0644]
LayoutTests/fast/inline/002.html [new file with mode: 0644]
WebCore/ChangeLog-2005-08-23
WebCore/khtml/rendering/render_object.cpp

diff --git a/LayoutTests/fast/inline/002-expected.txt b/LayoutTests/fast/inline/002-expected.txt
new file mode 100644 (file)
index 0000000..b7534ea
--- /dev/null
@@ -0,0 +1,15 @@
+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 784x584
+      RenderText {TEXT} at (0,0) size 45x18
+        text run at (0,0) width 45: "Line 1 "
+      RenderInline {SPAN} at (0,0) size 45x18
+        RenderInline {SPAN} at (0,0) size 41x18
+          RenderText {TEXT} at (45,1) size 41x18
+            text run at (45,1) width 41: "Line 2"
+        RenderText {TEXT} at (86,0) size 4x18
+          text run at (86,0) width 4: " "
+      RenderText {TEXT} at (90,0) size 41x18
+        text run at (90,0) width 41: "Line 3"
diff --git a/LayoutTests/fast/inline/002.html b/LayoutTests/fast/inline/002.html
new file mode 100644 (file)
index 0000000..b786176
--- /dev/null
@@ -0,0 +1,5 @@
+Line 1
+<span style="vertical-align: top">
+<span style="vertical-align:middle">Line 2</span>
+</span>
+Line 3
index e5909d5..343cfeb 100644 (file)
@@ -1,3 +1,13 @@
+2004-12-16  David Hyatt  <hyatt@apple.com>
+
+       Fix a bug where vertical-align values that depended on their parent's value went crazy if the parent was
+       vertical-align top or bottom.  The bug is 3771007, bankofamerica's ebills page.
+       
+        Reviewed by kocienda
+
+        * khtml/rendering/render_object.cpp:
+        (RenderObject::getVerticalPosition):
+
 2004-12-16  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by John
index c5963aa..2868c95 100644 (file)
@@ -1959,15 +1959,12 @@ short RenderObject::getVerticalPosition( bool firstLine ) const
     } else if ( va == LENGTH ) {
         vpos = -style()->verticalAlignLength().width( lineHeight( firstLine ) );
     } else  {
-        bool checkParent = parent()->isInline() && !parent()->isInlineBlockOrInlineTable();
+        bool checkParent = parent()->isInline() && !parent()->isInlineBlockOrInlineTable() && !parent()->style()->verticalAlign() == TOP && !parent()->style()->verticalAlign() == BOTTOM;
         vpos = checkParent ? parent()->verticalPositionHint( firstLine ) : 0;
         // don't allow elements nested inside text-top to have a different valignment.
         if ( va == BASELINE )
             return vpos;
 
-    //     if ( vpos == PositionTop )
-//                 vpos = 0;
-
         const QFont &f = parent()->font( firstLine );
         int fontsize = f.pixelSize();