diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp index 65990f274..e9fc7aa60 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp @@ -191,6 +191,10 @@ void RenderFlexibleBox::calcPrefWidths() } int toAdd = borderLeft() + borderRight() + paddingLeft() + paddingRight(); + + if (hasOverflowClip() && style()->overflowY() == OSCROLL) + toAdd += verticalScrollbarWidth(); + m_minPrefWidth += toAdd; m_maxPrefWidth += toAdd; @@ -276,10 +280,10 @@ void RenderFlexibleBox::layoutBlock(bool relayoutChildren) if (!hasOverflowClip()) { for (ShadowData* boxShadow = style()->boxShadow(); boxShadow; boxShadow = boxShadow->next) { - m_overflowLeft = min(m_overflowLeft, boxShadow->x - boxShadow->blur); - m_overflowWidth = max(m_overflowWidth, width() + boxShadow->x + boxShadow->blur); - m_overflowTop = min(m_overflowTop, boxShadow->y - boxShadow->blur); - m_overflowHeight = max(m_overflowHeight, height() + boxShadow->y + boxShadow->blur); + m_overflowLeft = min(m_overflowLeft, boxShadow->x - boxShadow->blur - boxShadow->spread); + m_overflowWidth = max(m_overflowWidth, width() + boxShadow->x + boxShadow->blur + boxShadow->spread); + m_overflowTop = min(m_overflowTop, boxShadow->y - boxShadow->blur - boxShadow->spread); + m_overflowHeight = max(m_overflowHeight, height() + boxShadow->y + boxShadow->blur + boxShadow->spread); } if (hasReflection()) { |