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

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

Issue 1271513004: Disallow relayout roots inside multicol. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Code review - more tests - put everything in fast/multicol/dynamic/ 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
« no previous file with comments | « LayoutTests/fast/multicol/dynamic/relayout-spanner-parent-inside-overflow-hidden-expected.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/layout/LayoutObject.cpp
diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
index 7e9ab723a1c2e308924e62d2f579e4edf9eb9d4e..50ed1fff8f775fd5b99a70006c1b2bba4162cc82 100644
--- a/Source/core/layout/LayoutObject.cpp
+++ b/Source/core/layout/LayoutObject.cpp
@@ -742,6 +742,16 @@ static inline bool objectIsRelayoutBoundary(const LayoutObject* object)
if (object->isTablePart())
return false;
+ // Inside multicol it's generally problematic to allow relayout roots. The multicol container
+ // itself may be scheduled for relayout as well (due to other changes that may have happened
+ // since the previous layout pass), which might affect the column heights, which may affect how
+ // this object breaks across columns). Spanners may also have been added or removed since the
+ // previous layout pass, which is just another way of affecting the column heights (and the
+ // number of rows). Instead of identifying cases where it's safe to allow relayout roots, just
+ // disallow them inside multicol.
+ if (object->isInsideFlowThread())
+ return false;
+
return true;
}
« no previous file with comments | « LayoutTests/fast/multicol/dynamic/relayout-spanner-parent-inside-overflow-hidden-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698