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

Side by Side Diff: third_party/WebKit/Source/core/layout/PaintInvalidationState.h

Issue 1786513002: Fix paint invalidation of paintInvalidationContainer itself (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PaintInvalidationState_h 5 #ifndef PaintInvalidationState_h
6 #define PaintInvalidationState_h 6 #define PaintInvalidationState_h
7 7
8 #include "platform/geometry/LayoutRect.h" 8 #include "platform/geometry/LayoutRect.h"
9 #include "platform/transforms/AffineTransform.h" 9 #include "platform/transforms/AffineTransform.h"
10 #include "wtf/Allocator.h" 10 #include "wtf/Allocator.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 bool isClipped() const { return m_clipped; } 47 bool isClipped() const { return m_clipped; }
48 48
49 bool forcedSubtreeInvalidationWithinContainer() const { return m_forcedSubtr eeInvalidationWithinContainer; } 49 bool forcedSubtreeInvalidationWithinContainer() const { return m_forcedSubtr eeInvalidationWithinContainer; }
50 void setForceSubtreeInvalidationWithinContainer() { m_forcedSubtreeInvalidat ionWithinContainer = true; } 50 void setForceSubtreeInvalidationWithinContainer() { m_forcedSubtreeInvalidat ionWithinContainer = true; }
51 51
52 bool forcedSubtreeInvalidationRectUpdateWithinContainer() const { return m_f orcedSubtreeInvalidationRectUpdateWithinContainer; } 52 bool forcedSubtreeInvalidationRectUpdateWithinContainer() const { return m_f orcedSubtreeInvalidationRectUpdateWithinContainer; }
53 void setForceSubtreeInvalidationRectUpdateWithinContainer() { m_forcedSubtre eInvalidationRectUpdateWithinContainer = true; } 53 void setForceSubtreeInvalidationRectUpdateWithinContainer() { m_forcedSubtre eInvalidationRectUpdateWithinContainer = true; }
54 54
55 const LayoutBoxModelObject& paintInvalidationContainer() const { return m_pa intInvalidationContainer; } 55 const LayoutBoxModelObject& paintInvalidationContainer() const { return m_pa intInvalidationContainer; }
56 56
57 bool canMapToContainer(const LayoutBoxModelObject* container) const 57 bool canMapToAncestor(const LayoutBoxModelObject* ancestor) const
58 { 58 {
59 return m_cachedOffsetsEnabled && container == &m_paintInvalidationContai ner; 59 return m_cachedOffsetsEnabled && ancestor == &m_paintInvalidationContain er;
60 } 60 }
61 void mapObjectRectToAncestor(const LayoutObject&, const LayoutBoxModelObject * ancestor, LayoutRect&) const;
61 62
62 // Records |obj| as needing paint invalidation on the next frame. See the de finition of PaintInvalidationDelayedFull for more details. 63 // Records |obj| as needing paint invalidation on the next frame. See the de finition of PaintInvalidationDelayedFull for more details.
63 void pushDelayedPaintInvalidationTarget(LayoutObject& obj) { m_pendingDelaye dPaintInvalidations.append(&obj); } 64 void pushDelayedPaintInvalidationTarget(LayoutObject& obj) { m_pendingDelaye dPaintInvalidations.append(&obj); }
64 Vector<LayoutObject*>& pendingDelayedPaintInvalidationTargets() { return m_p endingDelayedPaintInvalidations; } 65 Vector<LayoutObject*>& pendingDelayedPaintInvalidationTargets() { return m_p endingDelayedPaintInvalidations; }
65 66
66 // Disable view clipping and scroll offset adjustment for paint invalidation of FrameView scrollbars. 67 // Disable view clipping and scroll offset adjustment for paint invalidation of FrameView scrollbars.
67 // TODO(wangxianzhu): Remove this when root-layer-scrolls launches. 68 // TODO(wangxianzhu): Remove this when root-layer-scrolls launches.
68 bool viewClippingAndScrollOffsetDisabled() const { return m_viewClippingAndS crollOffsetDisabled; } 69 bool viewClippingAndScrollOffsetDisabled() const { return m_viewClippingAndS crollOffsetDisabled; }
69 void setViewClippingAndScrollOffsetDisabled(bool b) { m_viewClippingAndScrol lOffsetDisabled = b; } 70 void setViewClippingAndScrollOffsetDisabled(bool b) { m_viewClippingAndScrol lOffsetDisabled = b; }
70 71
(...skipping 29 matching lines...) Expand all
100 AffineTransform m_svgTransform; 101 AffineTransform m_svgTransform;
101 102
102 Vector<LayoutObject*>& m_pendingDelayedPaintInvalidations; 103 Vector<LayoutObject*>& m_pendingDelayedPaintInvalidations;
103 104
104 PaintLayer& m_enclosingSelfPaintingLayer; 105 PaintLayer& m_enclosingSelfPaintingLayer;
105 }; 106 };
106 107
107 } // namespace blink 108 } // namespace blink
108 109
109 #endif // PaintInvalidationState_h 110 #endif // PaintInvalidationState_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698