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

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

Issue 727633002: Get rid of the one remaining extra call to LayerPainter::beginTransparencyLayers. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 1 month 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 | Annotate | Revision Log
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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 bool hasBoxDecorationsOrBackground() const; 178 bool hasBoxDecorationsOrBackground() const;
179 bool hasVisibleBoxDecorations() const; 179 bool hasVisibleBoxDecorations() const;
180 // True if this layer container renderers that paint. 180 // True if this layer container renderers that paint.
181 bool hasNonEmptyChildRenderers() const; 181 bool hasNonEmptyChildRenderers() const;
182 182
183 // Will ensure that hasNonCompositiedChild are up to date. 183 // Will ensure that hasNonCompositiedChild are up to date.
184 void updateScrollingStateAfterCompositingChange(); 184 void updateScrollingStateAfterCompositingChange();
185 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent; } 185 bool hasVisibleNonLayerContent() const { return m_hasVisibleNonLayerContent; }
186 bool hasNonCompositedChild() const { ASSERT(isAllowedToQueryCompositingState ()); return m_hasNonCompositedChild; } 186 bool hasNonCompositedChild() const { ASSERT(isAllowedToQueryCompositingState ()); return m_hasNonCompositedChild; }
187 187
188 bool usedTransparency() const { return m_usedTransparency; }
189 void setUsedTransparency(bool usedTransparency) { m_usedTransparency = usedT ransparency; }
190
191 // Gets the nearest enclosing positioned ancestor layer (also includes 188 // Gets the nearest enclosing positioned ancestor layer (also includes
192 // the <html> layer and the root layer). 189 // the <html> layer and the root layer).
193 RenderLayer* enclosingPositionedAncestor() const; 190 RenderLayer* enclosingPositionedAncestor() const;
194 191
195 bool isPaintInvalidationContainer() const; 192 bool isPaintInvalidationContainer() const;
196 193
197 // Do *not* call this method unless you know what you are dooing. You probab ly want to call enclosingCompositingLayerForPaintInvalidation() instead. 194 // Do *not* call this method unless you know what you are dooing. You probab ly want to call enclosingCompositingLayerForPaintInvalidation() instead.
198 // If includeSelf is true, may return this. 195 // If includeSelf is true, may return this.
199 RenderLayer* enclosingLayerWithCompositedLayerMapping(IncludeSelfOrNot) cons t; 196 RenderLayer* enclosingLayerWithCompositedLayerMapping(IncludeSelfOrNot) cons t;
200 197
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 // FIXME(crbug.com/332791): Self-painting layer should be merged into the ov erflow-only concept. 597 // FIXME(crbug.com/332791): Self-painting layer should be merged into the ov erflow-only concept.
601 unsigned m_isSelfPaintingLayer : 1; 598 unsigned m_isSelfPaintingLayer : 1;
602 599
603 // If have no self-painting descendants, we don't have to walk our children during painting. This can lead to 600 // If have no self-painting descendants, we don't have to walk our children during painting. This can lead to
604 // significant savings, especially if the tree has lots of non-self-painting layers grouped together (e.g. table cells). 601 // significant savings, especially if the tree has lots of non-self-painting layers grouped together (e.g. table cells).
605 mutable unsigned m_hasSelfPaintingLayerDescendant : 1; 602 mutable unsigned m_hasSelfPaintingLayerDescendant : 1;
606 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1; 603 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1;
607 604
608 const unsigned m_isRootLayer : 1; 605 const unsigned m_isRootLayer : 1;
609 606
610 unsigned m_usedTransparency : 1; // Tracks whether we need to close a transp arent layer, i.e., whether
611 // we ended up painting this layer or any desce ndants (and therefore need to
612 // blend).
613
614 unsigned m_visibleContentStatusDirty : 1; 607 unsigned m_visibleContentStatusDirty : 1;
615 unsigned m_hasVisibleContent : 1; 608 unsigned m_hasVisibleContent : 1;
616 unsigned m_visibleDescendantStatusDirty : 1; 609 unsigned m_visibleDescendantStatusDirty : 1;
617 unsigned m_hasVisibleDescendant : 1; 610 unsigned m_hasVisibleDescendant : 1;
618 611
619 unsigned m_hasVisibleNonLayerContent : 1; 612 unsigned m_hasVisibleNonLayerContent : 1;
620 613
621 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co lumn ancestor, then this bit will be set. 614 unsigned m_isPaginated : 1; // If we think this layer is split by a multi-co lumn ancestor, then this bit will be set.
622 615
623 unsigned m_3DTransformedDescendantStatusDirty : 1; 616 unsigned m_3DTransformedDescendantStatusDirty : 1;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 682
690 } // namespace blink 683 } // namespace blink
691 684
692 #ifndef NDEBUG 685 #ifndef NDEBUG
693 // Outside the WebCore namespace for ease of invocation from gdb. 686 // Outside the WebCore namespace for ease of invocation from gdb.
694 void showLayerTree(const blink::RenderLayer*); 687 void showLayerTree(const blink::RenderLayer*);
695 void showLayerTree(const blink::RenderObject*); 688 void showLayerTree(const blink::RenderObject*);
696 #endif 689 #endif
697 690
698 #endif // RenderLayer_h 691 #endif // RenderLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698