#include "third_party/blink/renderer/core/layout/layout_utils.h"
#include "third_party/blink/renderer/core/html/html_element.h"
#include "third_party/blink/renderer/core/layout/constraint_space.h"
#include "third_party/blink/renderer/core/layout/layout_result.h"
#include "third_party/blink/renderer/core/layout/logical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/block_layout_algorithm_utils.h"
#include "third_party/blink/renderer/core/layout/length_utils.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
namespace blink {
namespace {
enum class LengthResolveType { … };
inline bool InlineLengthMayChange(const ComputedStyle& style,
const Length& length,
LengthResolveType type,
const ConstraintSpace& new_space,
const ConstraintSpace& old_space,
const LayoutResult& layout_result) { … }
inline bool BlockLengthMayChange(const Length& length,
const ConstraintSpace& new_space,
const ConstraintSpace& old_space) { … }
bool BlockSizeMayChange(const BlockNode& node,
const ConstraintSpace& new_space,
const ConstraintSpace& old_space,
const LayoutResult& layout_result) { … }
bool SizeMayChange(const BlockNode& node,
const ConstraintSpace& new_space,
const ConstraintSpace& old_space,
const LayoutResult& layout_result) { … }
LayoutCacheStatus CalculateSizeBasedLayoutCacheStatusWithGeometry(
const BlockNode& node,
const FragmentGeometry& fragment_geometry,
const LayoutResult& layout_result,
const ConstraintSpace& new_space,
const ConstraintSpace& old_space) { … }
bool IntrinsicSizeWillChange(
const BlockNode& node,
const BlockBreakToken* break_token,
const LayoutResult& cached_layout_result,
const ConstraintSpace& new_space,
std::optional<FragmentGeometry>* fragment_geometry) { … }
}
LayoutCacheStatus CalculateSizeBasedLayoutCacheStatus(
const BlockNode& node,
const BlockBreakToken* break_token,
const LayoutResult& cached_layout_result,
const ConstraintSpace& new_space,
std::optional<FragmentGeometry>* fragment_geometry) { … }
bool MaySkipLayoutWithinBlockFormattingContext(
const LayoutResult& cached_layout_result,
const ConstraintSpace& new_space,
std::optional<LayoutUnit>* bfc_block_offset,
LayoutUnit* block_offset_delta,
MarginStrut* end_margin_strut) { … }
}