| Index: Source/core/layout/LayoutBlock.cpp
|
| diff --git a/Source/core/layout/LayoutBlock.cpp b/Source/core/layout/LayoutBlock.cpp
|
| index f81d0abb791005e341a2800f4a2961e268a692dd..567cd79c64105a56ca456de3b9d213624659f8af 100644
|
| --- a/Source/core/layout/LayoutBlock.cpp
|
| +++ b/Source/core/layout/LayoutBlock.cpp
|
| @@ -2160,7 +2160,7 @@ Node* LayoutBlock::nodeForHitTest() const
|
| return isAnonymousBlockContinuation() ? continuation()->node() : node();
|
| }
|
|
|
| -bool LayoutBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
|
| +bool LayoutBlock::nodeAtPoint(HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
|
| {
|
| LayoutPoint adjustedLocation(accumulatedOffset + location());
|
| LayoutSize localOffset = toLayoutSize(adjustedLocation);
|
| @@ -2176,11 +2176,11 @@ bool LayoutBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
|
| }
|
|
|
| if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground)
|
| - && visibleToHitTestRequest(request)
|
| + && visibleToHitTestRequest(result.hitTestRequest())
|
| && isPointInOverflowControl(result, locationInContainer.point(), adjustedLocation)) {
|
| updateHitTestResult(result, locationInContainer.point() - localOffset);
|
| // FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet.
|
| - if (!result.addNodeToListBasedTestResult(nodeForHitTest(), request, locationInContainer))
|
| + if (!result.addNodeToListBasedTestResult(nodeForHitTest(), locationInContainer))
|
| return true;
|
| }
|
|
|
| @@ -2222,13 +2222,13 @@ bool LayoutBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
|
|
|
| // Hit test contents if we don't have columns.
|
| if (!hasColumns()) {
|
| - if (hitTestContents(request, result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
|
| + if (hitTestContents(result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
|
| updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
|
| return true;
|
| }
|
| - if (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, toLayoutPoint(scrolledOffset)))
|
| + if (hitTestAction == HitTestFloat && hitTestFloats(result, locationInContainer, toLayoutPoint(scrolledOffset)))
|
| return true;
|
| - } else if (hitTestColumns(request, result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
|
| + } else if (hitTestColumns(result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
|
| updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
|
| return true;
|
| }
|
| @@ -2246,9 +2246,9 @@ bool LayoutBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
|
| // Now hit test our background
|
| if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) {
|
| LayoutRect boundsRect(adjustedLocation, size());
|
| - if (visibleToHitTestRequest(request) && locationInContainer.intersects(boundsRect)) {
|
| + if (visibleToHitTestRequest(result.hitTestRequest()) && locationInContainer.intersects(boundsRect)) {
|
| updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
|
| - if (!result.addNodeToListBasedTestResult(nodeForHitTest(), request, locationInContainer, boundsRect))
|
| + if (!result.addNodeToListBasedTestResult(nodeForHitTest(), locationInContainer, boundsRect))
|
| return true;
|
| }
|
| }
|
| @@ -2315,7 +2315,7 @@ private:
|
| LayoutRect m_colRect;
|
| };
|
|
|
| -bool LayoutBlock::hitTestColumns(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
|
| +bool LayoutBlock::hitTestColumns(HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
|
| {
|
| // We need to do multiple passes, breaking up our hit testing into strips.
|
| if (!hasColumns())
|
| @@ -2332,9 +2332,9 @@ bool LayoutBlock::hitTestColumns(const HitTestRequest& request, HitTestResult& r
|
| it.adjust(offset);
|
| LayoutPoint finalLocation = accumulatedOffset + offset;
|
| if (!result.isRectBasedTest() || colRect.contains(hitRect))
|
| - return hitTestContents(request, result, locationInContainer, finalLocation, hitTestAction) || (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, finalLocation));
|
| + return hitTestContents(result, locationInContainer, finalLocation, hitTestAction) || (hitTestAction == HitTestFloat && hitTestFloats(result, locationInContainer, finalLocation));
|
|
|
| - hitTestContents(request, result, locationInContainer, finalLocation, hitTestAction);
|
| + hitTestContents(result, locationInContainer, finalLocation, hitTestAction);
|
| }
|
| }
|
|
|
| @@ -2352,11 +2352,11 @@ void LayoutBlock::adjustForColumnRect(LayoutSize& offset, const LayoutPoint& loc
|
| }
|
| }
|
|
|
| -bool LayoutBlock::hitTestContents(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
|
| +bool LayoutBlock::hitTestContents(HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
|
| {
|
| if (childrenInline() && !isTable()) {
|
| // We have to hit-test our line boxes.
|
| - if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accumulatedOffset, hitTestAction))
|
| + if (m_lineBoxes.hitTest(this, result, locationInContainer, accumulatedOffset, hitTestAction))
|
| return true;
|
| } else {
|
| // Hit test our children.
|
| @@ -2365,7 +2365,7 @@ bool LayoutBlock::hitTestContents(const HitTestRequest& request, HitTestResult&
|
| childHitTest = HitTestChildBlockBackground;
|
| for (LayoutBox* child = lastChildBox(); child; child = child->previousSiblingBox()) {
|
| LayoutPoint childPoint = flipForWritingModeForChild(child, accumulatedOffset);
|
| - if (!child->hasSelfPaintingLayer() && !child->isFloating() && !child->isColumnSpanAll() && child->nodeAtPoint(request, result, locationInContainer, childPoint, childHitTest))
|
| + if (!child->hasSelfPaintingLayer() && !child->isFloating() && !child->isColumnSpanAll() && child->nodeAtPoint(result, locationInContainer, childPoint, childHitTest))
|
| return true;
|
| }
|
| }
|
|
|