| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 1493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1504 return hitLayer; | 1504 return hitLayer; |
| 1505 candidateLayer = hitLayer; | 1505 candidateLayer = hitLayer; |
| 1506 } | 1506 } |
| 1507 | 1507 |
| 1508 LayoutRect layerBounds; | 1508 LayoutRect layerBounds; |
| 1509 ClipRect backgroundRect, foregroundRect, outlineRect; | 1509 ClipRect backgroundRect, foregroundRect, outlineRect; |
| 1510 ClipRectsContext clipRectsContext(rootLayer, RootRelativeClipRects); | 1510 ClipRectsContext clipRectsContext(rootLayer, RootRelativeClipRects); |
| 1511 clipper().calculateRects(clipRectsContext, hitTestRect, layerBounds, backgro
undRect, foregroundRect, outlineRect); | 1511 clipper().calculateRects(clipRectsContext, hitTestRect, layerBounds, backgro
undRect, foregroundRect, outlineRect); |
| 1512 | 1512 |
| 1513 // Next we want to see if the mouse pos is inside the child RenderObjects of
the layer. | 1513 // Next we want to see if the mouse pos is inside the child RenderObjects of
the layer. |
| 1514 if (isSelfPaintingLayer() && !foregroundRect.intersects(hitTestLocation)) { | 1514 if (isSelfPaintingLayer() && foregroundRect.intersects(hitTestLocation)) { |
| 1515 // Hit test with a temporary HitTestResult, because we only want to comm
it to 'result' if we know we're frontmost. | 1515 // Hit test with a temporary HitTestResult, because we only want to comm
it to 'result' if we know we're frontmost. |
| 1516 HitTestResult tempResult(result.hitTestLocation()); | 1516 HitTestResult tempResult(result.hitTestLocation()); |
| 1517 if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, H
itTestDescendants) | 1517 if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, H
itTestDescendants) |
| 1518 && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTra
nsformState.get())) { | 1518 && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTra
nsformState.get())) { |
| 1519 if (result.isRectBasedTest()) | 1519 if (result.isRectBasedTest()) |
| 1520 result.append(tempResult); | 1520 result.append(tempResult); |
| 1521 else | 1521 else |
| 1522 result = tempResult; | 1522 result = tempResult; |
| 1523 if (!depthSortDescendants) | 1523 if (!depthSortDescendants) |
| 1524 return this; | 1524 return this; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1535 if (hitLayer) { | 1535 if (hitLayer) { |
| 1536 if (!depthSortDescendants) | 1536 if (!depthSortDescendants) |
| 1537 return hitLayer; | 1537 return hitLayer; |
| 1538 candidateLayer = hitLayer; | 1538 candidateLayer = hitLayer; |
| 1539 } | 1539 } |
| 1540 | 1540 |
| 1541 // If we found a layer, return. Child layers, and foreground always render i
n front of background. | 1541 // If we found a layer, return. Child layers, and foreground always render i
n front of background. |
| 1542 if (candidateLayer) | 1542 if (candidateLayer) |
| 1543 return candidateLayer; | 1543 return candidateLayer; |
| 1544 | 1544 |
| 1545 if (isSelfPaintingLayer() && !backgroundRect.intersects(hitTestLocation)) { | 1545 if (isSelfPaintingLayer() && backgroundRect.intersects(hitTestLocation)) { |
| 1546 HitTestResult tempResult(result.hitTestLocation()); | 1546 HitTestResult tempResult(result.hitTestLocation()); |
| 1547 if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, H
itTestSelf) | 1547 if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, H
itTestSelf) |
| 1548 && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTra
nsformState.get())) { | 1548 && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTra
nsformState.get())) { |
| 1549 if (result.isRectBasedTest()) | 1549 if (result.isRectBasedTest()) |
| 1550 result.append(tempResult); | 1550 result.append(tempResult); |
| 1551 else | 1551 else |
| 1552 result = tempResult; | 1552 result = tempResult; |
| 1553 return this; | 1553 return this; |
| 1554 } | 1554 } |
| 1555 if (result.isRectBasedTest()) | 1555 if (result.isRectBasedTest()) |
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2055 } | 2055 } |
| 2056 } | 2056 } |
| 2057 | 2057 |
| 2058 void showLayerTree(const blink::RenderObject* renderer) | 2058 void showLayerTree(const blink::RenderObject* renderer) |
| 2059 { | 2059 { |
| 2060 if (!renderer) | 2060 if (!renderer) |
| 2061 return; | 2061 return; |
| 2062 showLayerTree(renderer->enclosingLayer()); | 2062 showLayerTree(renderer->enclosingLayer()); |
| 2063 } | 2063 } |
| 2064 #endif | 2064 #endif |
| OLD | NEW |