OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
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 3619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3630 clipRects.setFixed(true); | 3630 clipRects.setFixed(true); |
3631 } | 3631 } |
3632 else if (renderer()->style()->position() == RelativePosition) | 3632 else if (renderer()->style()->position() == RelativePosition) |
3633 clipRects.setPosClipRect(clipRects.overflowClipRect()); | 3633 clipRects.setPosClipRect(clipRects.overflowClipRect()); |
3634 else if (renderer()->style()->position() == AbsolutePosition) | 3634 else if (renderer()->style()->position() == AbsolutePosition) |
3635 clipRects.setOverflowClipRect(clipRects.posClipRect()); | 3635 clipRects.setOverflowClipRect(clipRects.posClipRect()); |
3636 | 3636 |
3637 // Update the clip rects that will be passed to child layers. | 3637 // Update the clip rects that will be passed to child layers. |
3638 if (renderer()->hasOverflowClip() || renderer()->hasClip()) { | 3638 if (renderer()->hasOverflowClip() || renderer()->hasClip()) { |
3639 // This layer establishes a clip of some kind. | 3639 // This layer establishes a clip of some kind. |
| 3640 |
| 3641 // This offset cannot use convertToLayerCoords, because sometimes our ro
otLayer may be across |
| 3642 // some transformed layer boundary, for example, in the RenderLayerCompo
sitor overlapMap, where |
| 3643 // clipRects are needed in view space. |
3640 LayoutPoint offset; | 3644 LayoutPoint offset; |
3641 convertToLayerCoords(rootLayer, offset); | 3645 offset = roundedIntPoint(renderer()->localToContainerPoint(FloatPoint(),
rootLayer->renderer())); |
3642 RenderView* view = renderer()->view(); | 3646 RenderView* view = renderer()->view(); |
3643 ASSERT(view); | 3647 ASSERT(view); |
3644 if (view && clipRects.fixed() && rootLayer->renderer() == view) { | 3648 if (view && clipRects.fixed() && rootLayer->renderer() == view) { |
3645 offset -= view->frameView()->scrollOffsetForFixedPosition(); | 3649 offset -= view->frameView()->scrollOffsetForFixedPosition(); |
3646 } | 3650 } |
3647 | 3651 |
3648 if (renderer()->hasOverflowClip()) { | 3652 if (renderer()->hasOverflowClip()) { |
3649 ClipRect newOverflowClip = toRenderBox(renderer())->overflowClipRect
(offset, region, relevancy); | 3653 ClipRect newOverflowClip = toRenderBox(renderer())->overflowClipRect
(offset, region, relevancy); |
3650 if (renderer()->style()->hasBorderRadius()) | 3654 if (renderer()->style()->hasBorderRadius()) |
3651 newOverflowClip.setHasRadius(true); | 3655 newOverflowClip.setHasRadius(true); |
(...skipping 848 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4500 } | 4504 } |
4501 } | 4505 } |
4502 | 4506 |
4503 void showLayerTree(const WebCore::RenderObject* renderer) | 4507 void showLayerTree(const WebCore::RenderObject* renderer) |
4504 { | 4508 { |
4505 if (!renderer) | 4509 if (!renderer) |
4506 return; | 4510 return; |
4507 showLayerTree(renderer->enclosingLayer()); | 4511 showLayerTree(renderer->enclosingLayer()); |
4508 } | 4512 } |
4509 #endif | 4513 #endif |
OLD | NEW |