#include "third_party/blink/renderer/core/layout/table/layout_table.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/layout/block_node.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/layout_view.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_caption.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_cell.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_column.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_row.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_section.h"
#include "third_party/blink/renderer/core/layout/table/table_borders.h"
#include "third_party/blink/renderer/core/layout/table/table_layout_utils.h"
#include "third_party/blink/renderer/core/paint/box_fragment_painter.h"
#include "third_party/blink/renderer/core/paint/table_painters.h"
#include "third_party/blink/renderer/platform/geometry/infinite_int_rect.h"
namespace blink {
namespace {
inline bool NeedsTableSection(const LayoutObject& object) { … }
}
LayoutTable::LayoutTable(Element* element) : … { … }
LayoutTable::~LayoutTable() = default;
void LayoutTable::Trace(Visitor* visitor) const { … }
bool LayoutTable::ShouldCreateInlineAnonymous(const LayoutObject& parent) { … }
LayoutTable* LayoutTable::CreateAnonymousWithParent(
const LayoutObject& parent) { … }
bool LayoutTable::IsFirstCell(const LayoutTableCell& cell) const { … }
LayoutTableSection* LayoutTable::FirstSection() const { … }
LayoutTableSection* LayoutTable::LastSection() const { … }
LayoutTableSection* LayoutTable::NextSection(
const LayoutTableSection* current) const { … }
LayoutTableSection* LayoutTable::PreviousSection(
const LayoutTableSection* current) const { … }
wtf_size_t LayoutTable::ColumnCount() const { … }
void LayoutTable::SetCachedTableBorders(const TableBorders* table_borders) { … }
void LayoutTable::InvalidateCachedTableBorders() { … }
const TableTypes::Columns* LayoutTable::GetCachedTableColumnConstraints() { … }
void LayoutTable::SetCachedTableColumnConstraints(
scoped_refptr<const TableTypes::Columns> columns) { … }
void LayoutTable::GridBordersChanged() { … }
void LayoutTable::TableGridStructureChanged() { … }
bool LayoutTable::HasBackgroundForPaint() const { … }
void LayoutTable::AddChild(LayoutObject* child, LayoutObject* before_child) { … }
void LayoutTable::RemoveChild(LayoutObject* child) { … }
void LayoutTable::StyleDidChange(StyleDifference diff,
const ComputedStyle* old_style) { … }
LayoutBox* LayoutTable::CreateAnonymousBoxWithSameTypeAs(
const LayoutObject* parent) const { … }
PhysicalRect LayoutTable::OverflowClipRect(
const PhysicalOffset& location,
OverlayScrollbarClipBehavior overlay_scrollbar_clip_behavior) const { … }
LayoutUnit LayoutTable::BorderLeft() const { … }
LayoutUnit LayoutTable::BorderRight() const { … }
LayoutUnit LayoutTable::BorderTop() const { … }
LayoutUnit LayoutTable::BorderBottom() const { … }
LayoutUnit LayoutTable::PaddingTop() const { … }
LayoutUnit LayoutTable::PaddingBottom() const { … }
LayoutUnit LayoutTable::PaddingLeft() const { … }
LayoutUnit LayoutTable::PaddingRight() const { … }
unsigned LayoutTable::AbsoluteColumnToEffectiveColumn(
unsigned absolute_column_index) const { … }
unsigned LayoutTable::EffectiveColumnCount() const { … }
}