| Index: third_party/WebKit/Source/core/layout/LayoutBlock.cpp | 
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp | 
| index d6f52fd0b0c271ec706d1afb9f2cfae2aa32b1f1..c1ca7b349a786a4a06a70ee3040e14aee94a76b5 100644 | 
| --- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp | 
| +++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp | 
| @@ -1502,24 +1502,12 @@ Node* LayoutBlock::nodeForHitTest() const | 
| return isAnonymousBlockContinuation() ? continuation()->node() : node(); | 
| } | 
|  | 
| -// TODO(pdr): This is too similar to LayoutBox::nodeAtPoint and should share | 
| -//            more code, or merge into LayoutBox::nodeAtPoint entirely. | 
| bool LayoutBlock::nodeAtPoint(HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) | 
| { | 
| LayoutPoint adjustedLocation(accumulatedOffset + location()); | 
| LayoutSize localOffset = toLayoutSize(adjustedLocation); | 
|  | 
| -    if (!isLayoutView()) { | 
| -        // Check if we need to do anything at all. | 
| -        // If we have clipping, then we can't have any spillout. | 
| -        LayoutRect overflowBox = hasOverflowClip() ? borderBoxRect() : visualOverflowRect(); | 
| -        flipForWritingMode(overflowBox); | 
| -        overflowBox.moveBy(adjustedLocation); | 
| -        if (!locationInContainer.intersects(overflowBox)) | 
| -            return false; | 
| -    } | 
| - | 
| -    if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) | 
| +    if (isInSelfHitTestingPhase(hitTestAction) | 
| && visibleToHitTestRequest(result.hitTestRequest()) | 
| && isPointInOverflowControl(result, locationInContainer.point(), adjustedLocation)) { | 
| updateHitTestResult(result, locationInContainer.point() - localOffset); | 
| @@ -1527,27 +1515,7 @@ bool LayoutBlock::nodeAtPoint(HitTestResult& result, const HitTestLocation& loca | 
| if (result.addNodeToListBasedTestResult(nodeForHitTest(), locationInContainer) == StopHitTesting) | 
| return true; | 
| } | 
| - | 
| -    // TODO(pdr): We should also include checks for hit testing border radius at | 
| -    //            the layer level (see: crbug.com/568904). | 
| - | 
| -    if (hitTestChildren(result, locationInContainer, adjustedLocation, hitTestAction)) | 
| -        return true; | 
| - | 
| -    if (hitTestClippedOutByRoundedBorder(locationInContainer, adjustedLocation)) | 
| -        return false; | 
| - | 
| -    // Now hit test our background | 
| -    if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) { | 
| -        LayoutRect boundsRect(adjustedLocation, size()); | 
| -        if (visibleToHitTestRequest(result.hitTestRequest()) && locationInContainer.intersects(boundsRect)) { | 
| -            updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset)); | 
| -            if (result.addNodeToListBasedTestResult(nodeForHitTest(), locationInContainer, boundsRect) == StopHitTesting) | 
| -                return true; | 
| -        } | 
| -    } | 
| - | 
| -    return false; | 
| +    return LayoutBox::nodeAtPoint(result, locationInContainer, accumulatedOffset, hitTestAction); | 
| } | 
|  | 
| bool LayoutBlock::hitTestChildren(HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) | 
|  |