OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 1182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1193 | 1193 |
1194 if (hitTestClippedOutByRoundedBorder(locationInContainer, adjustedLocation)) | 1194 if (hitTestClippedOutByRoundedBorder(locationInContainer, adjustedLocation)) |
1195 return false; | 1195 return false; |
1196 | 1196 |
1197 // Check our bounds next. For this purpose always assume that we can only be
hit in the | 1197 // Check our bounds next. For this purpose always assume that we can only be
hit in the |
1198 // foreground phase (which is true for replaced elements like images). | 1198 // foreground phase (which is true for replaced elements like images). |
1199 LayoutRect boundsRect = borderBoxRect(); | 1199 LayoutRect boundsRect = borderBoxRect(); |
1200 boundsRect.moveBy(adjustedLocation); | 1200 boundsRect.moveBy(adjustedLocation); |
1201 if (visibleToHitTestRequest(result.hitTestRequest()) && action == HitTestFor
eground && locationInContainer.intersects(boundsRect)) { | 1201 if (visibleToHitTestRequest(result.hitTestRequest()) && action == HitTestFor
eground && locationInContainer.intersects(boundsRect)) { |
1202 updateHitTestResult(result, locationInContainer.point() - toLayoutSize(a
djustedLocation)); | 1202 updateHitTestResult(result, locationInContainer.point() - toLayoutSize(a
djustedLocation)); |
1203 if (!result.addNodeToListBasedTestResult(node(), locationInContainer, bo
undsRect)) | 1203 if (result.addNodeToListBasedTestResult(node(), locationInContainer, bou
ndsRect) == StopHitTesting) |
1204 return true; | 1204 return true; |
1205 } | 1205 } |
1206 | 1206 |
1207 return false; | 1207 return false; |
1208 } | 1208 } |
1209 | 1209 |
1210 bool LayoutBox::hitTestChildren(HitTestResult& result, const HitTestLocation& lo
cationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) | 1210 bool LayoutBox::hitTestChildren(HitTestResult& result, const HitTestLocation& lo
cationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) |
1211 { | 1211 { |
1212 for (LayoutObject* child = slowLastChild(); child; child = child->previousSi
bling()) { | 1212 for (LayoutObject* child = slowLastChild(); child; child = child->previousSi
bling()) { |
1213 if ((!child->hasLayer() || !toLayoutBoxModelObject(child)->layer()->isSe
lfPaintingLayer()) && child->nodeAtPoint(result, locationInContainer, accumulate
dOffset, action)) | 1213 if ((!child->hasLayer() || !toLayoutBoxModelObject(child)->layer()->isSe
lfPaintingLayer()) && child->nodeAtPoint(result, locationInContainer, accumulate
dOffset, action)) |
(...skipping 3387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4601 } | 4601 } |
4602 | 4602 |
4603 void LayoutBox::clearPreviousPaintInvalidationRects() | 4603 void LayoutBox::clearPreviousPaintInvalidationRects() |
4604 { | 4604 { |
4605 LayoutBoxModelObject::clearPreviousPaintInvalidationRects(); | 4605 LayoutBoxModelObject::clearPreviousPaintInvalidationRects(); |
4606 if (PaintLayerScrollableArea* scrollableArea = this->scrollableArea()) | 4606 if (PaintLayerScrollableArea* scrollableArea = this->scrollableArea()) |
4607 scrollableArea->clearPreviousPaintInvalidationRects(); | 4607 scrollableArea->clearPreviousPaintInvalidationRects(); |
4608 } | 4608 } |
4609 | 4609 |
4610 } // namespace blink | 4610 } // namespace blink |
OLD | NEW |