Index: third_party/WebKit/Source/core/layout/LayoutFlowThread.h |
diff --git a/third_party/WebKit/Source/core/layout/LayoutFlowThread.h b/third_party/WebKit/Source/core/layout/LayoutFlowThread.h |
index f0087d0d797398b942e8cffa7955b9ab0c269706..3654b455d19c0602101bdecf20883e24c5c8fd07 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutFlowThread.h |
+++ b/third_party/WebKit/Source/core/layout/LayoutFlowThread.h |
@@ -71,8 +71,24 @@ class CORE_EXPORT LayoutFlowThread : public LayoutBlockFlow { |
virtual bool isLayoutMultiColumnFlowThread() const { return false; } |
virtual bool isLayoutPagedFlowThread() const { return false; } |
+ // Search mode when looking for an enclosing fragmentation context. |
+ enum AncestorSearchConstraint { |
+ // No constraints. Sometimes we just want to find all enclosing |
+ // fragmentation contexts, e.g. to calculate the accumulated visual |
+ // translation. |
+ AnyAncestor, |
+ |
+ // Consider fragmentation contexts that are strictly unbreakable (seen from |
+ // the outside) to be isolated from the rest, so that such fragmentation |
+ // contexts don't participate in fragmentation of enclosing fragmentation |
+ // contexts, apart from taking up space and otherwise being completely |
+ // unbreakable. This is typically what we want to do during layout. |
+ IsolateUnbreakableContainers, |
+ }; |
+ |
static LayoutFlowThread* locateFlowThreadContainingBlockOf( |
- const LayoutObject&); |
+ const LayoutObject&, |
+ AncestorSearchConstraint = IsolateUnbreakableContainers); |
void layout() override; |