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

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

Issue 23503046: [CSS Blending] Implement mix-blend-mode in software. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add blended child as a descendant dependent flag 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) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 // but for now, we are always allocating it for RenderBox as it's safer. 795 // but for now, we are always allocating it for RenderBox as it's safer.
796 bool requiresScrollableArea() const { return renderBox(); } 796 bool requiresScrollableArea() const { return renderBox(); }
797 void updateScrollableArea(); 797 void updateScrollableArea();
798 798
799 void updateResizerAreaSet(); 799 void updateResizerAreaSet();
800 void updateScrollableAreaSet(bool hasOverflow); 800 void updateScrollableAreaSet(bool hasOverflow);
801 801
802 void dirtyAncestorChainVisibleDescendantStatus(); 802 void dirtyAncestorChainVisibleDescendantStatus();
803 void setAncestorChainHasVisibleDescendant(); 803 void setAncestorChainHasVisibleDescendant();
804 804
805 void dirtyAncestorChainBlendedDescendantStatus();
806 void setAncestorChainBlendedDescendant();
807
805 void updateDescendantDependentFlags(); 808 void updateDescendantDependentFlags();
806 809
807 // This flag is computed by RenderLayerCompositor, which knows more about 3d hierarchies than we do. 810 // This flag is computed by RenderLayerCompositor, which knows more about 3d hierarchies than we do.
808 void setHas3DTransformedDescendant(bool b) { m_has3DTransformedDescendant = b; } 811 void setHas3DTransformedDescendant(bool b) { m_has3DTransformedDescendant = b; }
809 bool has3DTransformedDescendant() const { return m_has3DTransformedDescendan t; } 812 bool has3DTransformedDescendant() const { return m_has3DTransformedDescendan t; }
810 813
811 void dirty3DTransformedDescendantStatus(); 814 void dirty3DTransformedDescendantStatus();
812 // Both updates the status, and returns true if descendants of this have 3d. 815 // Both updates the status, and returns true if descendants of this have 3d.
813 bool update3DTransformedDescendantStatus(); 816 bool update3DTransformedDescendantStatus();
814 817
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 // descendants in stacking order. This is one of the requirements of being 896 // descendants in stacking order. This is one of the requirements of being
894 // able to safely become a stacking context. 897 // able to safely become a stacking context.
895 unsigned m_canBePromotedToStackingContainer : 1; 898 unsigned m_canBePromotedToStackingContainer : 1;
896 unsigned m_canBePromotedToStackingContainerDirty : 1; 899 unsigned m_canBePromotedToStackingContainerDirty : 1;
897 900
898 const unsigned m_isRootLayer : 1; 901 const unsigned m_isRootLayer : 1;
899 902
900 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp arent layer, i.e., whether 903 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp arent layer, i.e., whether
901 // we ended up painting this layer or any desce ndants (and therefore need to 904 // we ended up painting this layer or any desce ndants (and therefore need to
902 // blend). 905 // blend).
906 unsigned m_childLayerHasBlendMode : 1;
907 unsigned m_childLayerHasBlendModeStatusDirty : 1;
908
903 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p ainting inside a replica. 909 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p ainting inside a replica.
904 unsigned m_repaintStatus : 2; // RepaintStatus 910 unsigned m_repaintStatus : 2; // RepaintStatus
905 911
906 unsigned m_visibleContentStatusDirty : 1; 912 unsigned m_visibleContentStatusDirty : 1;
907 unsigned m_hasVisibleContent : 1; 913 unsigned m_hasVisibleContent : 1;
908 unsigned m_visibleDescendantStatusDirty : 1; 914 unsigned m_visibleDescendantStatusDirty : 1;
909 unsigned m_hasVisibleDescendant : 1; 915 unsigned m_hasVisibleDescendant : 1;
910 916
911 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co lumn ancestor, then this bit will be set. 917 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co lumn ancestor, then this bit will be set.
912 918
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 1061
1056 } // namespace WebCore 1062 } // namespace WebCore
1057 1063
1058 #ifndef NDEBUG 1064 #ifndef NDEBUG
1059 // Outside the WebCore namespace for ease of invocation from gdb. 1065 // Outside the WebCore namespace for ease of invocation from gdb.
1060 void showLayerTree(const WebCore::RenderLayer*); 1066 void showLayerTree(const WebCore::RenderLayer*);
1061 void showLayerTree(const WebCore::RenderObject*); 1067 void showLayerTree(const WebCore::RenderObject*);
1062 #endif 1068 #endif
1063 1069
1064 #endif // RenderLayer_h 1070 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698