Chromium Code Reviews| Index: Source/core/rendering/RenderLayer.cpp |
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
| index 94112877fa204de1f52ac4d9106c7a3aa6c1c58e..d9f19bf3d96c3f207698423369f045d5d3800665 100644 |
| --- a/Source/core/rendering/RenderLayer.cpp |
| +++ b/Source/core/rendering/RenderLayer.cpp |
| @@ -1882,6 +1882,8 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont |
| return this; |
| } |
| + ASSERT(!result.isRectBasedTest() || request.listBased()); |
|
Rick Byers
2015/02/04 10:34:03
Asserts like this can probably move into HitTestRe
pdr.
2015/02/17 04:10:14
Done.
pdr.
2015/02/17 04:10:14
Done.
|
| + |
| // Next we want to see if the mouse pos is inside the child RenderObjects of the layer. Check |
| // every fragment in reverse order. |
| if (isSelfPaintingLayer()) { |
| @@ -1890,7 +1892,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont |
| bool insideFragmentForegroundRect = false; |
| if (hitTestContentsForFragments(layerFragments, request, tempResult, hitTestLocation, HitTestDescendants, insideFragmentForegroundRect) |
| && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) { |
| - if (result.isRectBasedTest()) |
| + if (request.listBased()) |
| result.append(tempResult); |
| else |
| result = tempResult; |
| @@ -1898,7 +1900,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont |
| return this; |
| // Foreground can depth-sort with descendant layers, so keep this as a candidate. |
| candidateLayer = this; |
| - } else if (insideFragmentForegroundRect && result.isRectBasedTest()) |
| + } else if (insideFragmentForegroundRect && request.listBased()) |
| result.append(tempResult); |
| } |
| @@ -1920,13 +1922,13 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont |
| bool insideFragmentBackgroundRect = false; |
| if (hitTestContentsForFragments(layerFragments, request, tempResult, hitTestLocation, HitTestSelf, insideFragmentBackgroundRect) |
| && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) { |
| - if (result.isRectBasedTest()) |
| + if (request.listBased()) |
| result.append(tempResult); |
| else |
| result = tempResult; |
| return this; |
| } |
| - if (insideFragmentBackgroundRect && result.isRectBasedTest()) |
| + if (insideFragmentBackgroundRect && request.listBased()) |
| result.append(tempResult); |
| } |
| @@ -2026,7 +2028,7 @@ bool RenderLayer::hitTestContents(const HitTestRequest& request, HitTestResult& |
| if (!renderer()->hitTest(request, result, hitTestLocation, toLayoutPoint(layerBounds.location() - renderBoxLocation()), hitTestFilter)) { |
| // It's wrong to set innerNode, but then claim that you didn't hit anything, unless it is |
| // a rect-based test. |
| - ASSERT(!result.innerNode() || (result.isRectBasedTest() && result.rectBasedTestResult().size())); |
| + ASSERT(!result.innerNode() || (request.listBased() && result.listBasedTestResult().size())); |
| return false; |
| } |
| @@ -2067,14 +2069,15 @@ RenderLayer* RenderLayer::hitTestChildren(ChildrenIteration childrentoVisit, Ren |
| else |
| hitLayer = childLayer->hitTestLayer(rootLayer, this, request, tempResult, hitTestRect, hitTestLocation, false, transformState, zOffsetForDescendants); |
| - // If it a rect-based test, we can safely append the temporary result since it might had hit |
| + // If it a list-based test, we can safely append the temporary result since it might had hit |
|
Rick Byers
2015/02/04 10:34:03
nit: s/it/it is/
pdr.
2015/02/17 04:10:14
Done.
|
| // nodes but not necesserily had hitLayer set. |
| - if (result.isRectBasedTest()) |
| + ASSERT(!result.isRectBasedTest() || request.listBased()); |
| + if (request.listBased()) |
| result.append(tempResult); |
| if (isHitCandidate(hitLayer, depthSortDescendants, zOffset, unflattenedTransformState)) { |
| resultLayer = hitLayer; |
| - if (!result.isRectBasedTest()) |
| + if (!request.listBased()) |
| result = tempResult; |
| if (!depthSortDescendants) |
| break; |