Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7095
Removing positioning from an element does not relayout properly
* rendering/render_object.cpp:
(WebCore::RenderObject::setStyle): The second call to setNeedsLayoutAndMinMaxRecalc
did not mark containing blocks for relayout based on the new position value since
the object itself was already marked as needing layout. Changed the first call to
only mark the containing blocks (based on the old position value) and not the
object itself.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
+
+ Test: fast/block/positioning/relayout-on-position-change.html
+
+ Reviewed by Hyatt.
+
+ - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7095
+ Removing positioning from an element does not relayout properly
+
+ * rendering/render_object.cpp:
+ (WebCore::RenderObject::setStyle): The second call to setNeedsLayoutAndMinMaxRecalc
+ did not mark containing blocks for relayout based on the new position value since
+ the object itself was already marked as needing layout. Changed the first call to
+ only mark the containing blocks (based on the old position value) and not the
+ object itself.
+
2006-02-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Eric.
// When a layout hint happens and an object's position style changes, we have to do a layout
// to dirty the render tree using the old position value now.
if (d == RenderStyle::Layout && m_parent && m_style->position() != style->position())
- setNeedsLayoutAndMinMaxRecalc();
+ markContainingBlocksForLayout();
if (isFloating() && (m_style->floating() != style->floating()))
// For changes in float styles, we need to conceivably remove ourselves