| Index: Source/core/rendering/RenderInline.cpp
|
| diff --git a/Source/core/rendering/RenderInline.cpp b/Source/core/rendering/RenderInline.cpp
|
| index 81a8bdc8c24e4c956c7f3216b8e9951949481428..7e342c8a0bb742bd46b1976631704887a0fdadd1 100644
|
| --- a/Source/core/rendering/RenderInline.cpp
|
| +++ b/Source/core/rendering/RenderInline.cpp
|
| @@ -1383,6 +1383,33 @@ void RenderInline::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint&
|
| }
|
| }
|
|
|
| +namespace {
|
| +
|
| +class AbsoluteLayoutRectsGeneratorContext {
|
| +public:
|
| + AbsoluteLayoutRectsGeneratorContext(Vector<LayoutRect>& rects, const LayoutPoint& accumulatedOffset)
|
| + : m_rects(rects)
|
| + , m_accumulatedOffset(accumulatedOffset) { }
|
| +
|
| + void operator()(const FloatRect& rect)
|
| + {
|
| + LayoutRect layoutRect(rect);
|
| + layoutRect.move(m_accumulatedOffset.x(), m_accumulatedOffset.y());
|
| + m_rects.append(layoutRect);
|
| + }
|
| +private:
|
| + Vector<LayoutRect>& m_rects;
|
| + const LayoutPoint& m_accumulatedOffset;
|
| +};
|
| +
|
| +}
|
| +
|
| +void RenderInline::computeSelfHitTestRects(Vector<LayoutRect>& rects, const LayoutPoint& layerOffset) const
|
| +{
|
| + AbsoluteLayoutRectsGeneratorContext context(rects, layerOffset);
|
| + generateLineBoxRects(context);
|
| +}
|
| +
|
| void RenderInline::paintOutline(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
|
| {
|
| if (!hasOutline())
|
|
|