Chromium Code Reviews| Index: Source/core/rendering/RenderInline.cpp |
| diff --git a/Source/core/rendering/RenderInline.cpp b/Source/core/rendering/RenderInline.cpp |
| index 802732c0f5f72098f7cce116e6e11ae04e76402b..a67fa996dddc220c9f423155df0ab560721367d8 100644 |
| --- a/Source/core/rendering/RenderInline.cpp |
| +++ b/Source/core/rendering/RenderInline.cpp |
| @@ -1363,24 +1363,6 @@ void RenderInline::imageChanged(WrappedImagePtr, const IntRect*) |
| setShouldDoFullPaintInvalidation(true); |
| } |
| -void RenderInline::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer) const |
| -{ |
| - AbsoluteRectsGeneratorContext context(rects, additionalOffset); |
| - generateLineBoxRects(context); |
| - |
| - addChildFocusRingRects(rects, additionalOffset, paintContainer); |
| - |
| - if (continuation()) { |
| - // If the continuation doesn't paint into the same container, let its paint invalidation container handle it. |
| - if (paintContainer != continuation()->containerForPaintInvalidation()) |
| - return; |
| - if (continuation()->isInline()) |
| - continuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + continuation()->containingBlock()->location() - containingBlock()->location()), paintContainer); |
| - else |
| - continuation()->addFocusRingRects(rects, flooredLayoutPoint(additionalOffset + toRenderBox(continuation())->location() - containingBlock()->location()), paintContainer); |
| - } |
| -} |
| - |
| namespace { |
| class AbsoluteLayoutRectsGeneratorContext { |
| @@ -1402,6 +1384,25 @@ private: |
| } |
| +void RenderInline::addFocusRingRects(Vector<LayoutRect>& rects, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer) const |
| +{ |
| + AbsoluteLayoutRectsGeneratorContext context(rects, additionalOffset); |
| + generateLineBoxRects(context); |
| + |
| + addChildFocusRingRects(rects, additionalOffset, paintContainer); |
| + |
| + if (continuation()) { |
| + // If the continuation doesn't paint into the same container, let its paint invalidation container handle it. |
| + if (paintContainer != continuation()->containerForPaintInvalidation()) |
| + return; |
| + LayoutPoint continuationAdditionalOffset = additionalOffset; |
| + continuationAdditionalOffset.move(continuation()->isInline() |
| + ? continuation()->containingBlock()->location() - containingBlock()->location() |
| + : toRenderBox(continuation())->location() - containingBlock()->location()); |
|
Julien - ping for review
2014/08/20 22:12:31
I found the previous structure more readable.
We
Xianzhu
2014/09/04 00:29:12
Done.
|
| + continuation()->addFocusRingRects(rects, continuationAdditionalOffset, paintContainer); |
| + } |
| +} |
| + |
| void RenderInline::computeSelfHitTestRects(Vector<LayoutRect>& rects, const LayoutPoint& layerOffset) const |
| { |
| AbsoluteLayoutRectsGeneratorContext context(rects, layerOffset); |