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

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: Addressing 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 * 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 571 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 void clearZOrderLists(); 582 void clearZOrderLists();
583 void setIsUnclippedDescendant(bool isUnclippedDescendant) { m_isUnclippedDes cendant = isUnclippedDescendant; } 583 void setIsUnclippedDescendant(bool isUnclippedDescendant) { m_isUnclippedDes cendant = isUnclippedDescendant; }
584 584
585 585
586 void updateNormalFlowList(); 586 void updateNormalFlowList();
587 587
588 bool isStackingContext(const RenderStyle* style) const { return !style->hasA utoZIndex() || isRootLayer(); } 588 bool isStackingContext(const RenderStyle* style) const { return !style->hasA utoZIndex() || isRootLayer(); }
589 589
590 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); } 590 bool isDirtyStackingContainer() const { return m_zOrderListsDirty && isStack ingContainer(); }
591 591
592 bool hasNonAcceleratedBlendedChildInCurrentStackingContext() const;
593
592 void setAncestorChainHasSelfPaintingLayerDescendant(); 594 void setAncestorChainHasSelfPaintingLayerDescendant();
593 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); 595 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
594 596
595 void setAncestorChainHasOutOfFlowPositionedDescendant(); 597 void setAncestorChainHasOutOfFlowPositionedDescendant();
596 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus(); 598 void dirtyAncestorChainHasOutOfFlowPositionedDescendantStatus();
597 599
598 bool acceleratedCompositingForOverflowScrollEnabled() const; 600 bool acceleratedCompositingForOverflowScrollEnabled() const;
599 // FIXME: This is a temporary flag and should be removed once accelerated 601 // FIXME: This is a temporary flag and should be removed once accelerated
600 // overflow scroll is ready (crbug.com/254111). 602 // overflow scroll is ready (crbug.com/254111).
601 bool compositorDrivenAcceleratedScrollingEnabled() const; 603 bool compositorDrivenAcceleratedScrollingEnabled() const;
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 // descendants in stacking order. This is one of the requirements of being 890 // descendants in stacking order. This is one of the requirements of being
889 // able to safely become a stacking context. 891 // able to safely become a stacking context.
890 unsigned m_canBePromotedToStackingContainer : 1; 892 unsigned m_canBePromotedToStackingContainer : 1;
891 unsigned m_canBePromotedToStackingContainerDirty : 1; 893 unsigned m_canBePromotedToStackingContainerDirty : 1;
892 894
893 const unsigned m_isRootLayer : 1; 895 const unsigned m_isRootLayer : 1;
894 896
895 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp arent layer, i.e., whether 897 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp arent layer, i.e., whether
896 // we ended up painting this layer or any desce ndants (and therefore need to 898 // we ended up painting this layer or any desce ndants (and therefore need to
897 // blend). 899 // blend).
900 unsigned m_isolateForDescendantBlendMode : 1; // A layer with mix-blend-mode should only be blended
901 // with content underneath this layer, within the same stacking context.
898 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p ainting inside a replica. 902 unsigned m_paintingInsideReflection : 1; // A state bit tracking if we are p ainting inside a replica.
899 unsigned m_repaintStatus : 2; // RepaintStatus 903 unsigned m_repaintStatus : 2; // RepaintStatus
900 904
901 unsigned m_visibleContentStatusDirty : 1; 905 unsigned m_visibleContentStatusDirty : 1;
902 unsigned m_hasVisibleContent : 1; 906 unsigned m_hasVisibleContent : 1;
903 unsigned m_visibleDescendantStatusDirty : 1; 907 unsigned m_visibleDescendantStatusDirty : 1;
904 unsigned m_hasVisibleDescendant : 1; 908 unsigned m_hasVisibleDescendant : 1;
905 909
906 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co lumn ancestor, then this bit will be set. 910 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co lumn ancestor, then this bit will be set.
907 911
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 1055
1052 } // namespace WebCore 1056 } // namespace WebCore
1053 1057
1054 #ifndef NDEBUG 1058 #ifndef NDEBUG
1055 // Outside the WebCore namespace for ease of invocation from gdb. 1059 // Outside the WebCore namespace for ease of invocation from gdb.
1056 void showLayerTree(const WebCore::RenderLayer*); 1060 void showLayerTree(const WebCore::RenderLayer*);
1057 void showLayerTree(const WebCore::RenderObject*); 1061 void showLayerTree(const WebCore::RenderObject*);
1058 #endif 1062 #endif
1059 1063
1060 #endif // RenderLayer_h 1064 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698