#include "third_party/blink/renderer/core/page/focusgroup_controller.h"
#include "third_party/blink/public/mojom/input/focus_type.mojom-blink.h"
#include "third_party/blink/renderer/core/dom/document.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/focus_params.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/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/input/event_handler.h"
#include "third_party/blink/renderer/core/page/focus_controller.h"
#include "third_party/blink/renderer/core/page/focusgroup_controller_utils.h"
#include "third_party/blink/renderer/core/page/grid_focusgroup_structure_info.h"
namespace blink {
utils;
bool FocusgroupController::HandleArrowKeyboardEvent(KeyboardEvent* event,
const LocalFrame* frame) { … }
bool FocusgroupController::Advance(Element* initial_element,
FocusgroupDirection direction) { … }
bool FocusgroupController::AdvanceForward(Element* initial_element,
FocusgroupDirection direction) { … }
bool FocusgroupController::CanExitFocusgroupForward(
const Element* exiting_focusgroup,
const Element* next_element,
FocusgroupDirection direction) { … }
bool FocusgroupController::CanExitFocusgroupForwardRecursive(
const Element* exiting_focusgroup,
const Element* next_element,
FocusgroupDirection direction,
bool check_wrap) { … }
Element* FocusgroupController::WrapForward(Element* nearest_focusgroup,
FocusgroupDirection direction) { … }
bool FocusgroupController::AdvanceBackward(Element* initial_element,
FocusgroupDirection direction) { … }
Element* FocusgroupController::WrapBackward(Element* current,
FocusgroupDirection direction) { … }
bool FocusgroupController::AdvanceInGrid(Element* initial_element,
Element* grid_root,
FocusgroupDirection direction) { … }
Element* FocusgroupController::WrapOrFlowInGrid(
Element* element,
FocusgroupDirection direction,
GridFocusgroupStructureInfo* helper) { … }
void FocusgroupController::Focus(Element* element,
FocusgroupDirection direction) { … }
}