Index: third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp |
diff --git a/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp b/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp |
index 886eac95a46b4ebbc92e8b2b956f988724676b9a..e429394ba937ad898d7536e6d3bc5ee417789c8e 100644 |
--- a/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp |
+++ b/third_party/WebKit/Source/core/layout/line/InlineFlowBox.cpp |
@@ -999,12 +999,11 @@ bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo |
prev = curr->prevOnLine(); |
// Layers will handle hit testing themselves. |
- if (curr->boxModelObject() && curr->boxModelObject().hasSelfPaintingLayer()) |
- continue; |
- |
- if (curr->nodeAtPoint(result, locationInContainer, accumulatedOffset, lineTop, lineBottom)) { |
- lineLayoutItem().updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset)); |
- return true; |
+ if (!curr->boxModelObject() || !curr->boxModelObject().hasSelfPaintingLayer()) { |
+ if (curr->nodeAtPoint(result, locationInContainer, accumulatedOffset, lineTop, lineBottom)) { |
+ lineLayoutItem().updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset)); |
+ return true; |
+ } |
} |
// If the current inline box's layout object and the previous inline box's layout object are same, |
@@ -1012,8 +1011,7 @@ bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo |
if (prev && curr->lineLayoutItem() == prev->lineLayoutItem()) |
continue; |
- // If a parent of the current inline box is a culled inline, |
- // we hit test it before we move the previous inline box. |
+ // Hit test the culled inline if necessary. |
LineLayoutItem currLayoutItem = curr->lineLayoutItem(); |
while (true) { |
// If the previous inline box is not a descendant of a current inline's parent, |