#include "third_party/blink/renderer/core/page/focusgroup_controller_utils.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/flat_tree_traversal.h"
#include "third_party/blink/renderer/core/dom/focusgroup_flags.h"
#include "third_party/blink/renderer/core/events/keyboard_event.h"
#include "third_party/blink/renderer/core/keywords.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/page/grid_focusgroup_structure_info.h"
namespace blink {
FocusgroupDirection FocusgroupControllerUtils::FocusgroupDirectionForEvent(
KeyboardEvent* event) { … }
bool FocusgroupControllerUtils::IsDirectionForward(
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::IsDirectionBackward(
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::IsDirectionInline(
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::IsDirectionBlock(
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::IsAxisSupported(FocusgroupFlags flags,
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::WrapsInDirection(
FocusgroupFlags flags,
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::FocusgroupExtendsInAxis(
FocusgroupFlags extending_focusgroup,
FocusgroupFlags focusgroup,
FocusgroupDirection direction) { … }
Element* FocusgroupControllerUtils::FindNearestFocusgroupAncestor(
const Element* element,
FocusgroupType type) { … }
Element* FocusgroupControllerUtils::NextElement(const Element* current,
bool skip_subtree) { … }
Element* FocusgroupControllerUtils::PreviousElement(const Element* current) { … }
Element* FocusgroupControllerUtils::LastElementWithin(const Element* current) { … }
bool FocusgroupControllerUtils::IsFocusgroupItem(const Element* element) { … }
Element* FocusgroupControllerUtils::AdjustElementOutOfUnrelatedFocusgroup(
Element* element,
Element* stop_ancestor,
FocusgroupDirection direction) { … }
bool FocusgroupControllerUtils::IsGridFocusgroupItem(const Element* element) { … }
GridFocusgroupStructureInfo*
FocusgroupControllerUtils::CreateGridFocusgroupStructureInfoForGridRoot(
Element* root) { … }
}