2008-03-17 Dan Bernstein <mitz@apple.com>
Rubber-stamped by Dave Hyatt.
- FloatingObject cleanup
Renamed FloatingObject's data members as follows: node -> m_renderer,
startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
and noPaint -> !m_shouldPaint, reversing the meaning of the flag.
Also addressed the FIXME in RenderBlock::containsFloat().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::leftRelOffset):
(WebCore::RenderBlock::rightRelOffset):
(WebCore::RenderBlock::nextFloatBottomBelow):
(WebCore::RenderBlock::floatBottom):
(WebCore::RenderBlock::floatRect):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::leftBottom):
(WebCore::RenderBlock::rightBottom):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::containsFloat): Changed to return false if the
floats lists exists but is empty, since line layout code no longer
relies on the buggy behavior.
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::containsFloats):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::matchedEndLine):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/rendering/bidi.cpp b/WebCore/rendering/bidi.cpp
index c1b5ac1..a62965e 100644
--- a/WebCore/rendering/bidi.cpp
+++ b/WebCore/rendering/bidi.cpp
@@ -945,10 +945,10 @@
} else
m_floatingObjects->first();
for (FloatingObject* f = m_floatingObjects->current(); f; f = m_floatingObjects->next()) {
- lastRootBox()->floats().append(f->node);
- ASSERT(f->node == floats[floatIndex].object);
+ lastRootBox()->floats().append(f->m_renderer);
+ ASSERT(f->m_renderer == floats[floatIndex].object);
// If a float's geometry has changed, give up on syncing with clean lines.
- if (floats[floatIndex].rect != IntRect(f->left, f->startY, f->width, f->endY - f->startY))
+ if (floats[floatIndex].rect != IntRect(f->m_left, f->m_top, f->m_width, f->m_bottom - f->m_top))
endLine = 0;
floatIndex++;
}
@@ -1007,7 +1007,7 @@
} else
m_floatingObjects->first();
for (FloatingObject* f = m_floatingObjects->current(); f; f = m_floatingObjects->next())
- lastRootBox()->floats().append(f->node);
+ lastRootBox()->floats().append(f->m_renderer);
lastFloat = m_floatingObjects->last();
}
}
@@ -1209,7 +1209,7 @@
int bottom = lastLine->blockHeight() + abs(delta);
for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) {
- if (f->endY >= top && f->endY < bottom)
+ if (f->m_bottom >= top && f->m_bottom < bottom)
return false;
}
@@ -1243,7 +1243,7 @@
int bottom = lastLine->blockHeight() + abs(delta);
for (FloatingObject* f = m_floatingObjects->first(); f; f = m_floatingObjects->next()) {
- if (f->endY >= top && f->endY < bottom)
+ if (f->m_bottom >= top && f->m_bottom < bottom)
return false;
}
}