| OLD | NEW |
| 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 #include "core/layout/ng/inline/ng_inline_layout_algorithm.h" | 5 #include "core/layout/ng/inline/ng_inline_layout_algorithm.h" |
| 6 | 6 |
| 7 #include "core/layout/ng/inline/ng_bidi_paragraph.h" | 7 #include "core/layout/ng/inline/ng_bidi_paragraph.h" |
| 8 #include "core/layout/ng/inline/ng_inline_break_token.h" | 8 #include "core/layout/ng/inline/ng_inline_break_token.h" |
| 9 #include "core/layout/ng/inline/ng_inline_node.h" | 9 #include "core/layout/ng/inline/ng_inline_node.h" |
| 10 #include "core/layout/ng/inline/ng_line_box_fragment.h" | 10 #include "core/layout/ng/inline/ng_line_box_fragment.h" |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 layout_result->PhysicalFragment().Get()); | 386 layout_result->PhysicalFragment().Get()); |
| 387 | 387 |
| 388 bool float_does_not_fit = end_position + float_fragment.InlineSize() > | 388 bool float_does_not_fit = end_position + float_fragment.InlineSize() > |
| 389 current_opportunity_.InlineSize(); | 389 current_opportunity_.InlineSize(); |
| 390 // Check if we already have a pending float. That's because a float cannot be | 390 // Check if we already have a pending float. That's because a float cannot be |
| 391 // higher than any block or floated box generated before. | 391 // higher than any block or floated box generated before. |
| 392 if (!container_builder_.UnpositionedFloats().IsEmpty() || | 392 if (!container_builder_.UnpositionedFloats().IsEmpty() || |
| 393 float_does_not_fit) { | 393 float_does_not_fit) { |
| 394 container_builder_.AddUnpositionedFloat(floating_object); | 394 container_builder_.AddUnpositionedFloat(floating_object); |
| 395 } else { | 395 } else { |
| 396 floating_object->logical_offset = | 396 container_builder_.MutablePositionedFloats().push_back( |
| 397 PositionFloat(floating_object.Get(), MutableConstraintSpace()); | 397 PositionFloat(floating_object.Get(), MutableConstraintSpace())); |
| 398 container_builder_.MutablePositionedFloats().push_back(floating_object); | |
| 399 FindNextLayoutOpportunity(); | 398 FindNextLayoutOpportunity(); |
| 400 } | 399 } |
| 401 } | 400 } |
| 402 | 401 |
| 403 bool NGInlineLayoutAlgorithm::PlaceItems( | 402 bool NGInlineLayoutAlgorithm::PlaceItems( |
| 404 const Vector<LineItemChunk, 32>& line_item_chunks) { | 403 const Vector<LineItemChunk, 32>& line_item_chunks) { |
| 405 const Vector<NGInlineItem>& items = Node()->Items(); | 404 const Vector<NGInlineItem>& items = Node()->Items(); |
| 406 | 405 |
| 407 const ComputedStyle& line_style = LineStyle(); | 406 const ComputedStyle& line_style = LineStyle(); |
| 408 NGLineHeightMetrics line_metrics(line_style, baseline_type_); | 407 NGLineHeightMetrics line_metrics(line_style, baseline_type_); |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 | 593 |
| 595 // max-content is the width without any line wrapping. | 594 // max-content is the width without any line wrapping. |
| 596 // TODO(kojii): Implement hard breaks (<br> etc.) to break. | 595 // TODO(kojii): Implement hard breaks (<br> etc.) to break. |
| 597 for (const auto& item : Node()->Items()) | 596 for (const auto& item : Node()->Items()) |
| 598 sizes.max_content += InlineSize(item); | 597 sizes.max_content += InlineSize(item); |
| 599 | 598 |
| 600 return sizes; | 599 return sizes; |
| 601 } | 600 } |
| 602 | 601 |
| 603 } // namespace blink | 602 } // namespace blink |
| OLD | NEW |