chromium/third_party/blink/renderer/core/layout/physical_box_fragment.cc

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"

#include "build/chromeos_buildflags.h"
#include "third_party/blink/renderer/core/display_lock/display_lock_utilities.h"
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/editing/text_affinity.h"
#include "third_party/blink/renderer/core/html/html_anchor_element.h"
#include "third_party/blink/renderer/core/layout/block_break_token.h"
#include "third_party/blink/renderer/core/layout/box_fragment_builder.h"
#include "third_party/blink/renderer/core/layout/disable_layout_side_effects_scope.h"
#include "third_party/blink/renderer/core/layout/geometry/box_strut.h"
#include "third_party/blink/renderer/core/layout/geometry/physical_rect.h"
#include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_item.h"
#include "third_party/blink/renderer/core/layout/inline/inline_cursor.h"
#include "third_party/blink/renderer/core/layout/inline/inline_item.h"
#include "third_party/blink/renderer/core/layout/inline/physical_line_box_fragment.h"
#include "third_party/blink/renderer/core/layout/layout_block_flow.h"
#include "third_party/blink/renderer/core/layout/layout_inline.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/outline_utils.h"
#include "third_party/blink/renderer/core/layout/relative_utils.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_cell.h"
#include "third_party/blink/renderer/core/paint/inline_paint_context.h"
#include "third_party/blink/renderer/core/paint/outline_painter.h"
#include "third_party/blink/renderer/platform/wtf/size_assertions.h"

namespace blink {

#if DCHECK_IS_ON()
unsigned PhysicalBoxFragment::AllowPostLayoutScope::allow_count_ =;
#endif

namespace  // namespace

// static
const PhysicalBoxFragment* PhysicalBoxFragment::Create(
    BoxFragmentBuilder* builder,
    WritingMode block_or_line_writing_mode) {}

// static
const PhysicalBoxFragment* PhysicalBoxFragment::Clone(
    const PhysicalBoxFragment& other) {}

// static
const PhysicalBoxFragment* PhysicalBoxFragment::CloneWithPostLayoutFragments(
    const PhysicalBoxFragment& other) {}

namespace {
template <typename T>
constexpr void AccountSizeAndPadding(size_t& current_size) {}
}  // namespace

// static
size_t PhysicalBoxFragment::AdditionalByteSize(bool has_fragment_items) {}

PhysicalBoxFragment::PhysicalBoxFragment(
    PassKey key,
    BoxFragmentBuilder* builder,
    bool has_scrollable_overflow,
    const PhysicalRect& scrollable_overflow,
    const PhysicalBoxStrut* borders,
    const PhysicalBoxStrut* scrollbar,
    const PhysicalBoxStrut* padding,
    const std::optional<PhysicalRect>& inflow_bounds,
    bool has_fragment_items,
    WritingMode block_or_line_writing_mode)
    :{}

PhysicalBoxFragment::PhysicalBoxFragment(
    PassKey key,
    const PhysicalBoxFragment& other,
    bool has_scrollable_overflow,
    const PhysicalRect& scrollable_overflow)
    :{}

PhysicalBoxFragment::~PhysicalBoxFragment() {}

PhysicalRect PhysicalBoxFragment::ContentRect() const {}

const LayoutBox* PhysicalBoxFragment::OwnerLayoutBox() const {}

LayoutBox* PhysicalBoxFragment::MutableOwnerLayoutBox() const {}

PhysicalOffset PhysicalBoxFragment::OffsetFromOwnerLayoutBox() const {}

const PhysicalBoxFragment* PhysicalBoxFragment::PostLayout() const {}

PhysicalRect PhysicalBoxFragment::SelfInkOverflowRect() const {}

PhysicalRect PhysicalBoxFragment::ContentsInkOverflowRect() const {}

PhysicalRect PhysicalBoxFragment::InkOverflowRect() const {}

PhysicalRect PhysicalBoxFragment::OverflowClipRect(
    const PhysicalOffset& location,
    OverlayScrollbarClipBehavior overlay_scrollbar_clip_behavior) const {}

PhysicalRect PhysicalBoxFragment::OverflowClipRect(
    const PhysicalOffset& location,
    const BlockBreakToken* incoming_break_token,
    OverlayScrollbarClipBehavior overlay_scrollbar_clip_behavior) const {}

bool PhysicalBoxFragment::MayIntersect(
    const HitTestResult& result,
    const HitTestLocation& hit_test_location,
    const PhysicalOffset& accumulated_offset) const {}

gfx::Vector2d PhysicalBoxFragment::PixelSnappedScrolledContentOffset() const {}

PhysicalSize PhysicalBoxFragment::ScrollSize() const {}

const PhysicalBoxFragment*
PhysicalBoxFragment::InlineContainerFragmentIfOutlineOwner() const {}

PhysicalFragmentRareData::RareField& PhysicalBoxFragment::EnsureRareField(
    FieldId id) {}

PhysicalBoxFragment::MutableForStyleRecalc::MutableForStyleRecalc(
    base::PassKey<PhysicalBoxFragment>,
    PhysicalBoxFragment& fragment)
    :{}

void PhysicalBoxFragment::MutableForStyleRecalc::SetScrollableOverflow(
    const PhysicalRect& scrollable_overflow) {}

PhysicalBoxFragment::MutableForStyleRecalc
PhysicalBoxFragment::GetMutableForStyleRecalc() const {}

PhysicalBoxFragment::MutableForContainerLayout::MutableForContainerLayout(
    base::PassKey<PhysicalBoxFragment>,
    PhysicalBoxFragment& fragment)
    :{}

void PhysicalBoxFragment::MutableForContainerLayout::SetMargins(
    const PhysicalBoxStrut& margins) {}

PhysicalBoxFragment::MutableForContainerLayout
PhysicalBoxFragment::GetMutableForContainerLayout() const {}

void PhysicalBoxFragment::MutableForOofFragmentation::AddChildFragmentainer(
    const PhysicalBoxFragment& child_fragment,
    LogicalOffset child_offset) {}

void PhysicalBoxFragment::MutableForOofFragmentation::Merge(
    const PhysicalBoxFragment& placeholder_fragmentainer) {}

void PhysicalBoxFragment::MutableForOofFragmentation::UpdateOverflow() {}

void PhysicalBoxFragment::SetInkOverflow(const PhysicalRect& self,
                                         const PhysicalRect& contents) {}

void PhysicalBoxFragment::RecalcInkOverflow(const PhysicalRect& contents) {}

void PhysicalBoxFragment::RecalcInkOverflow() {}

// Recalculate ink overflow of children. Returns the contents ink overflow
// for |this|.
PhysicalRect PhysicalBoxFragment::RecalcContentsInkOverflow() {}

PhysicalRect PhysicalBoxFragment::ComputeSelfInkOverflow() const {}

#if DCHECK_IS_ON()
void PhysicalBoxFragment::InvalidateInkOverflow() {}
#endif

void PhysicalBoxFragment::AddSelfOutlineRects(
    const PhysicalOffset& additional_offset,
    OutlineType outline_type,
    OutlineRectCollector& collector,
    LayoutObject::OutlineInfo* info) const {}

void PhysicalBoxFragment::AddOutlineRects(
    const PhysicalOffset& additional_offset,
    OutlineType outline_type,
    OutlineRectCollector& collector) const {}

void PhysicalBoxFragment::AddOutlineRects(
    const PhysicalOffset& additional_offset,
    OutlineType outline_type,
    bool inline_container_relative,
    OutlineRectCollector& collector) const {}

void PhysicalBoxFragment::AddOutlineRectsForInlineBox(
    PhysicalOffset additional_offset,
    OutlineType outline_type,
    bool container_relative,
    OutlineRectCollector& collector) const {}

PositionWithAffinity PhysicalBoxFragment::PositionForPoint(
    PhysicalOffset point) const {}

PositionWithAffinity PhysicalBoxFragment::PositionForPointByClosestChild(
    PhysicalOffset point_in_contents) const {}

PositionWithAffinity PhysicalBoxFragment::PositionForPointInBlockFlowDirection(
    PhysicalOffset point_in_contents) const {}

PositionWithAffinity PhysicalBoxFragment::PositionForPointInTable(
    PhysicalOffset point_in_contents) const {}

PositionWithAffinity
PhysicalBoxFragment::PositionForPointRespectingEditingBoundaries(
    const PhysicalBoxFragment& child,
    PhysicalOffset point_in_child) const {}

PhysicalBoxStrut PhysicalBoxFragment::OverflowClipMarginOutsets() const {}

#if DCHECK_IS_ON()
PhysicalBoxFragment::AllowPostLayoutScope::AllowPostLayoutScope() {}

PhysicalBoxFragment::AllowPostLayoutScope::~AllowPostLayoutScope() {}

void PhysicalBoxFragment::CheckSameForSimplifiedLayout(
    const PhysicalBoxFragment& other,
    bool check_same_block_size,
    bool check_no_fragmentation) const {}

// Check our flags represent the actual children correctly.
void PhysicalBoxFragment::CheckIntegrity() const {}

void PhysicalBoxFragment::AssertFragmentTreeSelf() const {}

void PhysicalBoxFragment::AssertFragmentTreeChildren(
    bool allow_destroyed_or_moved) const {}
#endif

void PhysicalBoxFragment::TraceAfterDispatch(Visitor* visitor) const {}

}  // namespace blink