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 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 // True if this layer container renderers that paint. | 282 // True if this layer container renderers that paint. |
283 bool hasNonEmptyChildRenderers() const; | 283 bool hasNonEmptyChildRenderers() const; |
284 | 284 |
285 // FIXME: We should ASSERT(!m_hasSelfPaintingLayerDescendantDirty); here but
we hit the same bugs as visible content above. | 285 // FIXME: We should ASSERT(!m_hasSelfPaintingLayerDescendantDirty); here but
we hit the same bugs as visible content above. |
286 // Part of the issue is with subtree relayout: we don't check if our ancesto
rs have some descendant flags dirty, missing some updates. | 286 // Part of the issue is with subtree relayout: we don't check if our ancesto
rs have some descendant flags dirty, missing some updates. |
287 bool hasSelfPaintingLayerDescendant() const { return m_hasSelfPaintingLayerD
escendant; } | 287 bool hasSelfPaintingLayerDescendant() const { return m_hasSelfPaintingLayerD
escendant; } |
288 | 288 |
289 // FIXME: We should ASSERT(!m_hasOutOfFlowPositionedDescendantDirty) here. S
ee above. | 289 // FIXME: We should ASSERT(!m_hasOutOfFlowPositionedDescendantDirty) here. S
ee above. |
290 bool hasOutOfFlowPositionedDescendant() const { return m_hasOutOfFlowPositio
nedDescendant; } | 290 bool hasOutOfFlowPositionedDescendant() const { return m_hasOutOfFlowPositio
nedDescendant; } |
291 | 291 |
| 292 bool childLayerHasBlendMode() const { ASSERT(!m_childLayerHasBlendModeStatus
Dirty); return m_childLayerHasBlendMode; } |
| 293 |
292 void setHasOutOfFlowPositionedDescendant(bool hasDescendant) { m_hasOutOfFlo
wPositionedDescendant = hasDescendant; } | 294 void setHasOutOfFlowPositionedDescendant(bool hasDescendant) { m_hasOutOfFlo
wPositionedDescendant = hasDescendant; } |
293 void setHasOutOfFlowPositionedDescendantDirty(bool dirty) { m_hasOutOfFlowPo
sitionedDescendantDirty = dirty; } | 295 void setHasOutOfFlowPositionedDescendantDirty(bool dirty) { m_hasOutOfFlowPo
sitionedDescendantDirty = dirty; } |
294 | 296 |
295 bool hasUnclippedDescendant() const { return m_hasUnclippedDescendant; } | 297 bool hasUnclippedDescendant() const { return m_hasUnclippedDescendant; } |
296 void setHasUnclippedDescendant(bool hasDescendant) { m_hasUnclippedDescendan
t = hasDescendant; } | 298 void setHasUnclippedDescendant(bool hasDescendant) { m_hasUnclippedDescendan
t = hasDescendant; } |
297 void updateHasUnclippedDescendant(); | 299 void updateHasUnclippedDescendant(); |
298 bool isUnclippedDescendant() const { return m_isUnclippedDescendant; } | 300 bool isUnclippedDescendant() const { return m_isUnclippedDescendant; } |
299 | 301 |
300 // Gets the nearest enclosing positioned ancestor layer (also includes | 302 // Gets the nearest enclosing positioned ancestor layer (also includes |
301 // the <html> layer and the root layer). | 303 // the <html> layer and the root layer). |
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 // but for now, we are always allocating it for RenderBox as it's safer. | 797 // but for now, we are always allocating it for RenderBox as it's safer. |
796 bool requiresScrollableArea() const { return renderBox(); } | 798 bool requiresScrollableArea() const { return renderBox(); } |
797 void updateScrollableArea(); | 799 void updateScrollableArea(); |
798 | 800 |
799 void updateResizerAreaSet(); | 801 void updateResizerAreaSet(); |
800 void updateScrollableAreaSet(bool hasOverflow); | 802 void updateScrollableAreaSet(bool hasOverflow); |
801 | 803 |
802 void dirtyAncestorChainVisibleDescendantStatus(); | 804 void dirtyAncestorChainVisibleDescendantStatus(); |
803 void setAncestorChainHasVisibleDescendant(); | 805 void setAncestorChainHasVisibleDescendant(); |
804 | 806 |
| 807 void dirtyAncestorChainBlendedDescendantStatus(); |
| 808 void setAncestorChainBlendedDescendant(); |
| 809 |
805 void updateDescendantDependentFlags(); | 810 void updateDescendantDependentFlags(); |
806 | 811 |
807 // This flag is computed by RenderLayerCompositor, which knows more about 3d
hierarchies than we do. | 812 // This flag is computed by RenderLayerCompositor, which knows more about 3d
hierarchies than we do. |
808 void setHas3DTransformedDescendant(bool b) { m_has3DTransformedDescendant =
b; } | 813 void setHas3DTransformedDescendant(bool b) { m_has3DTransformedDescendant =
b; } |
809 bool has3DTransformedDescendant() const { return m_has3DTransformedDescendan
t; } | 814 bool has3DTransformedDescendant() const { return m_has3DTransformedDescendan
t; } |
810 | 815 |
811 void dirty3DTransformedDescendantStatus(); | 816 void dirty3DTransformedDescendantStatus(); |
812 // Both updates the status, and returns true if descendants of this have 3d. | 817 // Both updates the status, and returns true if descendants of this have 3d. |
813 bool update3DTransformedDescendantStatus(); | 818 bool update3DTransformedDescendantStatus(); |
814 | 819 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
893 // descendants in stacking order. This is one of the requirements of being | 898 // descendants in stacking order. This is one of the requirements of being |
894 // able to safely become a stacking context. | 899 // able to safely become a stacking context. |
895 unsigned m_canBePromotedToStackingContainer : 1; | 900 unsigned m_canBePromotedToStackingContainer : 1; |
896 unsigned m_canBePromotedToStackingContainerDirty : 1; | 901 unsigned m_canBePromotedToStackingContainerDirty : 1; |
897 | 902 |
898 const unsigned m_isRootLayer : 1; | 903 const unsigned m_isRootLayer : 1; |
899 | 904 |
900 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp
arent layer, i.e., whether | 905 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp
arent layer, i.e., whether |
901 // we ended up painting this layer or any desce
ndants (and therefore need to | 906 // we ended up painting this layer or any desce
ndants (and therefore need to |
902 // blend). | 907 // blend). |
| 908 unsigned m_childLayerHasBlendMode : 1; |
| 909 unsigned m_childLayerHasBlendModeStatusDirty : 1; |
| 910 |
903 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p
ainting inside a replica. | 911 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p
ainting inside a replica. |
904 unsigned m_repaintStatus : 2; // RepaintStatus | 912 unsigned m_repaintStatus : 2; // RepaintStatus |
905 | 913 |
906 unsigned m_visibleContentStatusDirty : 1; | 914 unsigned m_visibleContentStatusDirty : 1; |
907 unsigned m_hasVisibleContent : 1; | 915 unsigned m_hasVisibleContent : 1; |
908 unsigned m_visibleDescendantStatusDirty : 1; | 916 unsigned m_visibleDescendantStatusDirty : 1; |
909 unsigned m_hasVisibleDescendant : 1; | 917 unsigned m_hasVisibleDescendant : 1; |
910 | 918 |
911 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co
lumn ancestor, then this bit will be set. | 919 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co
lumn ancestor, then this bit will be set. |
912 | 920 |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1055 | 1063 |
1056 } // namespace WebCore | 1064 } // namespace WebCore |
1057 | 1065 |
1058 #ifndef NDEBUG | 1066 #ifndef NDEBUG |
1059 // Outside the WebCore namespace for ease of invocation from gdb. | 1067 // Outside the WebCore namespace for ease of invocation from gdb. |
1060 void showLayerTree(const WebCore::RenderLayer*); | 1068 void showLayerTree(const WebCore::RenderLayer*); |
1061 void showLayerTree(const WebCore::RenderObject*); | 1069 void showLayerTree(const WebCore::RenderObject*); |
1062 #endif | 1070 #endif |
1063 | 1071 |
1064 #endif // RenderLayer_h | 1072 #endif // RenderLayer_h |
OLD | NEW |