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

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

Issue 2761863002: Add StyleDifference::needsVisualRectUpdate (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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 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) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 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 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 1718 matching lines...) Expand 10 before | Expand all | Expand 10 after
1729 } else if (diff.needsPaintInvalidationObject() || 1729 } else if (diff.needsPaintInvalidationObject() ||
1730 updatedDiff.needsPaintInvalidationObject()) { 1730 updatedDiff.needsPaintInvalidationObject()) {
1731 // TODO(wangxianzhu): For now LayoutSVGRoot::localVisualRect() depends on 1731 // TODO(wangxianzhu): For now LayoutSVGRoot::localVisualRect() depends on
1732 // several styles. Refactor to avoid this special case. 1732 // several styles. Refactor to avoid this special case.
1733 if (isSVGRoot()) 1733 if (isSVGRoot())
1734 setShouldDoFullPaintInvalidation(); 1734 setShouldDoFullPaintInvalidation();
1735 else 1735 else
1736 setShouldDoFullPaintInvalidationWithoutGeometryChange(); 1736 setShouldDoFullPaintInvalidationWithoutGeometryChange();
1737 } 1737 }
1738 1738
1739 if (diff.needsVisualRectUpdate())
1740 setMayNeedPaintInvalidation();
1741
1739 // Text nodes share style with their parents but the paint properties don't 1742 // Text nodes share style with their parents but the paint properties don't
1740 // apply to them, hence the !isText() check. 1743 // apply to them, hence the !isText() check.
1741 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() && !isText() && 1744 if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled() && !isText() &&
1742 (diff.transformChanged() || diff.opacityChanged() || 1745 (diff.transformChanged() || diff.opacityChanged() ||
1743 diff.zIndexChanged() || diff.filterChanged() || 1746 diff.zIndexChanged() || diff.filterChanged() ||
1744 diff.backdropFilterChanged() || diff.cssClipChanged())) { 1747 diff.backdropFilterChanged() || diff.cssClipChanged())) {
1745 setNeedsPaintPropertyUpdate(); 1748 setNeedsPaintPropertyUpdate();
1746 1749
1747 // We don't need to invalidate paint of objects on SPv2 when only paint 1750 // We don't need to invalidate paint of objects on SPv2 when only paint
1748 // property or paint order change. Mark the painting layer needing repaint 1751 // property or paint order change. Mark the painting layer needing repaint
(...skipping 1876 matching lines...) Expand 10 before | Expand all | Expand 10 after
3625 const blink::LayoutObject* root = object1; 3628 const blink::LayoutObject* root = object1;
3626 while (root->parent()) 3629 while (root->parent())
3627 root = root->parent(); 3630 root = root->parent();
3628 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3631 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3629 } else { 3632 } else {
3630 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3633 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3631 } 3634 }
3632 } 3635 }
3633 3636
3634 #endif 3637 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698