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

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h

Issue 2515923002: Remove redundant 'derived constraint space' setters from NGConstraintSpace (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NGConstraintSpace_h 5 #ifndef NGConstraintSpace_h
6 #define NGConstraintSpace_h 6 #define NGConstraintSpace_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/layout/ng/ng_macros.h" 9 #include "core/layout/ng/ng_macros.h"
10 #include "core/layout/ng/ng_physical_constraint_space.h" 10 #include "core/layout/ng/ng_physical_constraint_space.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 NGLogicalSize PercentageResolutionSize() const; 71 NGLogicalSize PercentageResolutionSize() const;
72 72
73 // The available space size. 73 // The available space size.
74 // See: https://drafts.csswg.org/css-sizing/#available 74 // See: https://drafts.csswg.org/css-sizing/#available
75 NGLogicalSize AvailableSize() const; 75 NGLogicalSize AvailableSize() const;
76 76
77 // Offset relative to the root constraint space. 77 // Offset relative to the root constraint space.
78 NGLogicalOffset Offset() const { return offset_; } 78 NGLogicalOffset Offset() const { return offset_; }
79 void SetOffset(const NGLogicalOffset& offset) { offset_ = offset; } 79 void SetOffset(const NGLogicalOffset& offset) { offset_ = offset; }
80 80
81 // Returns the effective size of the constraint space. Equal to the
82 // AvailableSize() for the root constraint space but derived constraint spaces
83 // return the size of the layout opportunity.
84 virtual NGLogicalSize Size() const { return size_; }
85 void SetSize(const NGLogicalSize& size) { size_ = size; }
86
87 // Whether the current constraint space is for the newly established 81 // Whether the current constraint space is for the newly established
88 // Formatting Context. 82 // Formatting Context.
89 bool IsNewFormattingContext() const; 83 bool IsNewFormattingContext() const;
90 84
91 // Whether exceeding the AvailableSize() triggers the presence of a scrollbar 85 // Whether exceeding the AvailableSize() triggers the presence of a scrollbar
92 // for the indicated direction. 86 // for the indicated direction.
93 // If exceeded the current layout should be aborted and invoked again with a 87 // If exceeded the current layout should be aborted and invoked again with a
94 // constraint space modified to reserve space for a scrollbar. 88 // constraint space modified to reserve space for a scrollbar.
95 bool InlineTriggersScrollbar() const; 89 bool InlineTriggersScrollbar() const;
96 bool BlockTriggersScrollbar() const; 90 bool BlockTriggersScrollbar() const;
(...skipping 13 matching lines...) Expand all
110 // the shape of the fragment this will either modify the inline or block 104 // the shape of the fragment this will either modify the inline or block
111 // size, or add an exclusion. 105 // size, or add an exclusion.
112 void Subtract(const NGFragment*); 106 void Subtract(const NGFragment*);
113 107
114 NGLayoutOpportunityIterator* LayoutOpportunities( 108 NGLayoutOpportunityIterator* LayoutOpportunities(
115 unsigned clear = NGClearNone, 109 unsigned clear = NGClearNone,
116 bool for_inline_or_bfc = false); 110 bool for_inline_or_bfc = false);
117 111
118 DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(physical_space_); } 112 DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(physical_space_); }
119 113
120 // The setters for the NGConstraintSpace should only be used when constructing
121 // a derived NGConstraintSpace.
122 void SetOverflowTriggersScrollbar(bool inlineTriggers, bool blockTriggers);
123 void SetFixedSize(bool inlineFixed, bool blockFixed);
124 void SetFragmentationType(NGFragmentationType);
125 void SetIsNewFormattingContext(bool is_new_fc);
126
127 String ToString() const; 114 String ToString() const;
128 115
129 private: 116 private:
130 Member<NGPhysicalConstraintSpace> physical_space_; 117 Member<NGPhysicalConstraintSpace> physical_space_;
131 NGLogicalOffset offset_; 118 NGLogicalOffset offset_;
132 NGLogicalSize size_; 119 NGLogicalSize size_;
133 unsigned writing_mode_ : 3; 120 unsigned writing_mode_ : 3;
134 unsigned direction_ : 1; 121 unsigned direction_ : 1;
135 }; 122 };
136 123
137 inline std::ostream& operator<<(std::ostream& stream, 124 inline std::ostream& operator<<(std::ostream& stream,
138 const NGConstraintSpace& value) { 125 const NGConstraintSpace& value) {
139 return stream << value.ToString(); 126 return stream << value.ToString();
140 } 127 }
141 128
142 } // namespace blink 129 } // namespace blink
143 130
144 #endif // NGConstraintSpace_h 131 #endif // NGConstraintSpace_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698