Index: third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h |
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h |
index 7577b4846d48a138e99526b4d7c9792d6fd6135c..8bf7f6e75acea883961cfab79921a403de2c424b 100644 |
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h |
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h |
@@ -79,6 +79,12 @@ |
NGLogicalOffset Offset() const { return offset_; } |
void SetOffset(const NGLogicalOffset& offset) { offset_ = offset; } |
+ // Returns the effective size of the constraint space. Equal to the |
+ // AvailableSize() for the root constraint space but derived constraint spaces |
+ // return the size of the layout opportunity. |
+ virtual NGLogicalSize Size() const { return size_; } |
+ void SetSize(const NGLogicalSize& size) { size_ = size; } |
+ |
// Whether the current constraint space is for the newly established |
// Formatting Context. |
bool IsNewFormattingContext() const; |
@@ -112,6 +118,13 @@ |
DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(physical_space_); } |
+ // The setters for the NGConstraintSpace should only be used when constructing |
+ // a derived NGConstraintSpace. |
+ void SetOverflowTriggersScrollbar(bool inlineTriggers, bool blockTriggers); |
+ void SetFixedSize(bool inlineFixed, bool blockFixed); |
+ void SetFragmentationType(NGFragmentationType); |
+ void SetIsNewFormattingContext(bool is_new_fc); |
+ |
NGConstraintSpace* ChildSpace(const ComputedStyle* style) const; |
String ToString() const; |
@@ -119,6 +132,7 @@ |
private: |
Member<NGPhysicalConstraintSpace> physical_space_; |
NGLogicalOffset offset_; |
+ NGLogicalSize size_; |
unsigned writing_mode_ : 3; |
unsigned direction_ : 1; |
}; |