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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayer.h

Issue 1987283003: Use counters for opacity with transform-style:preserve-3d (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 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 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 691
692 ClipRectsCache* clipRectsCache() const { return m_clipRectsCache.get(); } 692 ClipRectsCache* clipRectsCache() const { return m_clipRectsCache.get(); }
693 ClipRectsCache& ensureClipRectsCache() const 693 ClipRectsCache& ensureClipRectsCache() const
694 { 694 {
695 if (!m_clipRectsCache) 695 if (!m_clipRectsCache)
696 m_clipRectsCache = adoptPtr(new ClipRectsCache); 696 m_clipRectsCache = adoptPtr(new ClipRectsCache);
697 return *m_clipRectsCache; 697 return *m_clipRectsCache;
698 } 698 }
699 void clearClipRectsCache() const { m_clipRectsCache.clear(); } 699 void clearClipRectsCache() const { m_clipRectsCache.clear(); }
700 700
701 void dirty3DTransformedDescendantStatus();
702 // Both updates the status, and returns true if descendants of this have 3d.
703 bool update3DTransformedDescendantStatus();
704 bool has3DTransformedDescendant() const { DCHECK(!m_3DTransformedDescendantS tatusDirty); return m_has3DTransformedDescendant; }
705
701 private: 706 private:
702 // Bounding box in the coordinates of this layer. 707 // Bounding box in the coordinates of this layer.
703 LayoutRect logicalBoundingBox() const; 708 LayoutRect logicalBoundingBox() const;
704 709
705 bool hasOverflowControls() const; 710 bool hasOverflowControls() const;
706 711
707 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus(); 712 void dirtyAncestorChainHasSelfPaintingLayerDescendantStatus();
708 713
709 void updateLayerPositionRecursive(); 714 void updateLayerPositionRecursive();
710 void updateLayerPositionsAfterScrollRecursive(const DoubleSize& scrollDelta, bool paintInvalidationContainerWasScrolled); 715 void updateLayerPositionsAfterScrollRecursive(const DoubleSize& scrollDelta, bool paintInvalidationContainerWasScrolled);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 // FIXME: We could lazily allocate our ScrollableArea based on style propert ies ('overflow', ...) 756 // FIXME: We could lazily allocate our ScrollableArea based on style propert ies ('overflow', ...)
752 // but for now, we are always allocating it for LayoutBox as it's safer. crb ug.com/467721. 757 // but for now, we are always allocating it for LayoutBox as it's safer. crb ug.com/467721.
753 bool requiresScrollableArea() const { return layoutBox(); } 758 bool requiresScrollableArea() const { return layoutBox(); }
754 void updateScrollableArea(); 759 void updateScrollableArea();
755 760
756 void dirtyAncestorChainVisibleDescendantStatus(); 761 void dirtyAncestorChainVisibleDescendantStatus();
757 762
758 bool attemptDirectCompositingUpdate(StyleDifference, const ComputedStyle* ol dStyle); 763 bool attemptDirectCompositingUpdate(StyleDifference, const ComputedStyle* ol dStyle);
759 void updateTransform(const ComputedStyle* oldStyle, const ComputedStyle& new Style); 764 void updateTransform(const ComputedStyle* oldStyle, const ComputedStyle& new Style);
760 765
761 void dirty3DTransformedDescendantStatus();
762 // Both updates the status, and returns true if descendants of this have 3d.
763 bool update3DTransformedDescendantStatus();
764
765 void removeAncestorOverflowLayer(const PaintLayer* removedLayer); 766 void removeAncestorOverflowLayer(const PaintLayer* removedLayer);
766 767
767 void updateOrRemoveFilterClients(); 768 void updateOrRemoveFilterClients();
768 769
769 void updatePaginationRecursive(bool needsPaginationUpdate = false); 770 void updatePaginationRecursive(bool needsPaginationUpdate = false);
770 void clearPaginationRecursive(); 771 void clearPaginationRecursive();
771 772
772 void markCompositingContainerChainForNeedsRepaint(); 773 void markCompositingContainerChainForNeedsRepaint();
773 774
774 PaintLayerRareData& ensureRareData() 775 PaintLayerRareData& ensureRareData()
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 890
890 } // namespace blink 891 } // namespace blink
891 892
892 #ifndef NDEBUG 893 #ifndef NDEBUG
893 // Outside the WebCore namespace for ease of invocation from gdb. 894 // Outside the WebCore namespace for ease of invocation from gdb.
894 void showLayerTree(const blink::PaintLayer*); 895 void showLayerTree(const blink::PaintLayer*);
895 void showLayerTree(const blink::LayoutObject*); 896 void showLayerTree(const blink::LayoutObject*);
896 #endif 897 #endif
897 898
898 #endif // Layer_h 899 #endif // Layer_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698