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

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

Issue 24409003: Re-land r158052 after removing ASSERT_NOT_REACHED that caused crash. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Return AnimatedPropertyInvalid if it is not supported. Created 7 years, 2 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 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 void updateContentsRect(bool isSimpleContainer); 238 void updateContentsRect(bool isSimpleContainer);
238 239
239 void updateCompositingReasons(); 240 void updateCompositingReasons();
240 241
241 bool hasVisibleNonCompositingDescendantLayers() const; 242 bool hasVisibleNonCompositingDescendantLayers() const;
242 243
243 bool shouldClipCompositedBounds() const; 244 bool shouldClipCompositedBounds() const;
244 245
245 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c lip); 246 void doPaintTask(GraphicsLayerPaintInfo&, GraphicsContext*, const IntRect& c lip);
246 247
247 static CSSPropertyID graphicsLayerToCSSProperty(AnimatedPropertyID);
248 static AnimatedPropertyID cssToGraphicsLayerProperty(CSSPropertyID);
249
250 RenderLayer* m_owningLayer; 248 RenderLayer* m_owningLayer;
251 249
252 // The hierarchy of layers that is maintained by the RenderLayerBacking look s like this: 250 // The hierarchy of layers that is maintained by the RenderLayerBacking look s like this:
253 // 251 //
254 // + m_ancestorClippingLayer [OPTIONAL] 252 // + m_ancestorClippingLayer [OPTIONAL]
255 // + m_graphicsLayer 253 // + m_graphicsLayer
256 // + m_childContainmentLayer [OPTIONAL] <-OR-> m_scrollingLayer [OPTI ONAL] 254 // + m_childContainmentLayer [OPTIONAL] <-OR-> m_scrollingLayer [OPTI ONAL]
257 // + m_scrollingContents Layer [OPTIONAL] 255 // + m_scrollingContents Layer [OPTIONAL]
258 // 256 //
259 // We need an ancestor clipping layer if our clipping ancestor is not our an cestor in the 257 // We need an ancestor clipping layer if our clipping ancestor is not our an cestor in the
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 // 307 //
310 // With the hierarchy set up like this, the root content layer is able to sc roll without affecting 308 // With the hierarchy set up like this, the root content layer is able to sc roll without affecting
311 // the background layer (or repainting). 309 // the background layer (or repainting).
312 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need to draw the foreground separately. 310 OwnPtr<GraphicsLayer> m_foregroundLayer; // Only used in cases where we need to draw the foreground separately.
313 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need to draw the background separately. 311 OwnPtr<GraphicsLayer> m_backgroundLayer; // Only used in cases where we need to draw the background separately.
314 312
315 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar; 313 OwnPtr<GraphicsLayer> m_layerForHorizontalScrollbar;
316 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar; 314 OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar;
317 OwnPtr<GraphicsLayer> m_layerForScrollCorner; 315 OwnPtr<GraphicsLayer> m_layerForScrollCorner;
318 316
317 OwnPtr<WebAnimationProvider> m_animationProvider;
318
319 IntRect m_compositedBounds; 319 IntRect m_compositedBounds;
320 320
321 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work 321 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work
322 bool m_boundsConstrainedByClipping; 322 bool m_boundsConstrainedByClipping;
323 bool m_isMainFrameRenderViewLayer; 323 bool m_isMainFrameRenderViewLayer;
324 bool m_requiresOwnBackingStore; 324 bool m_requiresOwnBackingStore;
325 bool m_canCompositeFilters; 325 bool m_canCompositeFilters;
326 bool m_backgroundLayerPaintsFixedRootBackground; 326 bool m_backgroundLayerPaintsFixedRootBackground;
327 }; 327 };
328 328
329 } // namespace WebCore 329 } // namespace WebCore
330 330
331 #endif // RenderLayerBacking_h 331 #endif // RenderLayerBacking_h
OLDNEW
« no previous file with comments | « Source/core/platform/graphics/chromium/AnimationTranslationUtilTest.cpp ('k') | Source/core/rendering/RenderLayerBacking.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698