#include "config.h"
#include "core/rendering/RenderScrollbarPart.h"
-#include "core/rendering/LayoutRectRecorder.h"
#include "core/rendering/PaintInfo.h"
#include "core/rendering/RenderScrollbar.h"
#include "core/rendering/RenderScrollbarTheme.h"
void RenderScrollbarPart::layout()
{
- LayoutRectRecorder recorder(*this);
setLocation(LayoutPoint()); // We don't worry about positioning ourselves. We're just determining our minimum width/height.
if (m_scrollbar->orientation() == HorizontalScrollbar)
layoutHorizontalPart();
clearPreferredLogicalWidthsDirty();
}
-void RenderScrollbarPart::styleWillChange(StyleDifference diff, const RenderStyle* newStyle)
+void RenderScrollbarPart::styleWillChange(StyleDifference diff, const RenderStyle& newStyle)
{
RenderBlock::styleWillChange(diff, newStyle);
setInline(false);
clearPositionedState();
setFloating(false);
setHasOverflowClip(false);
- if (oldStyle && m_scrollbar && m_part != NoPart && diff >= StyleDifferenceRepaint)
+ if (oldStyle && m_scrollbar && m_part != NoPart && (diff.needsRepaint() || diff.needsLayout()))
m_scrollbar->theme()->invalidatePart(m_scrollbar, m_part);
}