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

Side by Side Diff: Source/core/rendering/RenderLayerBacking.h

Issue 23431021: Refactoring animation code in accelerated path. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 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 19 matching lines...) Expand all
30 #include "core/platform/graphics/FloatPoint3D.h" 30 #include "core/platform/graphics/FloatPoint3D.h"
31 #include "core/platform/graphics/GraphicsLayer.h" 31 #include "core/platform/graphics/GraphicsLayer.h"
32 #include "core/platform/graphics/GraphicsLayerClient.h" 32 #include "core/platform/graphics/GraphicsLayerClient.h"
33 #include "core/platform/graphics/transforms/TransformationMatrix.h" 33 #include "core/platform/graphics/transforms/TransformationMatrix.h"
34 #include "core/rendering/RenderLayer.h" 34 #include "core/rendering/RenderLayer.h"
35 35
36 namespace WebCore { 36 namespace WebCore {
37 37
38 class KeyframeList; 38 class KeyframeList;
39 class RenderLayerCompositor; 39 class RenderLayerCompositor;
40 class WebAnimationProvider;
40 41
41 enum CompositingLayerType { 42 enum CompositingLayerType {
42 NormalCompositingLayer, // non-tiled layer with backing store 43 NormalCompositingLayer, // non-tiled layer with backing store
43 MediaCompositingLayer, // layer that contains an image, video, webGL or plug in 44 MediaCompositingLayer, // layer that contains an image, video, webGL or plug in
44 ContainerCompositingLayer // layer with no backing store 45 ContainerCompositingLayer // layer with no backing store
45 }; 46 };
46 47
47 48
48 // A GraphicsLayerPaintInfo contains all the info needed to paint a partial subt ree of RenderLayers into a GraphicsLayer. 49 // A GraphicsLayerPaintInfo contains all the info needed to paint a partial subt ree of RenderLayers into a GraphicsLayer.
49 struct GraphicsLayerPaintInfo { 50 struct GraphicsLayerPaintInfo {
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 void updateContentsRect(bool isSimpleContainer); 236 void updateContentsRect(bool isSimpleContainer);
236 237
237 void updateCompositingReasons(); 238 void updateCompositingReasons();
238 239
239 bool hasVisibleNonCompositingDescendantLayers() const; 240 bool hasVisibleNonCompositingDescendantLayers() const;
240 241
241 bool shouldClipCompositedBounds() const; 242 bool shouldClipCompositedBounds() const;
242 243
243 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c lip); 244 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c lip);
244 245
245 static CSSPropertyID graphicsLayerToCSSProperty(AnimatedPropertyID);
246 static AnimatedPropertyID cssToGraphicsLayerProperty(CSSPropertyID);
247
248 RenderLayer* m_owningLayer; 246 RenderLayer* m_owningLayer;
249 247
250 OwnPtr<GraphicsLayer> m_ancestorClippingLayer; // Only used if we are clippe d by an ancestor which is not a stacking context. 248 OwnPtr<GraphicsLayer> m_ancestorClippingLayer; // Only used if we are clippe d by an ancestor which is not a stacking context.
251 OwnPtr<GraphicsLayer> m_graphicsLayer; 249 OwnPtr<GraphicsLayer> m_graphicsLayer;
252 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need to draw the foreground separately. 250 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need to draw the foreground separately.
253 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need to draw the background separately. 251 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need to draw the background separately.
254 OwnPtr<GraphicsLayer> m_childContainmentLayer; // Only used if we have clipp ing on a stacking context with compositing children, or if the layer has a tile cache. 252 OwnPtr<GraphicsLayer> m_childContainmentLayer; // Only used if we have clipp ing on a stacking context with compositing children, or if the layer has a tile cache.
255 OwnPtr<GraphicsLayer> m_maskLayer; // Only used if we have a mask. 253 OwnPtr<GraphicsLayer> m_maskLayer; // Only used if we have a mask.
256 254
257 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; 255 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar;
258 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; 256 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar;
259 OwnPtr<GraphicsLayer> m_layerForScrollCorner; 257 OwnPtr<GraphicsLayer> m_layerForScrollCorner;
260 258
261 OwnPtr<GraphicsLayer> m_scrollingLayer; // Only used if the layer is using c omposited scrolling. 259 OwnPtr<GraphicsLayer> m_scrollingLayer; // Only used if the layer is using c omposited scrolling.
262 OwnPtr<GraphicsLayer> m_scrollingContentsLayer; // Only used if the layer is using composited scrolling. 260 OwnPtr<GraphicsLayer> m_scrollingContentsLayer; // Only used if the layer is using composited scrolling.
263 261
262 OwnPtr<WebAnimationProvider> m_animationProvider;
263
264 uint64_t m_scrollLayerID; 264 uint64_t m_scrollLayerID;
265 265
266 IntRect m_compositedBounds; 266 IntRect m_compositedBounds;
267 267
268 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work 268 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work
269 bool m_boundsConstrainedByClipping; 269 bool m_boundsConstrainedByClipping;
270 bool m_isMainFrameRenderViewLayer; 270 bool m_isMainFrameRenderViewLayer;
271 bool m_requiresOwnBackingStore; 271 bool m_requiresOwnBackingStore;
272 bool m_canCompositeFilters; 272 bool m_canCompositeFilters;
273 bool m_backgroundLayerPaintsFixedRootBackground; 273 bool m_backgroundLayerPaintsFixedRootBackground;
274 }; 274 };
275 275
276 } // namespace WebCore 276 } // namespace WebCore
277 277
278 #endif // RenderLayerBacking_h 278 #endif // RenderLayerBacking_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698