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

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

Issue 2539693002: Early-out from the prepaint tree walk (Closed)
Patch Set: Address chrishtrs comments Created 4 years 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. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1719 matching lines...) Expand 10 before | Expand all | Expand 10 after
1730 MutableForPainting getMutableForPainting() const { 1730 MutableForPainting getMutableForPainting() const {
1731 return MutableForPainting(*this); 1731 return MutableForPainting(*this);
1732 } 1732 }
1733 1733
1734 // Paint properties (see: |ObjectPaintProperties|) are built from an object's 1734 // Paint properties (see: |ObjectPaintProperties|) are built from an object's
1735 // state (location, transform, etc) as well as properties from ancestors. 1735 // state (location, transform, etc) as well as properties from ancestors.
1736 // When these inputs change, setNeedsPaintPropertyUpdate will cause a property 1736 // When these inputs change, setNeedsPaintPropertyUpdate will cause a property
1737 // tree update during the next document lifecycle update. 1737 // tree update during the next document lifecycle update.
1738 // 1738 //
1739 // In addition to tracking if an object needs its own paint properties 1739 // In addition to tracking if an object needs its own paint properties
1740 // updated, |descendantNeedsPaintPropertyUpdate| is used to track if any 1740 // updated, setNeedsPaintPropertyUpdate marks all ancestors as having a
1741 // descendant needs an update too. This bit is up the tree, crossing frames, 1741 // descendant needing a paint property update too.
1742 // when calling |setNeedsPaintPropertyUpdate|.
1743 void setNeedsPaintPropertyUpdate(); 1742 void setNeedsPaintPropertyUpdate();
1743 #if DCHECK_IS_ON()
1744 // Same as setNeedsPaintPropertyUpdate() but does not mark ancestors as
1745 // having a descendant needing a paint property update.
1746 void setOnlyThisNeedsPaintPropertyUpdateForTesting() {
1747 m_bitfields.setNeedsPaintPropertyUpdate(true);
1748 }
1749 #endif
1744 bool needsPaintPropertyUpdate() const { 1750 bool needsPaintPropertyUpdate() const {
1745 return m_bitfields.needsPaintPropertyUpdate(); 1751 return m_bitfields.needsPaintPropertyUpdate();
1746 } 1752 }
1747 void clearNeedsPaintPropertyUpdate() { 1753 void clearNeedsPaintPropertyUpdate() {
1748 DCHECK_EQ(document().lifecycle().state(), DocumentLifecycle::InPrePaint); 1754 DCHECK_EQ(document().lifecycle().state(), DocumentLifecycle::InPrePaint);
1749 m_bitfields.setNeedsPaintPropertyUpdate(false); 1755 m_bitfields.setNeedsPaintPropertyUpdate(false);
1750 } 1756 }
1751 bool descendantNeedsPaintPropertyUpdate() const { 1757 bool descendantNeedsPaintPropertyUpdate() const {
1752 return m_bitfields.descendantNeedsPaintPropertyUpdate(); 1758 return m_bitfields.descendantNeedsPaintPropertyUpdate();
1753 } 1759 }
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after
2656 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2662 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2657 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2663 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2658 // We don't make object2 an optional parameter so that showLayoutTree 2664 // We don't make object2 an optional parameter so that showLayoutTree
2659 // can be called from gdb easily. 2665 // can be called from gdb easily.
2660 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2666 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2661 const blink::LayoutObject* object2); 2667 const blink::LayoutObject* object2);
2662 2668
2663 #endif 2669 #endif
2664 2670
2665 #endif // LayoutObject_h 2671 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698