| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 bool clipsCompositingDescendants(const RenderLayer*) const; | 99 bool clipsCompositingDescendants(const RenderLayer*) const; |
| 100 | 100 |
| 101 // Whether the given layer needs an extra 'contents' layer. | 101 // Whether the given layer needs an extra 'contents' layer. |
| 102 bool needsContentsCompositingLayer(const RenderLayer*) const; | 102 bool needsContentsCompositingLayer(const RenderLayer*) const; |
| 103 | 103 |
| 104 bool supportsFixedRootBackgroundCompositing() const; | 104 bool supportsFixedRootBackgroundCompositing() const; |
| 105 bool needsFixedRootBackgroundLayer(const RenderLayer*) const; | 105 bool needsFixedRootBackgroundLayer(const RenderLayer*) const; |
| 106 GraphicsLayer* fixedRootBackgroundLayer() const; | 106 GraphicsLayer* fixedRootBackgroundLayer() const; |
| 107 void setNeedsUpdateFixedBackground() { m_needsUpdateFixedBackground = true;
} | 107 void setNeedsUpdateFixedBackground() { m_needsUpdateFixedBackground = true;
} |
| 108 | 108 |
| 109 // Repaint the appropriate layers when the given RenderLayer starts or stops
being composited. | 109 // Issue paint invalidations of the appropriate layers when the given Render
Layer starts or stops being composited. |
| 110 void repaintOnCompositingChange(RenderLayer*); | 110 void paintInvalidationOnCompositingChange(RenderLayer*); |
| 111 | 111 |
| 112 void fullyInvalidatePaint(); | 112 void fullyInvalidatePaint(); |
| 113 | 113 |
| 114 RenderLayer* rootRenderLayer() const; | 114 RenderLayer* rootRenderLayer() const; |
| 115 GraphicsLayer* rootGraphicsLayer() const; | 115 GraphicsLayer* rootGraphicsLayer() const; |
| 116 GraphicsLayer* scrollLayer() const; | 116 GraphicsLayer* scrollLayer() const; |
| 117 GraphicsLayer* containerLayer() const; | 117 GraphicsLayer* containerLayer() const; |
| 118 | 118 |
| 119 // We don't always have a root transform layer. This function lazily allocat
es one | 119 // We don't always have a root transform layer. This function lazily allocat
es one |
| 120 // and returns it as required. | 120 // and returns it as required. |
| (...skipping 23 matching lines...) Expand all Loading... |
| 144 void rootFixedBackgroundsChanged(); | 144 void rootFixedBackgroundsChanged(); |
| 145 | 145 |
| 146 bool scrollingLayerDidChange(RenderLayer*); | 146 bool scrollingLayerDidChange(RenderLayer*); |
| 147 | 147 |
| 148 String layerTreeAsText(LayerTreeFlags); | 148 String layerTreeAsText(LayerTreeFlags); |
| 149 | 149 |
| 150 GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizo
ntalScrollbar.get(); } | 150 GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizo
ntalScrollbar.get(); } |
| 151 GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVertical
Scrollbar.get(); } | 151 GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVertical
Scrollbar.get(); } |
| 152 GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner.
get(); } | 152 GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner.
get(); } |
| 153 | 153 |
| 154 void resetTrackedRepaintRects(); | 154 void resetTrackedPaintInvalidationRects(); |
| 155 void setTracksRepaints(bool); | 155 void setTracksPaintInvalidations(bool); |
| 156 | 156 |
| 157 virtual String debugName(const GraphicsLayer*) OVERRIDE; | 157 virtual String debugName(const GraphicsLayer*) OVERRIDE; |
| 158 DocumentLifecycle& lifecycle() const; | 158 DocumentLifecycle& lifecycle() const; |
| 159 | 159 |
| 160 void updatePotentialCompositingReasonsFromStyle(RenderLayer*); | 160 void updatePotentialCompositingReasonsFromStyle(RenderLayer*); |
| 161 | 161 |
| 162 // Whether the layer could ever be composited. | 162 // Whether the layer could ever be composited. |
| 163 bool canBeComposited(const RenderLayer*) const; | 163 bool canBeComposited(const RenderLayer*) const; |
| 164 | 164 |
| 165 // FIXME: Move allocateOrClearCompositedLayerMapping to CompositingLayerAssi
gner once we've fixed | 165 // FIXME: Move allocateOrClearCompositedLayerMapping to CompositingLayerAssi
gner once we've fixed |
| (...skipping 10 matching lines...) Expand all Loading... |
| 176 class OverlapMap; | 176 class OverlapMap; |
| 177 | 177 |
| 178 #if ENABLE(ASSERT) | 178 #if ENABLE(ASSERT) |
| 179 void assertNoUnresolvedDirtyBits(); | 179 void assertNoUnresolvedDirtyBits(); |
| 180 #endif | 180 #endif |
| 181 | 181 |
| 182 // GraphicsLayerClient implementation | 182 // GraphicsLayerClient implementation |
| 183 virtual void notifyAnimationStarted(const GraphicsLayer*, double) OVERRIDE {
} | 183 virtual void notifyAnimationStarted(const GraphicsLayer*, double) OVERRIDE {
} |
| 184 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL
ayerPaintingPhase, const IntRect&) OVERRIDE; | 184 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL
ayerPaintingPhase, const IntRect&) OVERRIDE; |
| 185 | 185 |
| 186 virtual bool isTrackingRepaints() const OVERRIDE; | 186 virtual bool isTrackingPaintInvalidations() const OVERRIDE; |
| 187 | 187 |
| 188 // Whether the given RL needs to paint into its own separate backing (and he
nce would need its own CompositedLayerMapping). | 188 // Whether the given RL needs to paint into its own separate backing (and he
nce would need its own CompositedLayerMapping). |
| 189 bool needsOwnBacking(const RenderLayer*) const; | 189 bool needsOwnBacking(const RenderLayer*) const; |
| 190 | 190 |
| 191 void updateWithoutAcceleratedCompositing(CompositingUpdateType); | 191 void updateWithoutAcceleratedCompositing(CompositingUpdateType); |
| 192 void updateIfNeeded(); | 192 void updateIfNeeded(); |
| 193 | 193 |
| 194 void computeCompositingRequirements(RenderLayer* ancestorLayer, RenderLayer*
, OverlapMap&, struct CompositingRecursionData&, bool& descendantHas3DTransform,
Vector<RenderLayer*>& unclippedDescendants, IntRect& absoluteDecendantBoundingB
ox); | 194 void computeCompositingRequirements(RenderLayer* ancestorLayer, RenderLayer*
, OverlapMap&, struct CompositingRecursionData&, bool& descendantHas3DTransform,
Vector<RenderLayer*>& unclippedDescendants, IntRect& absoluteDecendantBoundingB
ox); |
| 195 | 195 |
| 196 bool hasAnyAdditionalCompositedLayers(const RenderLayer* rootLayer) const; | 196 bool hasAnyAdditionalCompositedLayers(const RenderLayer* rootLayer) const; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 | 229 |
| 230 // The root layer doesn't composite if it's a non-scrollable frame. | 230 // The root layer doesn't composite if it's a non-scrollable frame. |
| 231 // So, after a layout we set this dirty bit to know that we need | 231 // So, after a layout we set this dirty bit to know that we need |
| 232 // to recompute whether the root layer should composite even if | 232 // to recompute whether the root layer should composite even if |
| 233 // none of its descendants composite. | 233 // none of its descendants composite. |
| 234 // FIXME: Get rid of all the callers of setCompositingModeEnabled | 234 // FIXME: Get rid of all the callers of setCompositingModeEnabled |
| 235 // except the one in updateIfNeeded, then rename this to | 235 // except the one in updateIfNeeded, then rename this to |
| 236 // m_compositingDirty. | 236 // m_compositingDirty. |
| 237 bool m_rootShouldAlwaysCompositeDirty; | 237 bool m_rootShouldAlwaysCompositeDirty; |
| 238 bool m_needsUpdateFixedBackground; | 238 bool m_needsUpdateFixedBackground; |
| 239 bool m_isTrackingRepaints; // Used for testing. | 239 bool m_isTrackingPaintInvalidations; // Used for testing. |
| 240 | 240 |
| 241 RootLayerAttachment m_rootLayerAttachment; | 241 RootLayerAttachment m_rootLayerAttachment; |
| 242 | 242 |
| 243 // Enclosing container layer, which clips for iframe content | 243 // Enclosing container layer, which clips for iframe content |
| 244 OwnPtr<GraphicsLayer> m_containerLayer; | 244 OwnPtr<GraphicsLayer> m_containerLayer; |
| 245 OwnPtr<GraphicsLayer> m_scrollLayer; | 245 OwnPtr<GraphicsLayer> m_scrollLayer; |
| 246 | 246 |
| 247 // Enclosing layer for overflow controls and the clipping layer | 247 // Enclosing layer for overflow controls and the clipping layer |
| 248 OwnPtr<GraphicsLayer> m_overflowControlsHostLayer; | 248 OwnPtr<GraphicsLayer> m_overflowControlsHostLayer; |
| 249 | 249 |
| 250 // Layers for overflow controls | 250 // Layers for overflow controls |
| 251 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; | 251 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; |
| 252 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; | 252 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; |
| 253 OwnPtr<GraphicsLayer> m_layerForScrollCorner; | 253 OwnPtr<GraphicsLayer> m_layerForScrollCorner; |
| 254 #if USE(RUBBER_BANDING) | 254 #if USE(RUBBER_BANDING) |
| 255 OwnPtr<GraphicsLayer> m_layerForOverhangShadow; | 255 OwnPtr<GraphicsLayer> m_layerForOverhangShadow; |
| 256 #endif | 256 #endif |
| 257 | 257 |
| 258 bool m_inOverlayFullscreenVideo; | 258 bool m_inOverlayFullscreenVideo; |
| 259 }; | 259 }; |
| 260 | 260 |
| 261 } // namespace blink | 261 } // namespace blink |
| 262 | 262 |
| 263 #endif // RenderLayerCompositor_h | 263 #endif // RenderLayerCompositor_h |
| OLD | NEW |