summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc34
1 files changed, 24 insertions, 10 deletions
diff --git a/chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc b/chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc
index bb5164cc9fc..32578077127 100644
--- a/chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc
+++ b/chromium/third_party/blink/renderer/core/editing/ime/edit_context.cc
@@ -6,7 +6,6 @@
#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_ime_text_span.h"
#include "third_party/blink/public/web/web_range.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_edit_context_init.h"
#include "third_party/blink/renderer/core/css/css_color_value.h"
@@ -21,6 +20,7 @@
#include "third_party/blink/renderer/platform/geometry/double_rect.h"
#include "third_party/blink/renderer/platform/wtf/decimal.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
+#include "ui/base/ime/ime_text_span.h"
namespace blink {
@@ -74,7 +74,18 @@ bool EditContext::IsEditContextActive() const {
return true;
}
-bool EditContext::IsInputPanelPolicyManual() const {
+ui::mojom::VirtualKeyboardVisibilityRequest
+EditContext::GetLastVirtualKeyboardVisibilityRequest() const {
+ return GetInputMethodController().GetLastVirtualKeyboardVisibilityRequest();
+}
+
+void EditContext::SetVirtualKeyboardVisibilityRequest(
+ ui::mojom::VirtualKeyboardVisibilityRequest vk_visibility_request) {
+ GetInputMethodController().SetVirtualKeyboardVisibilityRequest(
+ vk_visibility_request);
+}
+
+bool EditContext::IsVirtualKeyboardPolicyManual() const {
return GetInputMethodController()
.GetActiveEditContext()
->inputPanelPolicy() == "manual";
@@ -109,7 +120,7 @@ void EditContext::DispatchTextUpdateEvent(const String& text,
}
void EditContext::DispatchTextFormatEvent(
- const WebVector<WebImeTextSpan>& ime_text_spans) {
+ const WebVector<ui::ImeTextSpan>& ime_text_spans) {
// Loop through the vector and fire textformatupdate event for individual text
// spans as there could be multiple formats in the spans.
// TODO(snianu): Try to accumulate the ranges with similar formats and fire
@@ -123,13 +134,13 @@ void EditContext::DispatchTextFormatEvent(
ime_text_span.end_offset + composition_range_start_;
switch (ime_text_span.thickness) {
- case ui::mojom::ImeTextSpanThickness::kNone:
+ case ui::ImeTextSpan::Thickness::kNone:
underline_style = "None";
break;
- case ui::mojom::ImeTextSpanThickness::kThin:
+ case ui::ImeTextSpan::Thickness::kThin:
underline_style = "Thin";
break;
- case ui::mojom::ImeTextSpanThickness::kThick:
+ case ui::ImeTextSpan::Thickness::kThick:
underline_style = "Thick";
break;
default:
@@ -364,7 +375,7 @@ void EditContext::GetLayoutBounds(WebRect* web_control_bounds,
bool EditContext::SetComposition(
const WebString& text,
- const WebVector<WebImeTextSpan>& ime_text_spans,
+ const WebVector<ui::ImeTextSpan>& ime_text_spans,
const WebRange& replacement_range,
int selection_start,
int selection_end) {
@@ -401,7 +412,7 @@ bool EditContext::SetComposition(
bool EditContext::SetCompositionFromExistingText(
int composition_start,
int composition_end,
- const WebVector<WebImeTextSpan>& ime_text_spans) {
+ const WebVector<ui::ImeTextSpan>& ime_text_spans) {
if (composition_start < 0 || composition_end < 0)
return false;
@@ -434,7 +445,7 @@ bool EditContext::SetCompositionFromExistingText(
}
bool EditContext::CommitText(const WebString& text,
- const WebVector<WebImeTextSpan>& ime_text_spans,
+ const WebVector<ui::ImeTextSpan>& ime_text_spans,
const WebRange& replacement_range,
int relative_caret_position) {
// Fire textupdate and textformatupdate events to JS.
@@ -545,6 +556,9 @@ WebTextInputInfo EditContext::TextInputInfo() {
info.action = GetEditContextEnterKeyHint();
info.input_mode = GetInputModeOfEditContext();
info.type = TextInputType();
+ info.virtual_keyboard_policy = IsVirtualKeyboardPolicyManual()
+ ? ui::mojom::VirtualKeyboardPolicy::MANUAL
+ : ui::mojom::VirtualKeyboardPolicy::AUTO;
info.value = text();
info.flags = TextInputFlags();
info.selection_start = selection_start_;
@@ -581,7 +595,7 @@ WebRange EditContext::GetSelectionOffsets() const {
return WebRange(selection_start_, selection_end_);
}
-void EditContext::Trace(Visitor* visitor) {
+void EditContext::Trace(Visitor* visitor) const {
ActiveScriptWrappable::Trace(visitor);
ExecutionContextClient::Trace(visitor);
EventTargetWithInlineData::Trace(visitor);