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 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 bool hasVisibleDescendant() const { ASSERT(!m_visibleDescendantStatusDirty);
return m_hasVisibleDescendant; } | 299 bool hasVisibleDescendant() const { ASSERT(!m_visibleDescendantStatusDirty);
return m_hasVisibleDescendant; } |
300 | 300 |
301 void dirtyVisibleContentStatus(); | 301 void dirtyVisibleContentStatus(); |
302 void potentiallyDirtyVisibleContentStatus(EVisibility); | 302 void potentiallyDirtyVisibleContentStatus(EVisibility); |
303 | 303 |
304 bool hasBoxDecorationsOrBackground() const; | 304 bool hasBoxDecorationsOrBackground() const; |
305 bool hasVisibleBoxDecorations() const; | 305 bool hasVisibleBoxDecorations() const; |
306 // True if this layer container layoutObjects that paint. | 306 // True if this layer container layoutObjects that paint. |
307 bool hasNonEmptyChildLayoutObjects() const; | 307 bool hasNonEmptyChildLayoutObjects() const; |
308 | 308 |
309 // Will ensure that hasNonCompositiedChild are up to date. | 309 // Will ensure that isAllScrollingContentComposited() is up to date. |
310 void updateScrollingStateAfterCompositingChange(); | 310 void updateScrollingStateAfterCompositingChange(); |
311 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent;
} | 311 bool isAllScrollingContentComposited() const { return m_isAllScrollingConten
tComposited; } |
312 bool hasNonCompositedChild() const { ASSERT(isAllowedToQueryCompositingState
()); return m_hasNonCompositedChild; } | |
313 | 312 |
314 // Gets the ancestor layer that serves as the containing block of this layer
. This is either | 313 // Gets the ancestor layer that serves as the containing block of this layer
. This is either |
315 // another out of flow positioned layer, or one that contains paint. | 314 // another out of flow positioned layer, or one that contains paint. |
316 // If |ancestor| is specified, |*skippedAncestor| will be set to true if |an
cestor| is found in | 315 // If |ancestor| is specified, |*skippedAncestor| will be set to true if |an
cestor| is found in |
317 // the ancestry chain between this layer and the containing block layer; if
not found, it will | 316 // the ancestry chain between this layer and the containing block layer; if
not found, it will |
318 // be set to false. Either both |ancestor| and |skippedAncestor| should be n
ullptr, or none of | 317 // be set to false. Either both |ancestor| and |skippedAncestor| should be n
ullptr, or none of |
319 // them should. | 318 // them should. |
320 PaintLayer* containingLayerForOutOfFlowPositioned(const PaintLayer* ancestor
= nullptr, bool* skippedAncestor = nullptr) const; | 319 PaintLayer* containingLayerForOutOfFlowPositioned(const PaintLayer* ancestor
= nullptr, bool* skippedAncestor = nullptr) const; |
321 | 320 |
322 bool isPaintInvalidationContainer() const; | 321 bool isPaintInvalidationContainer() const; |
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 mutable unsigned m_hasSelfPaintingLayerDescendant : 1; | 807 mutable unsigned m_hasSelfPaintingLayerDescendant : 1; |
809 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1; | 808 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1; |
810 | 809 |
811 const unsigned m_isRootLayer : 1; | 810 const unsigned m_isRootLayer : 1; |
812 | 811 |
813 unsigned m_visibleContentStatusDirty : 1; | 812 unsigned m_visibleContentStatusDirty : 1; |
814 unsigned m_hasVisibleContent : 1; | 813 unsigned m_hasVisibleContent : 1; |
815 unsigned m_visibleDescendantStatusDirty : 1; | 814 unsigned m_visibleDescendantStatusDirty : 1; |
816 unsigned m_hasVisibleDescendant : 1; | 815 unsigned m_hasVisibleDescendant : 1; |
817 | 816 |
818 unsigned m_hasVisibleNonLayerContent : 1; | |
819 | |
820 #if ENABLE(ASSERT) | 817 #if ENABLE(ASSERT) |
821 unsigned m_needsPositionUpdate : 1; | 818 unsigned m_needsPositionUpdate : 1; |
822 #endif | 819 #endif |
823 | 820 |
824 unsigned m_3DTransformedDescendantStatusDirty : 1; | 821 unsigned m_3DTransformedDescendantStatusDirty : 1; |
825 // Set on a stacking context layer that has 3D descendants anywhere | 822 // Set on a stacking context layer that has 3D descendants anywhere |
826 // in a preserves3D hierarchy. Hint to do 3D-aware hit testing. | 823 // in a preserves3D hierarchy. Hint to do 3D-aware hit testing. |
827 unsigned m_has3DTransformedDescendant : 1; | 824 unsigned m_has3DTransformedDescendant : 1; |
828 | 825 |
829 unsigned m_containsDirtyOverlayScrollbars : 1; | 826 unsigned m_containsDirtyOverlayScrollbars : 1; |
830 | 827 |
831 unsigned m_needsAncestorDependentCompositingInputsUpdate : 1; | 828 unsigned m_needsAncestorDependentCompositingInputsUpdate : 1; |
832 unsigned m_needsDescendantDependentCompositingInputsUpdate : 1; | 829 unsigned m_needsDescendantDependentCompositingInputsUpdate : 1; |
833 unsigned m_childNeedsCompositingInputsUpdate : 1; | 830 unsigned m_childNeedsCompositingInputsUpdate : 1; |
834 | 831 |
835 // Used only while determining what layers should be composited. Applies to
the tree of z-order lists. | 832 // Used only while determining what layers should be composited. Applies to
the tree of z-order lists. |
836 unsigned m_hasCompositingDescendant : 1; | 833 unsigned m_hasCompositingDescendant : 1; |
837 | 834 |
838 // Applies to the real layout layer tree (i.e., the tree determined by the l
ayer's parent and children and | 835 // True iff we have scrollable overflow and all children of m_layoutObject a
re known to paint |
839 // as opposed to the tree formed by the z-order and normal flow lists). | 836 // exclusively into their own composited layers. Set by updateScrollingStat
eAfterCompositingChange(). |
840 unsigned m_hasNonCompositedChild : 1; | 837 unsigned m_isAllScrollingContentComposited : 1; |
841 | 838 |
842 // Should be for stacking contexts having unisolated blending descendants. | 839 // Should be for stacking contexts having unisolated blending descendants. |
843 unsigned m_shouldIsolateCompositedDescendants : 1; | 840 unsigned m_shouldIsolateCompositedDescendants : 1; |
844 | 841 |
845 // True if this layout layer just lost its grouped mapping due to the Compos
itedLayerMapping being destroyed, | 842 // True if this layout layer just lost its grouped mapping due to the Compos
itedLayerMapping being destroyed, |
846 // and we don't yet know to what graphics layer this Layer will be assigned. | 843 // and we don't yet know to what graphics layer this Layer will be assigned. |
847 unsigned m_lostGroupedMapping : 1; | 844 unsigned m_lostGroupedMapping : 1; |
848 | 845 |
849 unsigned m_needsRepaint : 1; | 846 unsigned m_needsRepaint : 1; |
850 unsigned m_previousPaintResult : 1; // PaintLayerPainter::PaintResult | 847 unsigned m_previousPaintResult : 1; // PaintLayerPainter::PaintResult |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
900 | 897 |
901 } // namespace blink | 898 } // namespace blink |
902 | 899 |
903 #ifndef NDEBUG | 900 #ifndef NDEBUG |
904 // Outside the WebCore namespace for ease of invocation from gdb. | 901 // Outside the WebCore namespace for ease of invocation from gdb. |
905 void showLayerTree(const blink::PaintLayer*); | 902 void showLayerTree(const blink::PaintLayer*); |
906 void showLayerTree(const blink::LayoutObject*); | 903 void showLayerTree(const blink::LayoutObject*); |
907 #endif | 904 #endif |
908 | 905 |
909 #endif // Layer_h | 906 #endif // Layer_h |
OLD | NEW |