Summary: | absolutely positioned descendants of relatively positioned root element misplaced for bottom offsets | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | khtmltest <annavoy> |
Component: | khtml | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | FreeBSD Ports | ||
OS: | FreeBSD | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | testcase |
Description
khtmltest
2006-09-23 03:47:46 UTC
Created attachment 17883 [details]
testcase
SVN commit 587726 by ggarand: Remove incorrect special casing of root block. Webcore needs this hack because it still uses the old root-is-initial-containing-block model, but we don't, so there is no need to break the spec here. BUG: 134518 M +2 -8 render_box.cpp --- branches/KDE/3.5/kdelibs/khtml/rendering/render_box.cpp #587725:587726 @@ -1628,11 +1628,8 @@ // We don't use containingBlock(), since we may be positioned by an enclosing relpositioned inline. const RenderObject* containerBlock = container(); + const int containerHeight = containerBlock->height() - containerBlock->borderTop() - containerBlock->borderBottom(); - // Even in strict mode (where we don't grow the root to fill the viewport) other browsers - // position as though the root fills the viewport. - const int containerHeight = containerBlock->isRoot() ? containerBlock->availableHeight() : (containerBlock->height() - containerBlock->borderTop() - containerBlock->borderBottom()); - const int bordersPlusPadding = borderTop() + borderBottom() + paddingTop() + paddingBottom(); const Length marginTop = style()->marginTop(); const Length marginBottom = style()->marginBottom(); @@ -2031,11 +2028,8 @@ // We don't use containingBlock(), since we may be positioned by an enclosing relpositioned inline. const RenderObject* containerBlock = container(); + const int containerHeight = containerBlock->height() - containerBlock->borderTop() - containerBlock->borderBottom(); - // Even in strict mode (where we don't grow the root to fill the viewport) - // other browsers position as though the root fills the viewport. - const int containerHeight = containerBlock->isRoot() ? containerBlock->availableHeight() : (containerBlock->height() - containerBlock->borderTop() - containerBlock->borderBottom()); - // Variables to solve. Length top = style()->top(); Length bottom = style()->bottom(); |