| 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 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 RenderLayer* renderingContextRoot(); | 149 RenderLayer* renderingContextRoot(); |
| 150 | 150 |
| 151 // Our current relative position offset. | 151 // Our current relative position offset. |
| 152 const LayoutSize offsetForInFlowPosition() const; | 152 const LayoutSize offsetForInFlowPosition() const; |
| 153 | 153 |
| 154 void blockSelectionGapsBoundsChanged(); | 154 void blockSelectionGapsBoundsChanged(); |
| 155 void addBlockSelectionGapsBounds(const LayoutRect&); | 155 void addBlockSelectionGapsBounds(const LayoutRect&); |
| 156 void clearBlockSelectionGapsBounds(); | 156 void clearBlockSelectionGapsBounds(); |
| 157 void invalidatePaintForBlockSelectionGaps(); | 157 void invalidatePaintForBlockSelectionGaps(); |
| 158 IntRect blockSelectionGapsBounds() const; | 158 IntRect blockSelectionGapsBounds() const; |
| 159 bool hasBlockSelectionGapBounds() const; | |
| 160 | 159 |
| 161 RenderLayerStackingNode* stackingNode() { return m_stackingNode.get(); } | 160 RenderLayerStackingNode* stackingNode() { return m_stackingNode.get(); } |
| 162 const RenderLayerStackingNode* stackingNode() const { return m_stackingNode.
get(); } | 161 const RenderLayerStackingNode* stackingNode() const { return m_stackingNode.
get(); } |
| 163 | 162 |
| 164 bool hasBoxDecorationsOrBackground() const; | 163 bool hasBoxDecorationsOrBackground() const; |
| 165 bool hasVisibleBoxDecorations() const; | 164 bool hasVisibleBoxDecorations() const; |
| 166 // Returns true if this layer has visible content (ignoring any child layers
). | 165 // Returns true if this layer has visible content (ignoring any child layers
). |
| 167 bool isVisuallyNonEmpty() const; | 166 bool isVisuallyNonEmpty() const; |
| 168 // True if this layer container renderers that paint. | 167 // True if this layer container renderers that paint. |
| 169 bool hasNonEmptyChildRenderers() const; | 168 bool hasNonEmptyChildRenderers() const; |
| 170 | 169 |
| 171 // Will ensure that hasNonCompositiedChild are up to date. | |
| 172 void updateScrollingStateAfterCompositingChange(); | |
| 173 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent;
} | |
| 174 bool hasNonCompositedChild() const { ASSERT(isAllowedToQueryCompositingState
()); return m_hasNonCompositedChild; } | |
| 175 | |
| 176 bool usedTransparency() const { return m_usedTransparency; } | 170 bool usedTransparency() const { return m_usedTransparency; } |
| 177 | 171 |
| 178 // Gets the nearest enclosing positioned ancestor layer (also includes | 172 // Gets the nearest enclosing positioned ancestor layer (also includes |
| 179 // the <html> layer and the root layer). | 173 // the <html> layer and the root layer). |
| 180 RenderLayer* enclosingPositionedAncestor() const; | 174 RenderLayer* enclosingPositionedAncestor() const; |
| 181 | 175 |
| 182 RenderLayer* enclosingOverflowClipLayer(IncludeSelfOrNot = IncludeSelf) cons
t; | 176 RenderLayer* enclosingOverflowClipLayer(IncludeSelfOrNot = IncludeSelf) cons
t; |
| 183 | 177 |
| 184 bool isPaintInvalidationContainer() const; | 178 bool isPaintInvalidationContainer() const; |
| 185 | 179 |
| (...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 607 // significant savings, especially if the tree has lots of non-self-painting
layers grouped together (e.g. table cells). | 601 // significant savings, especially if the tree has lots of non-self-painting
layers grouped together (e.g. table cells). |
| 608 mutable unsigned m_hasSelfPaintingLayerDescendant : 1; | 602 mutable unsigned m_hasSelfPaintingLayerDescendant : 1; |
| 609 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1; | 603 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1; |
| 610 | 604 |
| 611 const unsigned m_isRootLayer : 1; | 605 const unsigned m_isRootLayer : 1; |
| 612 | 606 |
| 613 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp
arent layer, i.e., whether | 607 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp
arent layer, i.e., whether |
| 614 // we ended up painting this layer or any desce
ndants (and therefore need to | 608 // we ended up painting this layer or any desce
ndants (and therefore need to |
| 615 // blend). | 609 // blend). |
| 616 | 610 |
| 617 unsigned m_hasVisibleNonLayerContent : 1; | |
| 618 | |
| 619 unsigned m_3DTransformedDescendantStatusDirty : 1; | 611 unsigned m_3DTransformedDescendantStatusDirty : 1; |
| 620 // Set on a stacking context layer that has 3D descendants anywhere | 612 // Set on a stacking context layer that has 3D descendants anywhere |
| 621 // in a preserves3D hierarchy. Hint to do 3D-aware hit testing. | 613 // in a preserves3D hierarchy. Hint to do 3D-aware hit testing. |
| 622 unsigned m_has3DTransformedDescendant : 1; | 614 unsigned m_has3DTransformedDescendant : 1; |
| 623 | 615 |
| 624 unsigned m_containsDirtyOverlayScrollbars : 1; | 616 unsigned m_containsDirtyOverlayScrollbars : 1; |
| 625 | 617 |
| 626 unsigned m_hasFilterInfo : 1; | 618 unsigned m_hasFilterInfo : 1; |
| 627 unsigned m_needsAncestorDependentCompositingInputsUpdate : 1; | 619 unsigned m_needsAncestorDependentCompositingInputsUpdate : 1; |
| 628 unsigned m_needsDescendantDependentCompositingInputsUpdate : 1; | 620 unsigned m_needsDescendantDependentCompositingInputsUpdate : 1; |
| 629 unsigned m_childNeedsCompositingInputsUpdate : 1; | 621 unsigned m_childNeedsCompositingInputsUpdate : 1; |
| 630 | 622 |
| 631 // Used only while determining what layers should be composited. Applies to
the tree of z-order lists. | 623 // Used only while determining what layers should be composited. Applies to
the tree of z-order lists. |
| 632 unsigned m_hasCompositingDescendant : 1; | 624 unsigned m_hasCompositingDescendant : 1; |
| 633 | 625 |
| 634 // Applies to the real render layer tree (i.e., the tree determined by the l
ayer's parent and children and | |
| 635 // as opposed to the tree formed by the z-order and normal flow lists). | |
| 636 unsigned m_hasNonCompositedChild : 1; | |
| 637 | |
| 638 // Should be for stacking contexts having unisolated blending descendants. | 626 // Should be for stacking contexts having unisolated blending descendants. |
| 639 unsigned m_shouldIsolateCompositedDescendants : 1; | 627 unsigned m_shouldIsolateCompositedDescendants : 1; |
| 640 | 628 |
| 641 // True if this render layer just lost its grouped mapping due to the Compos
itedLayerMapping being destroyed, | 629 // True if this render layer just lost its grouped mapping due to the Compos
itedLayerMapping being destroyed, |
| 642 // and we don't yet know to what graphics layer this RenderLayer will be ass
igned. | 630 // and we don't yet know to what graphics layer this RenderLayer will be ass
igned. |
| 643 unsigned m_lostGroupedMapping : 1; | 631 unsigned m_lostGroupedMapping : 1; |
| 644 | 632 |
| 645 RenderLayerModelObject* m_renderer; | 633 RenderLayerModelObject* m_renderer; |
| 646 | 634 |
| 647 RenderLayer* m_parent; | 635 RenderLayer* m_parent; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 | 670 |
| 683 } // namespace blink | 671 } // namespace blink |
| 684 | 672 |
| 685 #ifndef NDEBUG | 673 #ifndef NDEBUG |
| 686 // Outside the WebCore namespace for ease of invocation from gdb. | 674 // Outside the WebCore namespace for ease of invocation from gdb. |
| 687 void showLayerTree(const blink::RenderLayer*); | 675 void showLayerTree(const blink::RenderLayer*); |
| 688 void showLayerTree(const blink::RenderObject*); | 676 void showLayerTree(const blink::RenderObject*); |
| 689 #endif | 677 #endif |
| 690 | 678 |
| 691 #endif // RenderLayer_h | 679 #endif // RenderLayer_h |
| OLD | NEW |