Index: Source/WebCore/rendering/RenderBlock.cpp |
=================================================================== |
--- Source/WebCore/rendering/RenderBlock.cpp (revision 145084) |
+++ Source/WebCore/rendering/RenderBlock.cpp (working copy) |
@@ -3090,7 +3090,7 @@ |
// 5. paint outline. |
if ((paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseSelfOutline) && hasOutline() && style()->visibility() == VISIBLE) |
- paintOutline(paintInfo.context, LayoutRect(paintOffset, size())); |
+ paintOutline(paintInfo, LayoutRect(paintOffset, size())); |
// 6. paint continuation outlines. |
if ((paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseChildOutlines)) { |
@@ -3113,7 +3113,7 @@ |
if (!inlineEnclosedInSelfPaintingLayer && !hasLayer()) |
cb->addContinuationWithOutline(inlineRenderer); |
else if (!inlineRenderer->firstLineBox() || (!inlineEnclosedInSelfPaintingLayer && hasLayer())) |
- inlineRenderer->paintOutline(paintInfo.context, paintOffset - locationOffset() + inlineRenderer->containingBlock()->location()); |
+ inlineRenderer->paintOutline(paintInfo, paintOffset - locationOffset() + inlineRenderer->containingBlock()->location()); |
} |
paintContinuationOutlines(paintInfo, paintOffset); |
} |
@@ -3241,7 +3241,7 @@ |
for ( ; block && block != this; block = block->containingBlock()) |
accumulatedPaintOffset.moveBy(block->location()); |
ASSERT(block); |
- flow->paintOutline(info.context, accumulatedPaintOffset); |
+ flow->paintOutline(info, accumulatedPaintOffset); |
} |
} |
@@ -6978,7 +6978,7 @@ |
return caretRect; |
} |
-void RenderBlock::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& additionalOffset) |
+void RenderBlock::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer) |
{ |
// For blocks inside inlines, we go ahead and include margins so that we run right up to the |
// inline boxes above and below us (thus getting merged with them to form a single irregular |
@@ -7013,16 +7013,16 @@ |
FloatPoint pos; |
// FIXME: This doesn't work correctly with transforms. |
if (box->layer()) |
- pos = curr->localToAbsolute(); |
+ pos = curr->localToContainerPoint(FloatPoint(), paintContainer); |
else |
pos = FloatPoint(additionalOffset.x() + box->x(), additionalOffset.y() + box->y()); |
- box->addFocusRingRects(rects, flooredLayoutPoint(pos)); |
+ box->addFocusRingRects(rects, flooredLayoutPoint(pos), paintContainer); |
} |
} |
} |
if (inlineElementContinuation()) |
- inlineElementContinuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + inlineElementContinuation()->containingBlock()->location() - location())); |
+ inlineElementContinuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + inlineElementContinuation()->containingBlock()->location() - location()), paintContainer); |
} |
RenderBox* RenderBlock::createAnonymousBoxWithSameTypeAs(const RenderObject* parent) const |