| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 3 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
| 4 * | 4 * |
| 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 6 * | 6 * |
| 7 * Other contributors: | 7 * Other contributors: |
| 8 * Robert O'Callahan <roc+@cs.cmu.edu> | 8 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 9 * David Baron <dbaron@fas.harvard.edu> | 9 * David Baron <dbaron@fas.harvard.edu> |
| 10 * Christian Biesinger <cbiesinger@web.de> | 10 * Christian Biesinger <cbiesinger@web.de> |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 // FIXME: We should ASSERT(!m_hasSelfPaintingLayerDescendantDirty); here but
we hit the same bugs as visible content above. | 279 // FIXME: We should ASSERT(!m_hasSelfPaintingLayerDescendantDirty); here but
we hit the same bugs as visible content above. |
| 280 // Part of the issue is with subtree relayout: we don't check if our ancesto
rs have some descendant flags dirty, missing some updates. | 280 // Part of the issue is with subtree relayout: we don't check if our ancesto
rs have some descendant flags dirty, missing some updates. |
| 281 bool hasSelfPaintingLayerDescendant() const { return m_hasSelfPaintingLayerD
escendant; } | 281 bool hasSelfPaintingLayerDescendant() const { return m_hasSelfPaintingLayerD
escendant; } |
| 282 | 282 |
| 283 // FIXME: We should ASSERT(!m_hasOutOfFlowPositionedDescendantDirty) here. S
ee above. | 283 // FIXME: We should ASSERT(!m_hasOutOfFlowPositionedDescendantDirty) here. S
ee above. |
| 284 bool hasOutOfFlowPositionedDescendant() const { return m_hasOutOfFlowPositio
nedDescendant; } | 284 bool hasOutOfFlowPositionedDescendant() const { return m_hasOutOfFlowPositio
nedDescendant; } |
| 285 | 285 |
| 286 void setHasOutOfFlowPositionedDescendant(bool hasDescendant) { m_hasOutOfFlo
wPositionedDescendant = hasDescendant; } | 286 void setHasOutOfFlowPositionedDescendant(bool hasDescendant) { m_hasOutOfFlo
wPositionedDescendant = hasDescendant; } |
| 287 void setHasOutOfFlowPositionedDescendantDirty(bool dirty) { m_hasOutOfFlowPo
sitionedDescendantDirty = dirty; } | 287 void setHasOutOfFlowPositionedDescendantDirty(bool dirty) { m_hasOutOfFlowPo
sitionedDescendantDirty = dirty; } |
| 288 | 288 |
| 289 bool childLayerHasBlendMode() const { ASSERT(!m_childLayerHasBlendModeStatus
Dirty); return m_childLayerHasBlendMode; } |
| 290 |
| 289 bool hasUnclippedDescendant() const { return m_hasUnclippedDescendant; } | 291 bool hasUnclippedDescendant() const { return m_hasUnclippedDescendant; } |
| 290 void setHasUnclippedDescendant(bool hasDescendant) { m_hasUnclippedDescendan
t = hasDescendant; } | 292 void setHasUnclippedDescendant(bool hasDescendant) { m_hasUnclippedDescendan
t = hasDescendant; } |
| 291 void updateHasUnclippedDescendant(); | 293 void updateHasUnclippedDescendant(); |
| 292 bool isUnclippedDescendant() const { return m_isUnclippedDescendant; } | 294 bool isUnclippedDescendant() const { return m_isUnclippedDescendant; } |
| 293 | 295 |
| 294 // Gets the nearest enclosing positioned ancestor layer (also includes | 296 // Gets the nearest enclosing positioned ancestor layer (also includes |
| 295 // the <html> layer and the root layer). | 297 // the <html> layer and the root layer). |
| 296 RenderLayer* enclosingPositionedAncestor() const; | 298 RenderLayer* enclosingPositionedAncestor() const; |
| 297 | 299 |
| 298 // Returns the nearest enclosing layer that is scrollable. | 300 // Returns the nearest enclosing layer that is scrollable. |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 757 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) | 759 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) |
| 758 // but for now, we are always allocating it for RenderBox as it's safer. | 760 // but for now, we are always allocating it for RenderBox as it's safer. |
| 759 bool requiresScrollableArea() const { return renderBox(); } | 761 bool requiresScrollableArea() const { return renderBox(); } |
| 760 void updateScrollableArea(); | 762 void updateScrollableArea(); |
| 761 | 763 |
| 762 void updateScrollableAreaSet(bool hasOverflow); | 764 void updateScrollableAreaSet(bool hasOverflow); |
| 763 | 765 |
| 764 void dirtyAncestorChainVisibleDescendantStatus(); | 766 void dirtyAncestorChainVisibleDescendantStatus(); |
| 765 void setAncestorChainHasVisibleDescendant(); | 767 void setAncestorChainHasVisibleDescendant(); |
| 766 | 768 |
| 769 void dirtyAncestorChainBlendedDescendantStatus(); |
| 770 void setAncestorChainBlendedDescendant(); |
| 771 |
| 767 void updateDescendantDependentFlags(); | 772 void updateDescendantDependentFlags(); |
| 768 | 773 |
| 769 // This flag is computed by RenderLayerCompositor, which knows more about 3d
hierarchies than we do. | 774 // This flag is computed by RenderLayerCompositor, which knows more about 3d
hierarchies than we do. |
| 770 void setHas3DTransformedDescendant(bool b) { m_has3DTransformedDescendant =
b; } | 775 void setHas3DTransformedDescendant(bool b) { m_has3DTransformedDescendant =
b; } |
| 771 bool has3DTransformedDescendant() const { return m_has3DTransformedDescendan
t; } | 776 bool has3DTransformedDescendant() const { return m_has3DTransformedDescendan
t; } |
| 772 | 777 |
| 773 void dirty3DTransformedDescendantStatus(); | 778 void dirty3DTransformedDescendantStatus(); |
| 774 // Both updates the status, and returns true if descendants of this have 3d. | 779 // Both updates the status, and returns true if descendants of this have 3d. |
| 775 bool update3DTransformedDescendantStatus(); | 780 bool update3DTransformedDescendantStatus(); |
| 776 | 781 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 849 // descendants in stacking order. This is one of the requirements of being | 854 // descendants in stacking order. This is one of the requirements of being |
| 850 // able to safely become a stacking context. | 855 // able to safely become a stacking context. |
| 851 unsigned m_canBePromotedToStackingContainer : 1; | 856 unsigned m_canBePromotedToStackingContainer : 1; |
| 852 unsigned m_canBePromotedToStackingContainerDirty : 1; | 857 unsigned m_canBePromotedToStackingContainerDirty : 1; |
| 853 | 858 |
| 854 const unsigned m_isRootLayer : 1; | 859 const unsigned m_isRootLayer : 1; |
| 855 | 860 |
| 856 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp
arent layer, i.e., whether | 861 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp
arent layer, i.e., whether |
| 857 // we ended up painting this layer or any desce
ndants (and therefore need to | 862 // we ended up painting this layer or any desce
ndants (and therefore need to |
| 858 // blend). | 863 // blend). |
| 864 |
| 865 unsigned m_childLayerHasBlendMode : 1; |
| 866 unsigned m_childLayerHasBlendModeStatusDirty : 1; |
| 859 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p
ainting inside a replica. | 867 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p
ainting inside a replica. |
| 860 | 868 |
| 861 unsigned m_visibleContentStatusDirty : 1; | 869 unsigned m_visibleContentStatusDirty : 1; |
| 862 unsigned m_hasVisibleContent : 1; | 870 unsigned m_hasVisibleContent : 1; |
| 863 unsigned m_visibleDescendantStatusDirty : 1; | 871 unsigned m_visibleDescendantStatusDirty : 1; |
| 864 unsigned m_hasVisibleDescendant : 1; | 872 unsigned m_hasVisibleDescendant : 1; |
| 865 | 873 |
| 866 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co
lumn ancestor, then this bit will be set. | 874 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co
lumn ancestor, then this bit will be set. |
| 867 | 875 |
| 868 unsigned m_3DTransformedDescendantStatusDirty : 1; | 876 unsigned m_3DTransformedDescendantStatusDirty : 1; |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1004 | 1012 |
| 1005 } // namespace WebCore | 1013 } // namespace WebCore |
| 1006 | 1014 |
| 1007 #ifndef NDEBUG | 1015 #ifndef NDEBUG |
| 1008 // Outside the WebCore namespace for ease of invocation from gdb. | 1016 // Outside the WebCore namespace for ease of invocation from gdb. |
| 1009 void showLayerTree(const WebCore::RenderLayer*); | 1017 void showLayerTree(const WebCore::RenderLayer*); |
| 1010 void showLayerTree(const WebCore::RenderObject*); | 1018 void showLayerTree(const WebCore::RenderObject*); |
| 1011 #endif | 1019 #endif |
| 1012 | 1020 |
| 1013 #endif // RenderLayer_h | 1021 #endif // RenderLayer_h |
| OLD | NEW |