summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc69
1 files changed, 40 insertions, 29 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc b/chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc
index f46d17d48d1..28d5bcce744 100644
--- a/chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc
+++ b/chromium/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.cc
@@ -8,9 +8,8 @@
#include "third_party/blink/renderer/core/layout/intrinsic_sizing_info.h"
#include "third_party/blink/renderer/core/layout/layout_replaced.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
-#include "third_party/blink/renderer/core/layout/min_max_size.h"
+#include "third_party/blink/renderer/core/layout/min_max_sizes.h"
#include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_node.h"
-#include "third_party/blink/renderer/core/layout/ng/list/layout_ng_list_marker.h"
#include "third_party/blink/renderer/core/layout/ng/ng_block_node.h"
#include "third_party/blink/renderer/core/layout/ng/ng_layout_result.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
@@ -61,39 +60,23 @@ void AppendNodeToString(NGLayoutInputNode node,
} // namespace
-MinMaxSize NGLayoutInputNode::ComputeMinMaxSize(
+MinMaxSizes NGLayoutInputNode::ComputeMinMaxSizes(
WritingMode writing_mode,
- const MinMaxSizeInput& input,
+ const MinMaxSizesInput& input,
const NGConstraintSpace* space) {
if (auto* inline_node = DynamicTo<NGInlineNode>(this))
- return inline_node->ComputeMinMaxSize(writing_mode, input, space);
- return To<NGBlockNode>(*this).ComputeMinMaxSize(writing_mode, input, space);
+ return inline_node->ComputeMinMaxSizes(writing_mode, input, space);
+ return To<NGBlockNode>(*this).ComputeMinMaxSizes(writing_mode, input, space);
}
void NGLayoutInputNode::IntrinsicSize(
base::Optional<LayoutUnit>* computed_inline_size,
- base::Optional<LayoutUnit>* computed_block_size,
- LogicalSize* aspect_ratio) const {
+ base::Optional<LayoutUnit>* computed_block_size) const {
DCHECK(IsReplaced());
- LayoutUnit override_inline_size = OverrideIntrinsicContentInlineSize();
- if (override_inline_size != kIndefiniteSize)
- *computed_inline_size = override_inline_size;
-
- LayoutUnit override_block_size = OverrideIntrinsicContentBlockSize();
- if (override_block_size != kIndefiniteSize)
- *computed_block_size = override_block_size;
-
- if (ShouldApplySizeContainment()) {
- if (!*computed_inline_size)
- *computed_inline_size = LayoutUnit();
- if (!*computed_block_size)
- *computed_block_size = LayoutUnit();
- }
- if (*computed_inline_size && *computed_block_size) {
- *aspect_ratio = LogicalSize(**computed_inline_size, **computed_block_size);
+ GetOverrideIntrinsicSize(computed_inline_size, computed_block_size);
+ if (*computed_inline_size && *computed_block_size)
return;
- }
IntrinsicSizingInfo legacy_sizing_info;
@@ -102,9 +85,6 @@ void NGLayoutInputNode::IntrinsicSize(
*computed_inline_size = LayoutUnit(legacy_sizing_info.size.Width());
if (!*computed_block_size && legacy_sizing_info.has_height)
*computed_block_size = LayoutUnit(legacy_sizing_info.size.Height());
- *aspect_ratio =
- LogicalSize(LayoutUnit(legacy_sizing_info.aspect_ratio.Width()),
- LayoutUnit(legacy_sizing_info.aspect_ratio.Height()));
}
NGLayoutInputNode NGLayoutInputNode::NextSibling() {
@@ -134,8 +114,39 @@ void NGLayoutInputNode::ShowNodeTree() const {
StringBuilder string_builder;
string_builder.Append(".:: LayoutNG Node Tree ::.\n");
AppendNodeToString(*this, &string_builder);
- fprintf(stderr, "%s\n", string_builder.ToString().Utf8().c_str());
+ DLOG(INFO) << "\n" << string_builder.ToString().Utf8();
}
#endif
+void NGLayoutInputNode::GetOverrideIntrinsicSize(
+ base::Optional<LayoutUnit>* computed_inline_size,
+ base::Optional<LayoutUnit>* computed_block_size) const {
+ DCHECK(IsReplaced());
+
+ LayoutUnit override_inline_size = OverrideIntrinsicContentInlineSize();
+ if (override_inline_size != kIndefiniteSize) {
+ *computed_inline_size = override_inline_size;
+ } else {
+ LayoutUnit default_inline_size = DefaultIntrinsicContentInlineSize();
+ if (default_inline_size != kIndefiniteSize)
+ *computed_inline_size = default_inline_size;
+ }
+
+ LayoutUnit override_block_size = OverrideIntrinsicContentBlockSize();
+ if (override_block_size != kIndefiniteSize) {
+ *computed_block_size = override_block_size;
+ } else {
+ LayoutUnit default_block_size = DefaultIntrinsicContentBlockSize();
+ if (default_block_size != kIndefiniteSize)
+ *computed_block_size = default_block_size;
+ }
+
+ if (ShouldApplySizeContainment()) {
+ if (!*computed_inline_size)
+ *computed_inline_size = LayoutUnit();
+ if (!*computed_block_size)
+ *computed_block_size = LayoutUnit();
+ }
+}
+
} // namespace blink