#include "third_party/blink/renderer/core/dom/events/event_path.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/events/window_event_context.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/events/touch_event.h"
#include "third_party/blink/renderer/core/events/touch_event_context.h"
#include "third_party/blink/renderer/core/html/html_slot_element.h"
#include "third_party/blink/renderer/core/input/touch.h"
#include "third_party/blink/renderer/core/input/touch_list.h"
namespace blink {
EventTarget& EventPath::EventTargetRespectingTargetRules(Node& reference_node) { … }
static inline bool ShouldStopAtShadowRoot(Event& event,
ShadowRoot& shadow_root,
EventTarget& target) { … }
EventPath::EventPath(Node& node, Event* event) : … { … }
void EventPath::InitializeWith(Node& node, Event* event) { … }
static inline bool EventPathShouldBeEmptyFor(Node& node) { … }
void EventPath::Initialize() { … }
void EventPath::CalculatePath() { … }
void EventPath::CalculateTreeOrderAndSetNearestAncestorClosedTree() { … }
TreeScopeEventContext* EventPath::GetTreeScopeEventContext(
TreeScope& tree_scope) { … }
TreeScopeEventContext* EventPath::EnsureTreeScopeEventContext(
Node* current_target,
TreeScope* tree_scope) { … }
void EventPath::CalculateAdjustedTargets() { … }
void EventPath::BuildRelatedNodeMap(const Node& related_node,
RelatedTargetMap& related_target_map) { … }
EventTarget* EventPath::FindRelatedNode(TreeScope& scope,
RelatedTargetMap& related_target_map) { … }
void EventPath::AdjustForRelatedTarget(Node& target,
EventTarget* related_target) { … }
void EventPath::RetargetRelatedTarget(const Node& related_target_node) { … }
namespace {
bool ShouldStopEventPath(EventTarget& adjusted_target,
EventTarget& adjusted_related_target,
const Node& event_target_node,
const Node& event_related_target_node) { … }
}
void EventPath::ShrinkForRelatedTarget(const Node& event_target_node,
const Node& event_related_target_node) { … }
void EventPath::AdjustForTouchEvent(const TouchEvent& touch_event) { … }
void EventPath::AdjustTouchList(
const TouchList* const touch_list,
HeapVector<Member<TouchList>> adjusted_touch_list,
const HeapVector<Member<TreeScope>>& tree_scopes) { … }
void EventPath::AdjustForDisabledFormControl() { … }
bool EventPath::DisabledFormControlExistsInPath() const { … }
bool EventPath::HasEventListenersInPath(const AtomicString& event_type) const { … }
NodeEventContext& EventPath::TopNodeEventContext() { … }
void EventPath::EnsureWindowEventContext() { … }
#if DCHECK_IS_ON()
void EventPath::CheckReachability(TreeScope& tree_scope,
TouchList& touch_list) { … }
#endif
void EventPath::Trace(Visitor* visitor) const { … }
}