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

Unified Diff: third_party/WebKit/Source/core/paint/PaintLayer.cpp

Issue 2540043002: Fix descendant-dependent PaintLayer flags update to not early-out when dirty. (Closed)
Patch Set: none Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
index 535f90699c94aab02253d897aec7dfe7afe65e9b..2f554d52ec489634ce3b879c027b93f750497e25 100644
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
@@ -640,7 +640,6 @@ void PaintLayer::mapRectToPaintInvalidationBacking(
}
void PaintLayer::dirtyVisibleContentStatus() {
- compositor()->setNeedsUpdateDescendantDependentFlags();
m_isVisibleContentDirty = true;
if (parent())
parent()->dirtyAncestorChainVisibleDescendantStatus();
@@ -659,8 +658,6 @@ void PaintLayer::potentiallyDirtyVisibleContentStatus(EVisibility visibility) {
}
void PaintLayer::dirtyAncestorChainVisibleDescendantStatus() {
- compositor()->setNeedsUpdateDescendantDependentFlags();
-
for (PaintLayer* layer = this; layer; layer = layer->parent()) {
if (layer->m_isVisibleDescendantDirty)
break;
@@ -704,10 +701,8 @@ void PaintLayer::updateDescendantDependentFlags() {
child = child->nextSibling()) {
child->updateDescendantDependentFlags();
- if (child->m_hasVisibleContent || child->m_hasVisibleDescendant) {
+ if (child->m_hasVisibleContent || child->m_hasVisibleDescendant)
m_hasVisibleDescendant = true;
- break;
chrishtr 2016/11/30 15:26:38 Here is where it used to incorrectly early-out of
- }
}
m_isVisibleDescendantDirty = false;

Powered by Google App Engine
This is Rietveld 408576698