#include "third_party/blink/renderer/core/page/grid_focusgroup_structure_info.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/focusgroup_flags.h"
#include "third_party/blink/renderer/core/html/html_table_cell_element.h"
#include "third_party/blink/renderer/core/html/html_table_element.h"
#include "third_party/blink/renderer/core/html/html_table_row_element.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/table/layout_table.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_cell.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"
namespace blink {
AutomaticGridFocusgroupStructureInfo::AutomaticGridFocusgroupStructureInfo(
LayoutObject* root)
: … { … }
void AutomaticGridFocusgroupStructureInfo::Trace(Visitor* visitor) const { … }
const LayoutTable* AutomaticGridFocusgroupStructureInfo::Table() { … }
Element* AutomaticGridFocusgroupStructureInfo::Root() { … }
FocusgroupFlags AutomaticGridFocusgroupStructureInfo::Flags() { … }
unsigned AutomaticGridFocusgroupStructureInfo::ColumnCount() { … }
Element* AutomaticGridFocusgroupStructureInfo::PreviousCellInRow(
const Element* cell_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::NextCellInRow(
const Element* cell_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::FirstCellInRow(Element* row) { … }
Element* AutomaticGridFocusgroupStructureInfo::LastCellInRow(Element* row) { … }
unsigned AutomaticGridFocusgroupStructureInfo::ColumnIndexForCell(
const Element* cell_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::PreviousCellInColumn(
const Element* cell_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::NextCellInColumn(
const Element* cell_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::FirstCellInColumn(
unsigned index) { … }
Element* AutomaticGridFocusgroupStructureInfo::LastCellInColumn(
unsigned index) { … }
Element* AutomaticGridFocusgroupStructureInfo::PreviousRow(
Element* row_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::NextRow(Element* row_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::FirstRow() { … }
Element* AutomaticGridFocusgroupStructureInfo::LastRow() { … }
Element* AutomaticGridFocusgroupStructureInfo::RowForCell(
Element* cell_element) { … }
Element* AutomaticGridFocusgroupStructureInfo::CellAtIndexInRow(
unsigned index,
Element* row_element,
NoCellFoundAtIndexBehavior behavior) { … }
LayoutTableRow* AutomaticGridFocusgroupStructureInfo::PreviousRow(
LayoutTableRow* current_row) { … }
LayoutTableRow* AutomaticGridFocusgroupStructureInfo::NextRow(
LayoutTableRow* current_row) { … }
LayoutTableCell*
AutomaticGridFocusgroupStructureInfo::TableCellAtIndexInRowRecursive(
unsigned index,
LayoutTableRow* row,
std::optional<unsigned> expected_rowspan) { … }
}