#include "third_party/blink/renderer/core/layout/forms/fieldset_layout_algorithm.h"
#include "third_party/blink/renderer/core/layout/block_break_token.h"
#include "third_party/blink/renderer/core/layout/block_layout_algorithm.h"
#include "third_party/blink/renderer/core/layout/constraint_space.h"
#include "third_party/blink/renderer/core/layout/constraint_space_builder.h"
#include "third_party/blink/renderer/core/layout/forms/fieldset_break_token_data.h"
#include "third_party/blink/renderer/core/layout/fragmentation_utils.h"
#include "third_party/blink/renderer/core/layout/layout_result.h"
#include "third_party/blink/renderer/core/layout/length_utils.h"
#include "third_party/blink/renderer/core/layout/logical_fragment.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/space_utils.h"
namespace blink {
namespace {
enum class LegendBlockAlignment { … };
inline LegendBlockAlignment ComputeLegendBlockAlignment(
const ComputedStyle& legend_style,
const ComputedStyle& fieldset_style) { … }
}
FieldsetLayoutAlgorithm::FieldsetLayoutAlgorithm(
const LayoutAlgorithmParams& params)
: … { … }
const LayoutResult* FieldsetLayoutAlgorithm::Layout() { … }
BreakStatus FieldsetLayoutAlgorithm::LayoutChildren() { … }
void FieldsetLayoutAlgorithm::LayoutLegend(BlockNode& legend) { … }
BreakStatus FieldsetLayoutAlgorithm::LayoutFieldsetContent(
BlockNode& fieldset_content,
const BlockBreakToken* content_break_token,
LogicalSize adjusted_padding_box_size,
bool has_legend) { … }
LayoutUnit FieldsetLayoutAlgorithm::FragmentainerSpaceAvailable() const { … }
void FieldsetLayoutAlgorithm::ConsumeRemainingFragmentainerSpace() { … }
MinMaxSizesResult FieldsetLayoutAlgorithm::ComputeMinMaxSizes(
const MinMaxSizesFloatInput&) { … }
const ConstraintSpace FieldsetLayoutAlgorithm::CreateConstraintSpaceForLegend(
BlockNode legend,
LogicalSize available_size,
LogicalSize percentage_size) { … }
const ConstraintSpace
FieldsetLayoutAlgorithm::CreateConstraintSpaceForFieldsetContent(
BlockNode fieldset_content,
LogicalSize padding_box_size,
LayoutUnit block_offset) { … }
}