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

Unified Diff: Source/core/layout/LayoutBlock.cpp

Issue 1294233004: Subtree caching implementation in blink-core (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: s/setSelfNeedsRepaint/setNeedsRepaint/ Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/layout/LayoutBlock.cpp
diff --git a/Source/core/layout/LayoutBlock.cpp b/Source/core/layout/LayoutBlock.cpp
index 00fd49ac48a81fc9340041380d47c71dad147a54..6ef5c02944e8cc1486df25bbf66c931cc3b4f75e 100644
--- a/Source/core/layout/LayoutBlock.cpp
+++ b/Source/core/layout/LayoutBlock.cpp
@@ -368,13 +368,23 @@ inline static void invalidateDisplayItemClientForStartOfContinuationsIfNeeded(co
startOfContinuations->invalidateDisplayItemClient(*startOfContinuations);
}
-void LayoutBlock::invalidateDisplayItemClients(const LayoutBoxModelObject& paintInvalidationContainer) const
+void LayoutBlock::invalidateDisplayItemClients(const LayoutBoxModelObject& paintInvalidationContainer)
{
LayoutBox::invalidateDisplayItemClients(paintInvalidationContainer);
ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled());
invalidateDisplayItemClientForStartOfContinuationsIfNeeded(*this);
}
+bool LayoutBlock::clearRepaintFlagsOfSubtrees()
+{
+ bool result = LayoutBox::clearRepaintFlagsOfSubtrees();
+ if (TrackedLayoutBoxListHashSet* positionedObjects = this->positionedObjects()) {
+ for (auto o : *positionedObjects)
+ result &= o->clearRepaintFlagsRecursively();
+ }
+ return result;
+}
+
void LayoutBlock::addChildIgnoringContinuation(LayoutObject* newChild, LayoutObject* beforeChild)
{
if (beforeChild && beforeChild->parent() != this) {

Powered by Google App Engine
This is Rietveld 408576698