diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderWidget.cpp')
| -rw-r--r-- | Source/WebCore/rendering/RenderWidget.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/WebCore/rendering/RenderWidget.cpp b/Source/WebCore/rendering/RenderWidget.cpp index 21d0c3ad6..402bac4fc 100644 --- a/Source/WebCore/rendering/RenderWidget.cpp +++ b/Source/WebCore/rendering/RenderWidget.cpp @@ -61,9 +61,9 @@ void WidgetHierarchyUpdatesSuspensionScope::moveWidgets() widgetNewParentMap().clear(); WidgetToParentMap::iterator end = map.end(); for (WidgetToParentMap::iterator it = map.begin(); it != end; ++it) { - Widget* child = it->first.get(); + Widget* child = it->key.get(); ScrollView* currentParent = child->parent(); - FrameView* newParent = it->second; + FrameView* newParent = it->value; if (newParent != currentParent) { if (currentParent) currentParent->removeChild(child); @@ -169,7 +169,7 @@ bool RenderWidget::updateWidgetGeometry() if (!m_widget->transformsAffectFrameRect()) return setWidgetGeometry(absoluteContentBox()); - LayoutRect absoluteContentBox(localToAbsoluteQuad(FloatQuad(contentBox)).boundingBox()); + LayoutRect absoluteContentBox(localToAbsoluteQuad(FloatQuad(contentBox), SnapOffsetForTransforms).boundingBox()); if (m_widget->isFrameView()) { contentBox.setLocation(absoluteContentBox.location()); return setWidgetGeometry(contentBox); @@ -267,7 +267,9 @@ void RenderWidget::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) // Push a clip if we have a border radius, since we want to round the foreground content that gets painted. paintInfo.context->save(); - paintInfo.context->addRoundedRectClip(style()->getRoundedBorderFor(borderRect, view())); + RoundedRect roundedInnerRect = style()->getRoundedInnerBorderFor(borderRect, + paddingTop() + borderTop(), paddingBottom() + borderBottom(), paddingLeft() + borderLeft(), paddingRight() + borderRight(), true, true); + clipRoundedInnerRect(paintInfo.context, borderRect, roundedInnerRect); } if (m_widget) { |
