chromium/third_party/blink/renderer/core/layout/table/layout_table.cc

// Copyright 2020 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/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) {}

}  // namespace

LayoutTable::LayoutTable(Element* element) :{}

LayoutTable::~LayoutTable() = default;

void LayoutTable::Trace(Visitor* visitor) const {}

// https://drafts.csswg.org/css-tables-3/#fixup-algorithm
// 3.2. If the box’s parent is an inline, run-in, or ruby box (or any box that
// would perform inlinification of its children), then an inline-table box must
// be generated; otherwise it must be a table box.
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 {}

// Effective column index is index of columns with mergeable
// columns skipped. Used in a11y.
unsigned LayoutTable::AbsoluteColumnToEffectiveColumn(
    unsigned absolute_column_index) const {}

unsigned LayoutTable::EffectiveColumnCount() const {}

}  // namespace blink