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

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

Issue 23511004: mix-blend-mode implementation for accelerated layers - blink part (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added layout test & addressed review comments 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) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 1080 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 void drawPlatformResizerImage(GraphicsContext*, IntRect resizerCornerRect); 1091 void drawPlatformResizerImage(GraphicsContext*, IntRect resizerCornerRect);
1092 1092
1093 void updatePagination(); 1093 void updatePagination();
1094 1094
1095 // FIXME: Temporary. Remove when new columns come online. 1095 // FIXME: Temporary. Remove when new columns come online.
1096 bool useRegionBasedColumns() const; 1096 bool useRegionBasedColumns() const;
1097 1097
1098 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo mpositingDescendant; } 1098 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo mpositingDescendant; }
1099 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo sitingDescendant = b; } 1099 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo sitingDescendant = b; }
1100 1100
1101 bool shouldIsolateCompositedBlendingDescendants() const { return m_compositi ngProperties.shouldIsolateBlendingDescendants; }
1102 void setShouldIsolateCompositedBlendingDescendants(bool isolate) { m_compos itingProperties.shouldIsolateBlendingDescendants = isolate; }
1103
1101 void setCompositingReasons(CompositingReasons reasons) { m_compositingProper ties.compositingReasons = reasons; } 1104 void setCompositingReasons(CompositingReasons reasons) { m_compositingProper ties.compositingReasons = reasons; }
1102 CompositingReasons compositingReasons() const { return m_compositingProperti es.compositingReasons; } 1105 CompositingReasons compositingReasons() const { return m_compositingProperti es.compositingReasons; }
1103 1106
1104 // Returns true if z ordering would not change if this layer were a stacking container. 1107 // Returns true if z ordering would not change if this layer were a stacking container.
1105 bool canBeStackingContainer() const; 1108 bool canBeStackingContainer() const;
1106 1109
1107 friend class RenderLayerBacking; 1110 friend class RenderLayerBacking;
1108 friend class RenderLayerCompositor; 1111 friend class RenderLayerCompositor;
1109 friend class RenderLayerModelObject; 1112 friend class RenderLayerModelObject;
1110 1113
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 RenderScrollbarPart* m_resizer; 1245 RenderScrollbarPart* m_resizer;
1243 1246
1244 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i s 0 if we are not paginated. 1247 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i s 0 if we are not paginated.
1245 RenderLayer* m_enclosingPaginationLayer; 1248 RenderLayer* m_enclosingPaginationLayer;
1246 1249
1247 // Properties that are computed while updating compositing layers. These val ues may be dirty/invalid if 1250 // Properties that are computed while updating compositing layers. These val ues may be dirty/invalid if
1248 // compositing status is not up-to-date before using them. 1251 // compositing status is not up-to-date before using them.
1249 struct CompositingProperties { 1252 struct CompositingProperties {
1250 CompositingProperties() 1253 CompositingProperties()
1251 : hasCompositingDescendant(false) 1254 : hasCompositingDescendant(false)
1255 , shouldIsolateBlendingDescendants(false)
1252 , viewportConstrainedNotCompositedReason(NoNotCompositedReason) 1256 , viewportConstrainedNotCompositedReason(NoNotCompositedReason)
1253 , compositingReasons(CompositingReasonNone) 1257 , compositingReasons(CompositingReasonNone)
1254 { } 1258 { }
1255 1259
1256 // Used only while determining what layers should be composited. Applies to the tree of z-order lists. 1260 // Used only while determining what layers should be composited. Applies to the tree of z-order lists.
1257 bool hasCompositingDescendant : 1; 1261 bool hasCompositingDescendant : 1;
1262 bool shouldIsolateBlendingDescendants : 1;
1258 1263
1259 // The reason, if any exists, that a fixed-position layer is chosen not to be composited. 1264 // The reason, if any exists, that a fixed-position layer is chosen not to be composited.
1260 unsigned viewportConstrainedNotCompositedReason : 2; 1265 unsigned viewportConstrainedNotCompositedReason : 2;
1261 1266
1262 // Once computed, indicates all that a layer needs to become composited using the CompositingReasons enum bitfield. 1267 // Once computed, indicates all that a layer needs to become composited using the CompositingReasons enum bitfield.
1263 CompositingReasons compositingReasons; 1268 CompositingReasons compositingReasons;
1264 }; 1269 };
1265 1270
1266 CompositingProperties m_compositingProperties; 1271 CompositingProperties m_compositingProperties;
1267 1272
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1320 1325
1321 } // namespace WebCore 1326 } // namespace WebCore
1322 1327
1323 #ifndef NDEBUG 1328 #ifndef NDEBUG
1324 // Outside the WebCore namespace for ease of invocation from gdb. 1329 // Outside the WebCore namespace for ease of invocation from gdb.
1325 void showLayerTree(const WebCore::RenderLayer*); 1330 void showLayerTree(const WebCore::RenderLayer*);
1326 void showLayerTree(const WebCore::RenderObject*); 1331 void showLayerTree(const WebCore::RenderObject*);
1327 #endif 1332 #endif
1328 1333
1329 #endif // RenderLayer_h 1334 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698