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

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

Issue 1320843005: Update outer flow thread membership before changing multicolness. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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/LayoutBox.cpp
diff --git a/Source/core/layout/LayoutBox.cpp b/Source/core/layout/LayoutBox.cpp
index aff8b7f4339afcf14c19215ae9c50f6b2c768c16..7a99166e89d02c591e927375b2a579f63b7c002b 100644
--- a/Source/core/layout/LayoutBox.cpp
+++ b/Source/core/layout/LayoutBox.cpp
@@ -157,6 +157,10 @@ void LayoutBox::styleWillChange(StyleDifference diff, const ComputedStyle& newSt
{
const ComputedStyle* oldStyle = style();
if (oldStyle) {
+ LayoutFlowThread* flowThread = flowThreadContainingBlock();
+ if (flowThread && flowThread != this)
+ flowThread->flowThreadDescendantStyleWillChange(this, diff, newStyle);
+
// The background of the root element or the body element could propagate up to
// the canvas. Just dirty the entire canvas when our style changes substantially.
if ((diff.needsPaintInvalidation() || diff.needsLayout()) && node()
@@ -243,6 +247,12 @@ void LayoutBox::styleDidChange(StyleDifference diff, const ComputedStyle* oldSty
placeholder->layoutObjectInFlowThreadStyleDidChange(oldStyle);
updateSlowRepaintStatusAfterStyleChange();
+
+ if (oldStyle) {
+ LayoutFlowThread* flowThread = flowThreadContainingBlock();
+ if (flowThread && flowThread != this)
+ flowThread->flowThreadDescendantStyleDidChange(this, diff, *oldStyle);
+ }
}
void LayoutBox::updateSlowRepaintStatusAfterStyleChange()

Powered by Google App Engine
This is Rietveld 408576698