Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(359)

Side by Side Diff: Source/core/rendering/compositing/CompositedLayerMapping.h

Issue 183833020: Re-land "Drop background color optimization for composited layers" (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Make Mac test bot pass Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL ayerPaintingPhase, const IntRect& clip) OVERRIDE; 178 virtual void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsL ayerPaintingPhase, const IntRect& clip) OVERRIDE;
179 virtual bool isTrackingRepaints() const OVERRIDE; 179 virtual bool isTrackingRepaints() const OVERRIDE;
180 180
181 PassOwnPtr<Vector<FloatRect> > collectTrackedRepaintRects() const; 181 PassOwnPtr<Vector<FloatRect> > collectTrackedRepaintRects() const;
182 182
183 #ifndef NDEBUG 183 #ifndef NDEBUG
184 virtual void verifyNotPainting() OVERRIDE; 184 virtual void verifyNotPainting() OVERRIDE;
185 #endif 185 #endif
186 186
187 LayoutRect contentsBox() const; 187 LayoutRect contentsBox() const;
188 IntRect backgroundBox() const;
189 188
190 GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizo ntalScrollbar.get(); } 189 GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizo ntalScrollbar.get(); }
191 GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVertical Scrollbar.get(); } 190 GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVertical Scrollbar.get(); }
192 GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner. get(); } 191 GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner. get(); }
193 192
194 void updateFilters(const RenderStyle*); 193 void updateFilters(const RenderStyle*);
195 bool canCompositeFilters() const { return m_canCompositeFilters; } 194 bool canCompositeFilters() const { return m_canCompositeFilters; }
196 195
197 void setBlendMode(blink::WebBlendMode); 196 void setBlendMode(blink::WebBlendMode);
198 197
(...skipping 21 matching lines...) Expand all
220 bool updateBackgroundLayer(bool needsBackgroundLayer); 219 bool updateBackgroundLayer(bool needsBackgroundLayer);
221 bool updateMaskLayer(bool needsMaskLayer); 220 bool updateMaskLayer(bool needsMaskLayer);
222 bool updateClippingMaskLayers(bool needsChildClippingMaskLayer); 221 bool updateClippingMaskLayers(bool needsChildClippingMaskLayer);
223 bool requiresHorizontalScrollbarLayer() const { return m_owningLayer->scroll ableArea() && m_owningLayer->scrollableArea()->horizontalScrollbar(); } 222 bool requiresHorizontalScrollbarLayer() const { return m_owningLayer->scroll ableArea() && m_owningLayer->scrollableArea()->horizontalScrollbar(); }
224 bool requiresVerticalScrollbarLayer() const { return m_owningLayer->scrollab leArea() && m_owningLayer->scrollableArea()->verticalScrollbar(); } 223 bool requiresVerticalScrollbarLayer() const { return m_owningLayer->scrollab leArea() && m_owningLayer->scrollableArea()->verticalScrollbar(); }
225 bool requiresScrollCornerLayer() const { return m_owningLayer->scrollableAre a() && !m_owningLayer->scrollableArea()->scrollCornerAndResizerRect().isEmpty(); } 224 bool requiresScrollCornerLayer() const { return m_owningLayer->scrollableAre a() && !m_owningLayer->scrollableArea()->scrollCornerAndResizerRect().isEmpty(); }
226 bool updateScrollingLayers(bool scrollingLayers); 225 bool updateScrollingLayers(bool scrollingLayers);
227 void updateScrollParent(RenderLayer*); 226 void updateScrollParent(RenderLayer*);
228 void updateClipParent(RenderLayer*); 227 void updateClipParent(RenderLayer*);
229 bool updateSquashingLayers(bool needsSquashingLayers); 228 bool updateSquashingLayers(bool needsSquashingLayers);
230 void updateDrawsContent(bool isSimpleContainer); 229 void updateDrawsContent();
231 void updateChildrenTransform(); 230 void updateChildrenTransform();
232 void registerScrollingLayers(); 231 void registerScrollingLayers();
233 232
234 void adjustBoundsForSubPixelAccumulation(const RenderLayer* compositedAncest or, IntRect& localCompositingBounds, IntRect& relativeCompositingBounds, IntPoin t& delta); 233 void adjustBoundsForSubPixelAccumulation(const RenderLayer* compositedAncest or, IntRect& localCompositingBounds, IntRect& relativeCompositingBounds, IntPoin t& delta);
235 234
236 void setBackgroundLayerPaintsFixedRootBackground(bool); 235 void setBackgroundLayerPaintsFixedRootBackground(bool);
237 236
238 GraphicsLayerPaintingPhase paintingPhaseForPrimaryLayer() const; 237 GraphicsLayerPaintingPhase paintingPhaseForPrimaryLayer() const;
239 238
240 LayoutSize contentOffsetInCompostingLayer() const; 239 LayoutSize contentOffsetInCompostingLayer() const;
241 // Result is transform origin in pixels. 240 // Result is transform origin in pixels.
242 FloatPoint3D computeTransformOrigin(const IntRect& borderBox) const; 241 FloatPoint3D computeTransformOrigin(const IntRect& borderBox) const;
243 // Result is perspective origin in pixels. 242 // Result is perspective origin in pixels.
244 FloatPoint computePerspectiveOrigin(const IntRect& borderBox) const; 243 FloatPoint computePerspectiveOrigin(const IntRect& borderBox) const;
245 244
246 void updateSquashingLayerGeometry(const IntPoint& delta); 245 void updateSquashingLayerGeometry(const IntPoint& delta);
247 246
248 void updateOpacity(const RenderStyle*); 247 void updateOpacity(const RenderStyle*);
249 void updateTransform(const RenderStyle*); 248 void updateTransform(const RenderStyle*);
250 void updateLayerBlendMode(const RenderStyle*); 249 void updateLayerBlendMode(const RenderStyle*);
251 void updateIsRootForIsolatedGroup(); 250 void updateIsRootForIsolatedGroup();
252 // Return the opacity value that this layer should use for compositing. 251 // Return the opacity value that this layer should use for compositing.
253 float compositingOpacity(float rendererOpacity) const; 252 float compositingOpacity(float rendererOpacity) const;
254 253
255 bool isMainFrameRenderViewLayer() const; 254 bool isMainFrameRenderViewLayer() const;
256 255
257 bool paintsBoxDecorations() const;
258 bool paintsChildren() const; 256 bool paintsChildren() const;
259 257
260 // Returns true if this compositing layer has no visible content.
261 bool isSimpleContainerCompositingLayer() const;
262 // Returns true if this layer has content that needs to be rendered by paint ing into the backing store. 258 // Returns true if this layer has content that needs to be rendered by paint ing into the backing store.
263 bool containsPaintedContent(bool isSimpleContainer) const; 259 bool containsPaintedContent() const;
264 // Returns true if the RenderLayer just contains an image that we can compos ite directly. 260 // Returns true if the RenderLayer just contains an image that we can compos ite directly.
265 bool isDirectlyCompositedImage() const; 261 bool isDirectlyCompositedImage() const;
266 void updateImageContents(); 262 void updateImageContents();
267 263
268 Color rendererBackgroundColor() const; 264 Color rendererBackgroundColor() const;
269 void updateBackgroundColor(bool isSimpleContainer); 265 void updateBackgroundColor();
270 void updateContentsRect(bool isSimpleContainer); 266 void updateContentsRect();
271 267
272 void updateCompositingReasons(); 268 void updateCompositingReasons();
273 269
274 bool hasVisibleNonCompositingDescendantLayers() const; 270 bool hasVisibleNonCompositingDescendantLayers() const;
275 271
276 bool shouldClipCompositedBounds() const; 272 bool shouldClipCompositedBounds() const;
277 273
278 void paintsIntoCompositedAncestorChanged(); 274 void paintsIntoCompositedAncestorChanged();
279 275
280 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c lip); 276 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c lip);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 bool m_requiresOwnBackingStoreForAncestorReasons : 1; 359 bool m_requiresOwnBackingStoreForAncestorReasons : 1;
364 bool m_canCompositeFilters : 1; 360 bool m_canCompositeFilters : 1;
365 bool m_backgroundLayerPaintsFixedRootBackground : 1; 361 bool m_backgroundLayerPaintsFixedRootBackground : 1;
366 bool m_needToUpdateGeometry : 1; 362 bool m_needToUpdateGeometry : 1;
367 bool m_needToUpdateGeometryOfAllDecendants : 1; 363 bool m_needToUpdateGeometryOfAllDecendants : 1;
368 }; 364 };
369 365
370 } // namespace WebCore 366 } // namespace WebCore
371 367
372 #endif // CompositedLayerMapping_h 368 #endif // CompositedLayerMapping_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698