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

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

Issue 2095013003: Changes in DisplayItemClient for spv2 paint invalidation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes to DisplayItemClient Created 4 years, 5 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1659 matching lines...) Expand 10 before | Expand all | Expand 10 after
1670 static bool isAllowedToModifyLayoutTreeStructure(Document&); 1670 static bool isAllowedToModifyLayoutTreeStructure(Document&);
1671 1671
1672 // Returns the parent for paint invalidation. 1672 // Returns the parent for paint invalidation.
1673 // - For LayoutView, returns the owner layout object in the containing frame if any or nullptr; 1673 // - For LayoutView, returns the owner layout object in the containing frame if any or nullptr;
1674 // - For multi-column spanner, returns the spanner placeholder; 1674 // - For multi-column spanner, returns the spanner placeholder;
1675 // - Otherwise returns parent(). 1675 // - Otherwise returns parent().
1676 LayoutObject* paintInvalidationParent() const; 1676 LayoutObject* paintInvalidationParent() const;
1677 1677
1678 static LayoutPoint uninitializedPaintOffset() { return LayoutPoint(LayoutUni t::max(), LayoutUnit::max()); } 1678 static LayoutPoint uninitializedPaintOffset() { return LayoutPoint(LayoutUni t::max(), LayoutUnit::max()); }
1679 1679
1680 // This stores the position in the paint invalidation backing's coordinate.
1681 // It is used to detect layoutObject shifts that forces a full invalidation.
1682 // This point does *not* account for composited scrolling. See adjustInvalid ationRectForCompositedScrolling().
1683 // For slimmingPaintInvalidation, this stores the previous paint offset.
1684 // TODO(wangxianzhu): Rename this to m_previousPaintOffset when we enable sl immingPaintInvalidation.
1685 LayoutPoint m_previousPositionFromPaintInvalidationBacking;
1686
1687 // This stores the paint invalidation rect from the previous frame. This rec t does *not* account for composited scrolling. See
1688 // adjustInvalidationRectForCompositedScrolling().
1689 LayoutRect m_previousPaintInvalidationRect;
1690
1680 RefPtr<ComputedStyle> m_style; 1691 RefPtr<ComputedStyle> m_style;
1681 1692
1682 // Oilpan: This untraced pointer to the owning Node is considered safe. 1693 // Oilpan: This untraced pointer to the owning Node is considered safe.
1683 UntracedMember<Node> m_node; 1694 UntracedMember<Node> m_node;
1684 1695
1685 LayoutObject* m_parent; 1696 LayoutObject* m_parent;
1686 LayoutObject* m_previous; 1697 LayoutObject* m_previous;
1687 LayoutObject* m_next; 1698 LayoutObject* m_next;
1688 1699
1689 #if ENABLE(ASSERT) 1700 #if ENABLE(ASSERT)
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
1949 void setPosChildNeedsLayout(bool b) { m_bitfields.setPosChildNeedsLayout(b); } 1960 void setPosChildNeedsLayout(bool b) { m_bitfields.setPosChildNeedsLayout(b); }
1950 void setNeedsSimplifiedNormalFlowLayout(bool b) { m_bitfields.setNeedsSimpli fiedNormalFlowLayout(b); } 1961 void setNeedsSimplifiedNormalFlowLayout(bool b) { m_bitfields.setNeedsSimpli fiedNormalFlowLayout(b); }
1951 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } 1962 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); }
1952 void clearShouldInvalidateOverflowForPaint() { m_bitfields.setShouldInvalida teOverflowForPaint(false); } 1963 void clearShouldInvalidateOverflowForPaint() { m_bitfields.setShouldInvalida teOverflowForPaint(false); }
1953 void setSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNeeds OverflowRecalcAfterStyleChange(true); } 1964 void setSelfNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setSelfNeeds OverflowRecalcAfterStyleChange(true); }
1954 void setChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildNee dsOverflowRecalcAfterStyleChange(true); } 1965 void setChildNeedsOverflowRecalcAfterStyleChange() { m_bitfields.setChildNee dsOverflowRecalcAfterStyleChange(true); }
1955 1966
1956 private: 1967 private:
1957 // Store state between styleWillChange and styleDidChange 1968 // Store state between styleWillChange and styleDidChange
1958 static bool s_affectsParentBlock; 1969 static bool s_affectsParentBlock;
1959
1960 // This stores the paint invalidation rect from the previous frame. This rec t does *not* account for composited scrolling. See
1961 // adjustInvalidationRectForCompositedScrolling().
1962 LayoutRect m_previousPaintInvalidationRect;
1963
1964 // This stores the position in the paint invalidation backing's coordinate.
1965 // It is used to detect layoutObject shifts that forces a full invalidation.
1966 // This point does *not* account for composited scrolling. See adjustInvalid ationRectForCompositedScrolling().
1967 // For slimmingPaintInvalidation, this stores the previous paint offset.
1968 // TODO(wangxianzhu): Rename this to m_previousPaintOffset when we enable sl immingPaintInvalidation.
1969 LayoutPoint m_previousPositionFromPaintInvalidationBacking;
1970
1971 DISPLAY_ITEM_CACHE_STATUS_IMPLEMENTATION
1972 }; 1970 };
1973 1971
1974 // FIXME: remove this once the layout object lifecycle ASSERTS are no longer hit . 1972 // FIXME: remove this once the layout object lifecycle ASSERTS are no longer hit .
1975 class DeprecatedDisableModifyLayoutTreeStructureAsserts { 1973 class DeprecatedDisableModifyLayoutTreeStructureAsserts {
1976 STACK_ALLOCATED(); 1974 STACK_ALLOCATED();
1977 WTF_MAKE_NONCOPYABLE(DeprecatedDisableModifyLayoutTreeStructureAsserts); 1975 WTF_MAKE_NONCOPYABLE(DeprecatedDisableModifyLayoutTreeStructureAsserts);
1978 public: 1976 public:
1979 DeprecatedDisableModifyLayoutTreeStructureAsserts(); 1977 DeprecatedDisableModifyLayoutTreeStructureAsserts();
1980 1978
1981 static bool canModifyLayoutTreeStateInAnyState(); 1979 static bool canModifyLayoutTreeStateInAnyState();
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
2194 void showTree(const blink::LayoutObject*); 2192 void showTree(const blink::LayoutObject*);
2195 void showLineTree(const blink::LayoutObject*); 2193 void showLineTree(const blink::LayoutObject*);
2196 void showLayoutTree(const blink::LayoutObject* object1); 2194 void showLayoutTree(const blink::LayoutObject* object1);
2197 // We don't make object2 an optional parameter so that showLayoutTree 2195 // We don't make object2 an optional parameter so that showLayoutTree
2198 // can be called from gdb easily. 2196 // can be called from gdb easily.
2199 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2197 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2200 2198
2201 #endif 2199 #endif
2202 2200
2203 #endif // LayoutObject_h 2201 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698