#include "third_party/blink/renderer/core/events/simulated_event_util.h"
#include "base/time/time.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_mouse_event_init.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_pointer_event_init.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_ui_event_init.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/events/event.h"
#include "third_party/blink/renderer/core/dom/events/simulated_click_options.h"
#include "third_party/blink/renderer/core/dom/node.h"
#include "third_party/blink/renderer/core/event_type_names.h"
#include "third_party/blink/renderer/core/events/mouse_event.h"
#include "third_party/blink/renderer/core/events/pointer_event.h"
#include "third_party/blink/renderer/core/events/pointer_event_factory.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/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/input/input_device_capabilities.h"
#include "third_party/blink/renderer/core/layout/adjust_for_absolute_zoom.h"
#include "third_party/blink/renderer/core/layout/geometry/physical_offset.h"
#include "third_party/blink/renderer/core/layout/layout_box.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/map_coordinates_flags.h"
#include "third_party/blink/renderer/core/pointer_type_names.h"
#include "third_party/blink/renderer/platform/widget/frame_widget.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/rect_f.h"
namespace blink {
namespace {
void PopulateMouseEventInitCoordinates(
Node& node,
MouseEventInit* initializer,
SimulatedClickCreationScope creation_scope) { … }
void PopulateSimulatedMouseEventInit(
const AtomicString& event_type,
Node& node,
const Event* underlying_event,
MouseEventInit* initializer,
SimulatedClickCreationScope creation_scope) { … }
enum class EventClassType { … };
MouseEvent* CreateMouseOrPointerEvent(
EventClassType event_class_type,
const AtomicString& event_type,
Node& node,
const Event* underlying_event,
SimulatedClickCreationScope creation_scope) { … }
}
Event* SimulatedEventUtil::CreateEvent(
const AtomicString& event_type,
Node& node,
const Event* underlying_event,
SimulatedClickCreationScope creation_scope) { … }
}