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

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

Issue 2732573003: Skip paint property update and visual rect update if no geometry change (Closed)
Patch Set: - Created 3 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 /* 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 1705 matching lines...) Expand 10 before | Expand all | Expand 10 after
1716 DCHECK_EQ(m_layoutObject.document().lifecycle().state(), 1716 DCHECK_EQ(m_layoutObject.document().lifecycle().state(),
1717 DocumentLifecycle::InPrePaint); 1717 DocumentLifecycle::InPrePaint);
1718 m_layoutObject.clearPaintInvalidationFlags(); 1718 m_layoutObject.clearPaintInvalidationFlags();
1719 m_layoutObject.m_bitfields.setNeedsPaintPropertyUpdate(false); 1719 m_layoutObject.m_bitfields.setNeedsPaintPropertyUpdate(false);
1720 m_layoutObject.m_bitfields.setSubtreeNeedsPaintPropertyUpdate(false); 1720 m_layoutObject.m_bitfields.setSubtreeNeedsPaintPropertyUpdate(false);
1721 m_layoutObject.m_bitfields.setDescendantNeedsPaintPropertyUpdate(false); 1721 m_layoutObject.m_bitfields.setDescendantNeedsPaintPropertyUpdate(false);
1722 } 1722 }
1723 void setShouldDoFullPaintInvalidation(PaintInvalidationReason reason) { 1723 void setShouldDoFullPaintInvalidation(PaintInvalidationReason reason) {
1724 m_layoutObject.setShouldDoFullPaintInvalidation(reason); 1724 m_layoutObject.setShouldDoFullPaintInvalidation(reason);
1725 } 1725 }
1726 void setShouldDoFullPaintInvalidationWithoutGeometryChange(
1727 PaintInvalidationReason reason) {
1728 m_layoutObject.setShouldDoFullPaintInvalidationWithoutGeometryChange(
1729 reason);
1730 }
1726 void setBackgroundChangedSinceLastPaintInvalidation() { 1731 void setBackgroundChangedSinceLastPaintInvalidation() {
1727 m_layoutObject.setBackgroundChangedSinceLastPaintInvalidation(); 1732 m_layoutObject.setBackgroundChangedSinceLastPaintInvalidation();
1728 } 1733 }
1729 void ensureIsReadyForPaintInvalidation() { 1734 void ensureIsReadyForPaintInvalidation() {
1730 m_layoutObject.ensureIsReadyForPaintInvalidation(); 1735 m_layoutObject.ensureIsReadyForPaintInvalidation();
1731 } 1736 }
1732 1737
1733 // The following setters store the current values as calculated during the 1738 // The following setters store the current values as calculated during the
1734 // pre-paint tree walk. TODO(wangxianzhu): Add check of lifecycle states. 1739 // pre-paint tree walk. TODO(wangxianzhu): Add check of lifecycle states.
1735 void setVisualRect(const LayoutRect& r) { m_layoutObject.setVisualRect(r); } 1740 void setVisualRect(const LayoutRect& r) { m_layoutObject.setVisualRect(r); }
(...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after
2781 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2786 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2782 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2787 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2783 // We don't make object2 an optional parameter so that showLayoutTree 2788 // We don't make object2 an optional parameter so that showLayoutTree
2784 // can be called from gdb easily. 2789 // can be called from gdb easily.
2785 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2790 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2786 const blink::LayoutObject* object2); 2791 const blink::LayoutObject* object2);
2787 2792
2788 #endif 2793 #endif
2789 2794
2790 #endif // LayoutObject_h 2795 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698