Index: third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h |
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h |
index 3f37ac8084116fff36dfa3894c9ae1bf3f284902..0d762512878c658fe66cc8d1c0dbe4e7344f9801 100644 |
--- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h |
+++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h |
@@ -11,8 +11,10 @@ |
namespace blink { |
class CORE_EXPORT NGConstraintSpaceBuilder final |
- : public GarbageCollected<NGConstraintSpaceBuilder> { |
+ : public GarbageCollectedFinalized<NGConstraintSpaceBuilder> { |
public: |
+ NGConstraintSpaceBuilder(const NGConstraintSpace* parent_space); |
+ |
NGConstraintSpaceBuilder(NGWritingMode writing_mode); |
NGConstraintSpaceBuilder& SetAvailableSize(NGLogicalSize available_size); |
@@ -20,6 +22,8 @@ class CORE_EXPORT NGConstraintSpaceBuilder final |
NGConstraintSpaceBuilder& SetPercentageResolutionSize( |
NGLogicalSize percentage_resolution_size); |
+ NGConstraintSpaceBuilder& SetTextDirection(TextDirection); |
+ |
NGConstraintSpaceBuilder& SetIsFixedSizeInline(bool is_fixed_size_inline); |
NGConstraintSpaceBuilder& SetIsFixedSizeBlock(bool is_fixed_size_block); |
@@ -31,13 +35,18 @@ class CORE_EXPORT NGConstraintSpaceBuilder final |
NGConstraintSpaceBuilder& SetFragmentationType(NGFragmentationType); |
NGConstraintSpaceBuilder& SetIsNewFormattingContext(bool is_new_fc); |
+ NGConstraintSpaceBuilder& SetWritingMode(NGWritingMode writing_mode) { |
+ writing_mode_ = writing_mode; |
ikilpatrick
2016/11/29 00:10:27
.nit? move to cc file? up to you.
Gleb Lanbin
2016/12/01 20:41:53
Done.
|
+ return *this; |
+ } |
+ |
// Creates a new constraint space. This may be called multiple times, for |
// example the constraint space will be different for a child which: |
// - Establishes a new formatting context. |
// - Is within a fragmentation container and needs its fragmentation offset |
// updated. |
// - Has its size is determined by its parent layout (flex, abs-pos). |
- NGPhysicalConstraintSpace* ToConstraintSpace(); |
+ NGConstraintSpace* ToConstraintSpace(); |
DEFINE_INLINE_TRACE() {} |
@@ -45,16 +54,17 @@ class CORE_EXPORT NGConstraintSpaceBuilder final |
NGLogicalSize available_size_; |
NGLogicalSize percentage_resolution_size_; |
- // const bit fields. |
- const unsigned writing_mode_ : 2; |
- |
- // mutable bit fields. |
+ unsigned writing_mode_ : 2; |
+ unsigned parent_writing_mode_ : 2; |
unsigned is_fixed_size_inline_ : 1; |
unsigned is_fixed_size_block_ : 1; |
unsigned is_inline_direction_triggers_scrollbar_ : 1; |
unsigned is_block_direction_triggers_scrollbar_ : 1; |
unsigned fragmentation_type_ : 2; |
unsigned is_new_fc_ : 1; |
+ unsigned text_direction_ : 1; |
+ |
+ std::shared_ptr<NGExclusions> exclusions_; |
}; |
} // namespace blink |