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 3410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3421 result.unite(m_reflectionInfo->reflectionLayer()->boundingBoxForComposit
ing(this)); | 3421 result.unite(m_reflectionInfo->reflectionLayer()->boundingBoxForComposit
ing(this)); |
3422 | 3422 |
3423 ASSERT(m_stackingNode->isStackingContainer() || !m_stackingNode->hasPositive
ZOrderList()); | 3423 ASSERT(m_stackingNode->isStackingContainer() || !m_stackingNode->hasPositive
ZOrderList()); |
3424 | 3424 |
3425 #if !ASSERT_DISABLED | 3425 #if !ASSERT_DISABLED |
3426 LayerListMutationDetector mutationChecker(const_cast<RenderLayer*>(this)->st
ackingNode()); | 3426 LayerListMutationDetector mutationChecker(const_cast<RenderLayer*>(this)->st
ackingNode()); |
3427 #endif | 3427 #endif |
3428 | 3428 |
3429 RenderLayerStackingNodeIterator iterator(*m_stackingNode.get(), AllChildren)
; | 3429 RenderLayerStackingNodeIterator iterator(*m_stackingNode.get(), AllChildren)
; |
3430 while (RenderLayerStackingNode* node = iterator.next()) { | 3430 while (RenderLayerStackingNode* node = iterator.next()) { |
3431 if (node->layer()->hasCompositedLayerMapping() && options != ApplyBounds
ChickenEggHacks) | 3431 // Here we exclude both directly composted layers and squashing layers |
| 3432 // because those RenderLayers don't paint into the graphics layer |
| 3433 // for this RenderLayer. For example, the bounds of squashed RenderLayer
s |
| 3434 // will be included in the computation of the appropriate squashing |
| 3435 // GraphicsLayer. |
| 3436 if (options != ApplyBoundsChickenEggHacks && node->layer()->compositingS
tate() != NotComposited) |
3432 continue; | 3437 continue; |
3433 result.unite(node->layer()->boundingBoxForCompositing(this, options)); | 3438 result.unite(node->layer()->boundingBoxForCompositing(this, options)); |
3434 } | 3439 } |
3435 | 3440 |
3436 // FIXME: We can optimize the size of the composited layers, by not enlargin
g | 3441 // FIXME: We can optimize the size of the composited layers, by not enlargin
g |
3437 // filtered areas with the outsets if we know that the filter is going to re
nder in hardware. | 3442 // filtered areas with the outsets if we know that the filter is going to re
nder in hardware. |
3438 // https://bugs.webkit.org/show_bug.cgi?id=81239 | 3443 // https://bugs.webkit.org/show_bug.cgi?id=81239 |
3439 m_renderer->style()->filterOutsets().expandRect(result); | 3444 m_renderer->style()->filterOutsets().expandRect(result); |
3440 | 3445 |
3441 if (shouldIncludeTransform) | 3446 if (shouldIncludeTransform) |
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4015 } | 4020 } |
4016 } | 4021 } |
4017 | 4022 |
4018 void showLayerTree(const WebCore::RenderObject* renderer) | 4023 void showLayerTree(const WebCore::RenderObject* renderer) |
4019 { | 4024 { |
4020 if (!renderer) | 4025 if (!renderer) |
4021 return; | 4026 return; |
4022 showLayerTree(renderer->enclosingLayer()); | 4027 showLayerTree(renderer->enclosingLayer()); |
4023 } | 4028 } |
4024 #endif | 4029 #endif |
OLD | NEW |