Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(341)

Unified Diff: content/renderer/render_widget.cc

Issue 1249013005: Merge ViewHostMsg_TextInputTypeChanged and ViewHostMsg_TextInputStateChanged into one. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/test/test_render_view_host.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_widget.cc
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 1db3f45c4b73eda17e326ea8769c4d46aaf16024..a86b73cea7e0f4adaee2383f520d3be59057613c 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -1404,13 +1404,10 @@ blink::WebLayerTreeView* RenderWidget::layerTreeView() {
void RenderWidget::WillBeginCompositorFrame() {
TRACE_EVENT0("gpu", "RenderWidget::willBeginCompositorFrame");
- // The following two can result in further layout and possibly
+ // The UpdateTextInputState can result in further layout and possibly
// enable GPU acceleration so they need to be called before any painting
// is done.
- UpdateTextInputType();
-#if defined(OS_ANDROID)
UpdateTextInputState(NO_SHOW_IME, FROM_NON_IME);
-#endif
UpdateSelectionBounds();
}
@@ -1902,37 +1899,6 @@ void RenderWidget::FinishHandlingImeEvent() {
#endif
}
-void RenderWidget::UpdateTextInputType() {
- TRACE_EVENT0("renderer", "RenderWidget::UpdateTextInputType");
- ui::TextInputType new_type = GetTextInputType();
- if (IsDateTimeInput(new_type))
- return; // Not considered as a text input field in WebKit/Chromium.
-
- bool new_can_compose_inline = CanComposeInline();
-
- blink::WebTextInputInfo new_info;
- if (webwidget_)
- new_info = webwidget_->textInputInfo();
- const ui::TextInputMode new_mode = ConvertInputMode(new_info.inputMode);
- int new_flags = new_info.flags;
-
- if (text_input_type_ != new_type
- || can_compose_inline_ != new_can_compose_inline
- || text_input_mode_ != new_mode
- || text_input_flags_ != new_flags) {
- Send(new ViewHostMsg_TextInputTypeChanged(routing_id(),
- new_type,
- new_mode,
- new_can_compose_inline,
- new_flags));
- text_input_type_ = new_type;
- can_compose_inline_ = new_can_compose_inline;
- text_input_mode_ = new_mode;
- text_input_flags_ = new_flags;
- }
-}
-
-#if defined(OS_ANDROID) || defined(USE_AURA)
void RenderWidget::UpdateTextInputState(ShowIme show_ime,
ChangeSource change_source) {
TRACE_EVENT0("renderer", "RenderWidget::UpdateTextInputState");
@@ -1945,6 +1911,7 @@ void RenderWidget::UpdateTextInputState(ShowIme show_ime,
blink::WebTextInputInfo new_info;
if (webwidget_)
new_info = webwidget_->textInputInfo();
+ const ui::TextInputMode new_mode = ConvertInputMode(new_info.inputMode);
bool new_can_compose_inline = CanComposeInline();
@@ -1952,48 +1919,43 @@ void RenderWidget::UpdateTextInputState(ShowIme show_ime,
// shown.
if (show_ime == SHOW_IME_IF_NEEDED ||
(text_input_type_ != new_type ||
+ text_input_mode_ != new_mode ||
text_input_info_ != new_info ||
can_compose_inline_ != new_can_compose_inline)
#if defined(OS_ANDROID)
|| text_field_is_dirty_
#endif
) {
- ViewHostMsg_TextInputState_Params p;
- p.type = new_type;
- p.flags = new_info.flags;
- p.value = new_info.value.utf8();
- p.selection_start = new_info.selectionStart;
- p.selection_end = new_info.selectionEnd;
- p.composition_start = new_info.compositionStart;
- p.composition_end = new_info.compositionEnd;
- p.can_compose_inline = new_can_compose_inline;
- p.show_ime_if_needed = (show_ime == SHOW_IME_IF_NEEDED);
+ ViewHostMsg_TextInputState_Params params;
+ params.type = new_type;
+ params.mode = new_mode;
+ params.flags = new_info.flags;
+ params.value = new_info.value.utf8();
+ params.selection_start = new_info.selectionStart;
+ params.selection_end = new_info.selectionEnd;
+ params.composition_start = new_info.compositionStart;
+ params.composition_end = new_info.compositionEnd;
+ params.can_compose_inline = new_can_compose_inline;
+ params.show_ime_if_needed = (show_ime == SHOW_IME_IF_NEEDED);
#if defined(USE_AURA)
- p.is_non_ime_change = true;
+ params.is_non_ime_change = true;
#endif
#if defined(OS_ANDROID)
- p.is_non_ime_change = (change_source == FROM_NON_IME) ||
+ params.is_non_ime_change = (change_source == FROM_NON_IME) ||
text_field_is_dirty_;
- if (p.is_non_ime_change)
+ if (params.is_non_ime_change)
IncrementOutstandingImeEventAcks();
text_field_is_dirty_ = false;
#endif
-#if defined(USE_AURA)
- Send(new ViewHostMsg_TextInputTypeChanged(routing_id(),
- new_type,
- text_input_mode_,
- new_can_compose_inline,
- new_info.flags));
-#endif
- Send(new ViewHostMsg_TextInputStateChanged(routing_id(), p));
+ Send(new ViewHostMsg_TextInputStateChanged(routing_id(), params));
text_input_info_ = new_info;
text_input_type_ = new_type;
+ text_input_mode_ = new_mode;
can_compose_inline_ = new_can_compose_inline;
text_input_flags_ = new_info.flags;
}
}
-#endif
void RenderWidget::GetSelectionBounds(gfx::Rect* focus, gfx::Rect* anchor) {
WebRect focus_webrect;
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/test/test_render_view_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698