#include "third_party/blink/renderer/core/exported/web_input_method_controller_impl.h"
#include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/platform/web_vector.h"
#include "third_party/blink/public/web/web_plugin.h"
#include "third_party/blink/public/web/web_range.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/editor.h"
#include "third_party/blink/renderer/core/editing/ephemeral_range.h"
#include "third_party/blink/renderer/core/editing/frame_selection.h"
#include "third_party/blink/renderer/core/editing/ime/edit_context.h"
#include "third_party/blink/renderer/core/editing/ime/ime_text_span_vector_builder.h"
#include "third_party/blink/renderer/core/editing/ime/input_method_controller.h"
#include "third_party/blink/renderer/core/editing/plain_text_range.h"
#include "third_party/blink/renderer/core/exported/web_plugin_container_impl.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/web_local_frame_impl.h"
#include "third_party/blink/renderer/core/input_type_names.h"
#include "third_party/blink/renderer/core/page/focus_controller.h"
#include "third_party/blink/renderer/core/page/page.h"
namespace blink {
WebInputMethodControllerImpl::WebInputMethodControllerImpl(
WebLocalFrameImpl& web_frame)
: … { … }
WebInputMethodControllerImpl::~WebInputMethodControllerImpl() = default;
void WebInputMethodControllerImpl::Trace(Visitor* visitor) const { … }
bool WebInputMethodControllerImpl::IsEditContextActive() const { … }
ui::mojom::VirtualKeyboardVisibilityRequest
WebInputMethodControllerImpl::GetLastVirtualKeyboardVisibilityRequest() const { … }
void WebInputMethodControllerImpl::SetVirtualKeyboardVisibilityRequest(
ui::mojom::VirtualKeyboardVisibilityRequest vk_visibility_request) { … }
bool WebInputMethodControllerImpl::SetComposition(
const WebString& text,
const WebVector<ui::ImeTextSpan>& ime_text_spans,
const WebRange& replacement_range,
int selection_start,
int selection_end) { … }
bool WebInputMethodControllerImpl::FinishComposingText(
ConfirmCompositionBehavior selection_behavior) { … }
bool WebInputMethodControllerImpl::CommitText(
const WebString& text,
const WebVector<ui::ImeTextSpan>& ime_text_spans,
const WebRange& replacement_range,
int relative_caret_position) { … }
WebTextInputInfo WebInputMethodControllerImpl::TextInputInfo() { … }
int WebInputMethodControllerImpl::ComputeWebTextInputNextPreviousFlags() { … }
WebTextInputType WebInputMethodControllerImpl::TextInputType() { … }
void WebInputMethodControllerImpl::GetLayoutBounds(
gfx::Rect* control_bounds,
gfx::Rect* selection_bounds) { … }
WebRange WebInputMethodControllerImpl::CompositionRange() const { … }
bool WebInputMethodControllerImpl::GetCompositionCharacterBounds(
WebVector<gfx::Rect>& bounds) { … }
WebRange WebInputMethodControllerImpl::GetSelectionOffsets() const { … }
LocalFrame* WebInputMethodControllerImpl::GetFrame() const { … }
InputMethodController& WebInputMethodControllerImpl::GetInputMethodController()
const { … }
WebPlugin* WebInputMethodControllerImpl::FocusedPluginIfInputMethodSupported()
const { … }
}