OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 GraphicsLayerUpdateSubtree, | 59 GraphicsLayerUpdateSubtree, |
60 }; | 60 }; |
61 | 61 |
62 // CompositedLayerMapping keeps track of how RenderLayers of the render tree cor
respond to | 62 // CompositedLayerMapping keeps track of how RenderLayers of the render tree cor
respond to |
63 // GraphicsLayers of the composited layer tree. Each instance of CompositedLayer
Mapping | 63 // GraphicsLayers of the composited layer tree. Each instance of CompositedLayer
Mapping |
64 // manages a small cluster of GraphicsLayers and the references to which RenderL
ayers | 64 // manages a small cluster of GraphicsLayers and the references to which RenderL
ayers |
65 // and paint phases contribute to each GraphicsLayer. | 65 // and paint phases contribute to each GraphicsLayer. |
66 // | 66 // |
67 // Currently (Oct. 2013) there is one CompositedLayerMapping for each RenderLaye
r, | 67 // Currently (Oct. 2013) there is one CompositedLayerMapping for each RenderLaye
r, |
68 // but this is likely to evolve soon. | 68 // but this is likely to evolve soon. |
69 class CompositedLayerMapping FINAL : public GraphicsLayerClient { | 69 class CompositedLayerMapping final : public GraphicsLayerClient { |
70 WTF_MAKE_NONCOPYABLE(CompositedLayerMapping); WTF_MAKE_FAST_ALLOCATED; | 70 WTF_MAKE_NONCOPYABLE(CompositedLayerMapping); WTF_MAKE_FAST_ALLOCATED; |
71 public: | 71 public: |
72 explicit CompositedLayerMapping(RenderLayer&); | 72 explicit CompositedLayerMapping(RenderLayer&); |
73 virtual ~CompositedLayerMapping(); | 73 virtual ~CompositedLayerMapping(); |
74 | 74 |
75 RenderLayer& owningLayer() const { return m_owningLayer; } | 75 RenderLayer& owningLayer() const { return m_owningLayer; } |
76 | 76 |
77 bool updateGraphicsLayerConfiguration(); | 77 bool updateGraphicsLayerConfiguration(); |
78 void updateGraphicsLayerGeometry(const RenderLayer* compositingContainer, co
nst RenderLayer* compositingStackingContext, Vector<RenderLayer*>& layersNeeding
PaintInvalidation); | 78 void updateGraphicsLayerGeometry(const RenderLayer* compositingContainer, co
nst RenderLayer* compositingStackingContext, Vector<RenderLayer*>& layersNeeding
PaintInvalidation); |
79 | 79 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 | 145 |
146 // Returns true if the assignment actually changed the assigned squashing la
yer. | 146 // Returns true if the assignment actually changed the assigned squashing la
yer. |
147 bool updateSquashingLayerAssignment(RenderLayer* squashedLayer, const Render
Layer& owningLayer, size_t nextSquashedLayerIndex); | 147 bool updateSquashingLayerAssignment(RenderLayer* squashedLayer, const Render
Layer& owningLayer, size_t nextSquashedLayerIndex); |
148 void removeRenderLayerFromSquashingGraphicsLayer(const RenderLayer*); | 148 void removeRenderLayerFromSquashingGraphicsLayer(const RenderLayer*); |
149 | 149 |
150 void finishAccumulatingSquashingLayers(size_t nextSquashedLayerIndex); | 150 void finishAccumulatingSquashingLayers(size_t nextSquashedLayerIndex); |
151 void updateRenderingContext(); | 151 void updateRenderingContext(); |
152 void updateShouldFlattenTransform(); | 152 void updateShouldFlattenTransform(); |
153 | 153 |
154 // GraphicsLayerClient interface | 154 // GraphicsLayerClient interface |
155 virtual void notifyAnimationStarted(const GraphicsLayer*, double monotonicTi
me) OVERRIDE; | 155 virtual void notifyAnimationStarted(const GraphicsLayer*, double monotonicTi
me) override; |
156 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL
ayerPaintingPhase, const IntRect& clip) OVERRIDE; | 156 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL
ayerPaintingPhase, const IntRect& clip) override; |
157 virtual bool isTrackingPaintInvalidations() const OVERRIDE; | 157 virtual bool isTrackingPaintInvalidations() const override; |
158 | 158 |
159 #if ENABLE(ASSERT) | 159 #if ENABLE(ASSERT) |
160 virtual void verifyNotPainting() OVERRIDE; | 160 virtual void verifyNotPainting() override; |
161 #endif | 161 #endif |
162 | 162 |
163 LayoutRect contentsBox() const; | 163 LayoutRect contentsBox() const; |
164 | 164 |
165 GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizo
ntalScrollbar.get(); } | 165 GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizo
ntalScrollbar.get(); } |
166 GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVertical
Scrollbar.get(); } | 166 GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVertical
Scrollbar.get(); } |
167 GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner.
get(); } | 167 GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner.
get(); } |
168 | 168 |
169 // Returns true if the overflow controls cannot be positioned within this | 169 // Returns true if the overflow controls cannot be positioned within this |
170 // CLM's internal hierarchy without incorrectly stacking under some | 170 // CLM's internal hierarchy without incorrectly stacking under some |
(...skipping 14 matching lines...) Expand all Loading... |
185 bool needsGraphicsLayerUpdate() { return m_pendingUpdateScope > GraphicsLaye
rUpdateNone; } | 185 bool needsGraphicsLayerUpdate() { return m_pendingUpdateScope > GraphicsLaye
rUpdateNone; } |
186 void setNeedsGraphicsLayerUpdate(GraphicsLayerUpdateScope scope) { m_pending
UpdateScope = std::max(static_cast<GraphicsLayerUpdateScope>(m_pendingUpdateScop
e), scope); } | 186 void setNeedsGraphicsLayerUpdate(GraphicsLayerUpdateScope scope) { m_pending
UpdateScope = std::max(static_cast<GraphicsLayerUpdateScope>(m_pendingUpdateScop
e), scope); } |
187 void clearNeedsGraphicsLayerUpdate() { m_pendingUpdateScope = GraphicsLayerU
pdateNone; } | 187 void clearNeedsGraphicsLayerUpdate() { m_pendingUpdateScope = GraphicsLayerU
pdateNone; } |
188 | 188 |
189 GraphicsLayerUpdater::UpdateType updateTypeForChildren(GraphicsLayerUpdater:
:UpdateType) const; | 189 GraphicsLayerUpdater::UpdateType updateTypeForChildren(GraphicsLayerUpdater:
:UpdateType) const; |
190 | 190 |
191 #if ENABLE(ASSERT) | 191 #if ENABLE(ASSERT) |
192 void assertNeedsToUpdateGraphicsLayerBitsCleared() { ASSERT(m_pendingUpdate
Scope == GraphicsLayerUpdateNone); } | 192 void assertNeedsToUpdateGraphicsLayerBitsCleared() { ASSERT(m_pendingUpdate
Scope == GraphicsLayerUpdateNone); } |
193 #endif | 193 #endif |
194 | 194 |
195 virtual String debugName(const GraphicsLayer*) OVERRIDE; | 195 virtual String debugName(const GraphicsLayer*) override; |
196 | 196 |
197 LayoutSize contentOffsetInCompositingLayer() const; | 197 LayoutSize contentOffsetInCompositingLayer() const; |
198 | 198 |
199 LayoutPoint squashingOffsetFromTransformedAncestor() | 199 LayoutPoint squashingOffsetFromTransformedAncestor() |
200 { | 200 { |
201 return m_squashingLayerOffsetFromTransformedAncestor; | 201 return m_squashingLayerOffsetFromTransformedAncestor; |
202 } | 202 } |
203 | 203 |
204 // If there is a squashed layer painting into this CLM that is an ancestor o
f the given RenderObject, return it. Otherwise return 0. | 204 // If there is a squashed layer painting into this CLM that is an ancestor o
f the given RenderObject, return it. Otherwise return 0. |
205 const GraphicsLayerPaintInfo* containingSquashedLayer(const RenderObject*); | 205 const GraphicsLayerPaintInfo* containingSquashedLayer(const RenderObject*); |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
423 unsigned m_isMainFrameRenderViewLayer : 1; | 423 unsigned m_isMainFrameRenderViewLayer : 1; |
424 unsigned m_requiresOwnBackingStoreForIntrinsicReasons : 1; | 424 unsigned m_requiresOwnBackingStoreForIntrinsicReasons : 1; |
425 unsigned m_requiresOwnBackingStoreForAncestorReasons : 1; | 425 unsigned m_requiresOwnBackingStoreForAncestorReasons : 1; |
426 unsigned m_backgroundLayerPaintsFixedRootBackground : 1; | 426 unsigned m_backgroundLayerPaintsFixedRootBackground : 1; |
427 unsigned m_scrollingContentsAreEmpty : 1; | 427 unsigned m_scrollingContentsAreEmpty : 1; |
428 }; | 428 }; |
429 | 429 |
430 } // namespace blink | 430 } // namespace blink |
431 | 431 |
432 #endif // CompositedLayerMapping_h | 432 #endif // CompositedLayerMapping_h |
OLD | NEW |