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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 | 118 |
119 // If the layer paints into its own backings, this keeps track of the backin
gs. | 119 // If the layer paints into its own backings, this keeps track of the backin
gs. |
120 // It's nullptr if the layer is not composited or paints into grouped backin
g. | 120 // It's nullptr if the layer is not composited or paints into grouped backin
g. |
121 OwnPtr<CompositedLayerMapping> compositedLayerMapping; | 121 OwnPtr<CompositedLayerMapping> compositedLayerMapping; |
122 | 122 |
123 // If the layer paints into grouped backing (i.e. squashed), this points to
the | 123 // If the layer paints into grouped backing (i.e. squashed), this points to
the |
124 // grouped CompositedLayerMapping. It's null if the layer is not composited
or | 124 // grouped CompositedLayerMapping. It's null if the layer is not composited
or |
125 // paints into its own backing. | 125 // paints into its own backing. |
126 CompositedLayerMapping* groupedMapping; | 126 CompositedLayerMapping* groupedMapping; |
127 | 127 |
128 IntRect blockSelectionGapsBounds; | |
129 | |
130 OwnPtr<PaintLayerReflectionInfo> reflectionInfo; | 128 OwnPtr<PaintLayerReflectionInfo> reflectionInfo; |
131 | 129 |
132 // The accumulated subpixel offset of a composited layer's composited bounds
compared to absolute coordinates. | 130 // The accumulated subpixel offset of a composited layer's composited bounds
compared to absolute coordinates. |
133 LayoutSize subpixelAccumulation; | 131 LayoutSize subpixelAccumulation; |
134 }; | 132 }; |
135 | 133 |
136 // PaintLayer is an old object that handles lots of unrelated operations. | 134 // PaintLayer is an old object that handles lots of unrelated operations. |
137 // | 135 // |
138 // We want it to die at some point and be replaced by more focused objects, | 136 // We want it to die at some point and be replaced by more focused objects, |
139 // which would remove (or at least compartimentalize) a lot of complexity. | 137 // which would remove (or at least compartimentalize) a lot of complexity. |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 void updateLayerPositionsAfterLayout(); | 266 void updateLayerPositionsAfterLayout(); |
269 void updateLayerPositionsAfterOverflowScroll(const DoubleSize& scrollDelta); | 267 void updateLayerPositionsAfterOverflowScroll(const DoubleSize& scrollDelta); |
270 | 268 |
271 PaintLayer* enclosingPaginationLayer() const { return m_rareData ? m_rareDat
a->enclosingPaginationLayer : nullptr; } | 269 PaintLayer* enclosingPaginationLayer() const { return m_rareData ? m_rareDat
a->enclosingPaginationLayer : nullptr; } |
272 | 270 |
273 void updateTransformationMatrix(); | 271 void updateTransformationMatrix(); |
274 PaintLayer* renderingContextRoot(); | 272 PaintLayer* renderingContextRoot(); |
275 | 273 |
276 LayoutSize offsetForInFlowPosition() const { return m_rareData ? m_rareData-
>offsetForInFlowPosition : LayoutSize(); } | 274 LayoutSize offsetForInFlowPosition() const { return m_rareData ? m_rareData-
>offsetForInFlowPosition : LayoutSize(); } |
277 | 275 |
278 void addBlockSelectionGapsBounds(const LayoutRect&); | |
279 void clearBlockSelectionGapsBounds(); | |
280 void invalidatePaintForBlockSelectionGaps(); | |
281 IntRect blockSelectionGapsBounds() const; | |
282 bool hasBlockSelectionGapBounds() const; | |
283 | |
284 PaintLayerStackingNode* stackingNode() { return m_stackingNode.get(); } | 276 PaintLayerStackingNode* stackingNode() { return m_stackingNode.get(); } |
285 const PaintLayerStackingNode* stackingNode() const { return m_stackingNode.g
et(); } | 277 const PaintLayerStackingNode* stackingNode() const { return m_stackingNode.g
et(); } |
286 | 278 |
287 bool subtreeIsInvisible() const { return !hasVisibleContent() && !hasVisible
Descendant(); } | 279 bool subtreeIsInvisible() const { return !hasVisibleContent() && !hasVisible
Descendant(); } |
288 | 280 |
289 // FIXME: hasVisibleContent() should call updateDescendantDependentFlags() i
f m_visibleContentStatusDirty. | 281 // FIXME: hasVisibleContent() should call updateDescendantDependentFlags() i
f m_visibleContentStatusDirty. |
290 bool hasVisibleContent() const { ASSERT(!m_visibleContentStatusDirty); retur
n m_hasVisibleContent; } | 282 bool hasVisibleContent() const { ASSERT(!m_visibleContentStatusDirty); retur
n m_hasVisibleContent; } |
291 | 283 |
292 // FIXME: hasVisibleDescendant() should call updateDescendantDependentFlags(
) if m_visibleDescendantStatusDirty. | 284 // FIXME: hasVisibleDescendant() should call updateDescendantDependentFlags(
) if m_visibleDescendantStatusDirty. |
293 bool hasVisibleDescendant() const { ASSERT(!m_visibleDescendantStatusDirty);
return m_hasVisibleDescendant; } | 285 bool hasVisibleDescendant() const { ASSERT(!m_visibleDescendantStatusDirty);
return m_hasVisibleDescendant; } |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 | 731 |
740 void dirty3DTransformedDescendantStatus(); | 732 void dirty3DTransformedDescendantStatus(); |
741 // Both updates the status, and returns true if descendants of this have 3d. | 733 // Both updates the status, and returns true if descendants of this have 3d. |
742 bool update3DTransformedDescendantStatus(); | 734 bool update3DTransformedDescendantStatus(); |
743 | 735 |
744 void updateOrRemoveFilterClients(); | 736 void updateOrRemoveFilterClients(); |
745 | 737 |
746 void updatePaginationRecursive(bool needsPaginationUpdate = false); | 738 void updatePaginationRecursive(bool needsPaginationUpdate = false); |
747 void clearPaginationRecursive(); | 739 void clearPaginationRecursive(); |
748 | 740 |
749 void blockSelectionGapsBoundsChanged(); | |
750 | |
751 void markCompositingContainerChainForNeedsRepaint(); | 741 void markCompositingContainerChainForNeedsRepaint(); |
752 | 742 |
753 PaintLayerRareData& ensureRareData() | 743 PaintLayerRareData& ensureRareData() |
754 { | 744 { |
755 if (!m_rareData) | 745 if (!m_rareData) |
756 m_rareData = adoptPtr(new PaintLayerRareData); | 746 m_rareData = adoptPtr(new PaintLayerRareData); |
757 return *m_rareData; | 747 return *m_rareData; |
758 } | 748 } |
759 | 749 |
760 unsigned m_layerType : 2; // PaintLayerType | 750 unsigned m_layerType : 2; // PaintLayerType |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 | 847 |
858 } // namespace blink | 848 } // namespace blink |
859 | 849 |
860 #ifndef NDEBUG | 850 #ifndef NDEBUG |
861 // Outside the WebCore namespace for ease of invocation from gdb. | 851 // Outside the WebCore namespace for ease of invocation from gdb. |
862 void showLayerTree(const blink::PaintLayer*); | 852 void showLayerTree(const blink::PaintLayer*); |
863 void showLayerTree(const blink::LayoutObject*); | 853 void showLayerTree(const blink::LayoutObject*); |
864 #endif | 854 #endif |
865 | 855 |
866 #endif // Layer_h | 856 #endif // Layer_h |
OLD | NEW |