chrome_client.ClearKeyboardTriggeredTooltip(*GetDocument().GetFrame());
}
}
+#if BUILDFLAG(IS_EFL)
+ if (!LocalFrame::HasTransientUserActivation(nullptr)) {
+ // Called when value of focused text field gets dirty,
+ // e.g. value is modified by script, not by user input.
+ GetDocument()
+ .GetPage()
+ ->GetChromeClient()
+ .DidUpdateTextOfFocusedElementByNonUserInput(*GetDocument().GetFrame());
+ }
+#endif
}
void Element::UpdateSelectionOnFocus(
widget_base_->ShowVirtualKeyboardOnElementFocus();
}
+#if BUILDFLAG(IS_EFL)
+void WebFrameWidgetImpl::DidUpdateTextOfFocusedElementByNonUserInput() {
+ widget_base_->DidUpdateTextOfFocusedElementByNonUserInput();
+}
+#endif
void WebFrameWidgetImpl::ProcessTouchAction(WebTouchAction touch_action) {
widget_base_->ProcessTouchAction(touch_action);
}
void ClearKeyboardTriggeredTooltip();
void ShowVirtualKeyboardOnElementFocus();
+#if BUILDFLAG(IS_EFL)
+ void DidUpdateTextOfFocusedElementByNonUserInput();
+#endif
void ProcessTouchAction(WebTouchAction touch_action);
void SetPanAction(mojom::blink::PanAction pan_action);
// Input method editor related functions.
virtual void ShowVirtualKeyboardOnElementFocus(LocalFrame&) {}
+#if BUILDFLAG(IS_EFL)
+ virtual void DidUpdateTextOfFocusedElementByNonUserInput(LocalFrame&) {}
+#endif
virtual TransformationMatrix GetDeviceEmulationTransform() const {
return TransformationMatrix();
}
->ShowVirtualKeyboardOnElementFocus();
}
+#if BUILDFLAG(IS_EFL)
+void ChromeClientImpl::DidUpdateTextOfFocusedElementByNonUserInput(
+ LocalFrame& frame) {
+ WebLocalFrameImpl::FromFrame(frame)
+ ->LocalRootFrameWidget()
+ ->DidUpdateTextOfFocusedElementByNonUserInput();
+}
+#endif
+
void ChromeClientImpl::OnMouseDown(Node& mouse_down_node) {
if (auto* fill_client =
AutofillClientFromFrame(mouse_down_node.GetDocument().GetFrame())) {
void ShowVirtualKeyboardOnElementFocus(LocalFrame&) override;
+#if BUILDFLAG(IS_EFL)
+ void DidUpdateTextOfFocusedElementByNonUserInput(LocalFrame&) override;
+#endif
TransformationMatrix GetDeviceEmulationTransform() const override;
void OnMouseDown(Node&) override;
UpdateTextInputState();
#elif BUILDFLAG(IS_EFL)
// If webview hasn't focus, IME shouldn't be shown.
- if (has_focus_)
+ if (has_focus_) {
+#if BUILDFLAG(IS_TIZEN_TV)
+ LOG(INFO) << __FUNCTION__;
+ DidUpdateTextOfFocusedElementByNonUserInput();
+#else
ShowVirtualKeyboard();
+#endif // endif defined(OS_TIZEN_TV_PRODUCT)
+ }
+
#else
ShowVirtualKeyboard();
#endif
#endif
}
+#if BUILDFLAG(IS_EFL)
+void WidgetBase::DidUpdateTextOfFocusedElementByNonUserInput() {
+ if (GetTextInputType() != ui::TEXT_INPUT_TYPE_NONE) {
+ LOG(INFO) << __FUNCTION__ << " set is_user_action_ FALSE";
+ is_user_action_ = false;
+ ShowVirtualKeyboard();
+ }
+}
+#endif
void WidgetBase::ProcessTouchAction(cc::TouchAction touch_action) {
if (!input_handler_.ProcessTouchAction(touch_action))
return;
// Dispatch the virtual keyboard and update text input state.
void ShowVirtualKeyboardOnElementFocus();
+#if BUILDFLAG(IS_EFL)
+ // Called when value of focused text field gets dirty, e.g. value is modified
+ // by script, not by user input.
+ void DidUpdateTextOfFocusedElementByNonUserInput();
+#endif
// Process the touch action.
void ProcessTouchAction(cc::TouchAction touch_action);