#include "third_party/blink/renderer/platform/widget/input/frame_widget_input_handler_impl.h"
#include <utility>
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/memory/weak_ptr.h"
#include "base/task/single_thread_task_runner.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "third_party/blink/public/mojom/input/handwriting_gesture_result.mojom-blink.h"
#include "third_party/blink/renderer/platform/widget/frame_widget.h"
#include "third_party/blink/renderer/platform/widget/input/ime_event_guard.h"
#include "third_party/blink/renderer/platform/widget/input/main_thread_event_queue.h"
#include "third_party/blink/renderer/platform/widget/widget_base.h"
#include "third_party/blink/renderer/platform/widget/widget_base_client.h"
namespace blink {
FrameWidgetInputHandlerImpl::FrameWidgetInputHandlerImpl(
base::WeakPtr<WidgetBase> widget,
base::WeakPtr<mojom::blink::FrameWidgetInputHandler>
frame_widget_input_handler,
scoped_refptr<MainThreadEventQueue> input_event_queue)
: … { … }
FrameWidgetInputHandlerImpl::~FrameWidgetInputHandlerImpl() = default;
void FrameWidgetInputHandlerImpl::RunOnMainThread(base::OnceClosure closure) { … }
void FrameWidgetInputHandlerImpl::AddImeTextSpansToExistingText(
uint32_t start,
uint32_t end,
const Vector<ui::ImeTextSpan>& ui_ime_text_spans) { … }
void FrameWidgetInputHandlerImpl::ClearImeTextSpansByType(
uint32_t start,
uint32_t end,
ui::ImeTextSpan::Type type) { … }
void FrameWidgetInputHandlerImpl::SetCompositionFromExistingText(
int32_t start,
int32_t end,
const Vector<ui::ImeTextSpan>& ui_ime_text_spans) { … }
void FrameWidgetInputHandlerImpl::ExtendSelectionAndDelete(int32_t before,
int32_t after) { … }
void FrameWidgetInputHandlerImpl::ExtendSelectionAndReplace(
uint32_t before,
uint32_t after,
const String& replacement_text) { … }
void FrameWidgetInputHandlerImpl::DeleteSurroundingText(int32_t before,
int32_t after) { … }
void FrameWidgetInputHandlerImpl::DeleteSurroundingTextInCodePoints(
int32_t before,
int32_t after) { … }
void FrameWidgetInputHandlerImpl::SetEditableSelectionOffsets(int32_t start,
int32_t end) { … }
void FrameWidgetInputHandlerImpl::HandleStylusWritingGestureAction(
mojom::blink::StylusWritingGestureDataPtr gesture_data,
HandleStylusWritingGestureActionCallback callback) { … }
void FrameWidgetInputHandlerImpl::ExecuteEditCommand(const String& command,
const String& value) { … }
void FrameWidgetInputHandlerImpl::Undo() { … }
void FrameWidgetInputHandlerImpl::Redo() { … }
void FrameWidgetInputHandlerImpl::Cut() { … }
void FrameWidgetInputHandlerImpl::Copy() { … }
void FrameWidgetInputHandlerImpl::CopyToFindPboard() { … }
void FrameWidgetInputHandlerImpl::CenterSelection() { … }
void FrameWidgetInputHandlerImpl::Paste() { … }
void FrameWidgetInputHandlerImpl::PasteAndMatchStyle() { … }
void FrameWidgetInputHandlerImpl::Replace(const String& word) { … }
void FrameWidgetInputHandlerImpl::ReplaceMisspelling(const String& word) { … }
void FrameWidgetInputHandlerImpl::Delete() { … }
void FrameWidgetInputHandlerImpl::SelectAll() { … }
void FrameWidgetInputHandlerImpl::CollapseSelection() { … }
void FrameWidgetInputHandlerImpl::SelectRange(const gfx::Point& base,
const gfx::Point& extent) { … }
void FrameWidgetInputHandlerImpl::SelectAroundCaret(
mojom::blink::SelectionGranularity granularity,
bool should_show_handle,
bool should_show_context_menu,
SelectAroundCaretCallback callback) { … }
void FrameWidgetInputHandlerImpl::AdjustSelectionByCharacterOffset(
int32_t start,
int32_t end,
blink::mojom::SelectionMenuBehavior selection_menu_behavior) { … }
void FrameWidgetInputHandlerImpl::MoveRangeSelectionExtent(
const gfx::Point& extent) { … }
void FrameWidgetInputHandlerImpl::ScrollFocusedEditableNodeIntoView() { … }
void FrameWidgetInputHandlerImpl::WaitForPageScaleAnimationForTesting(
WaitForPageScaleAnimationForTestingCallback callback) { … }
void FrameWidgetInputHandlerImpl::MoveCaret(const gfx::Point& point) { … }
void FrameWidgetInputHandlerImpl::ExecuteCommandOnMainThread(
base::WeakPtr<WidgetBase> widget,
base::WeakPtr<mojom::blink::FrameWidgetInputHandler> handler,
const char* command,
UpdateState update_state) { … }
FrameWidgetInputHandlerImpl::HandlingState::HandlingState(
const base::WeakPtr<WidgetBase>& widget,
UpdateState state)
: … { … }
FrameWidgetInputHandlerImpl::HandlingState::~HandlingState() { … }
}