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

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 2045363002: Routing IME Result Calls to the Correct RenderWidgetHost (Aura Only) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
Index: content/browser/renderer_host/render_widget_host_view_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 7b8dfade2ef72535611714f118146fd4c89262bb..04fbdcf39ac21d702777baabfc38bd45b1c8277f 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -1439,7 +1439,7 @@ void RenderWidgetHostViewAura::UnlockMouse() {
void RenderWidgetHostViewAura::SetCompositionText(
const ui::CompositionText& composition) {
// TODO(wjmaclean): can host_ ever be null?
kenrb 2016/06/13 19:37:47 Nit: That comment can be removed.
EhsanK 2016/06/17 22:36:19 Acknowledged.
- if (!host_)
+ if (!text_input_manager_ || !text_input_manager_->GetActiveWidget())
return;
// TODO(suzhe): convert both renderer_host and renderer to use
@@ -1459,27 +1459,28 @@ void RenderWidgetHostViewAura::SetCompositionText(
// TODO(suzhe): due to a bug of webkit, we can't use selection range with
// composition string. See: https://bugs.webkit.org/show_bug.cgi?id=37788
- host_->ImeSetComposition(composition.text, underlines,
- gfx::Range::InvalidRange(),
- composition.selection.end(),
- composition.selection.end());
+ text_input_manager_->GetActiveWidget()->ImeSetComposition(
kenrb 2016/06/13 19:37:47 I have a slight concern about nullptr derefs here.
EhsanK 2016/06/17 22:36:19 Agreed. I think it is safe to unregister here rath
kenrb 2016/06/20 16:04:06 You need to either address that problem before thi
EhsanK 2016/06/22 18:26:32 We already early return on top when GetActiveWidge
kenrb 2016/06/22 19:39:50 Okay, I had missed the line above. This seems fine
EhsanK 2016/06/22 20:56:43 Sorry for that confusing line. I was thinking of a
+ composition.text, underlines, gfx::Range::InvalidRange(),
+ composition.selection.end(), composition.selection.end());
has_composition_text_ = !composition.text.empty();
}
void RenderWidgetHostViewAura::ConfirmCompositionText() {
// TODO(wjmaclean): can host_ ever be null?
- if (host_ && has_composition_text_) {
- host_->ImeConfirmComposition(base::string16(), gfx::Range::InvalidRange(),
- false);
+ if (text_input_manager_ && text_input_manager_->GetActiveWidget() &&
+ has_composition_text_) {
+ text_input_manager_->GetActiveWidget()->ImeConfirmComposition(
+ base::string16(), gfx::Range::InvalidRange(), false);
}
has_composition_text_ = false;
}
void RenderWidgetHostViewAura::ClearCompositionText() {
// TODO(wjmaclean): can host_ ever be null?
- if (host_ && has_composition_text_)
- host_->ImeCancelComposition();
+ if (text_input_manager_ && text_input_manager_->GetActiveWidget() &&
+ has_composition_text_)
+ text_input_manager_->GetActiveWidget()->ImeCancelComposition();
has_composition_text_ = false;
}
@@ -1487,8 +1488,9 @@ void RenderWidgetHostViewAura::InsertText(const base::string16& text) {
DCHECK_NE(GetTextInputType(), ui::TEXT_INPUT_TYPE_NONE);
// TODO(wjmaclean): can host_ ever be null?
- if (host_)
- host_->ImeConfirmComposition(text, gfx::Range::InvalidRange(), false);
+ if (text_input_manager_ && text_input_manager_->GetActiveWidget())
+ text_input_manager_->GetActiveWidget()->ImeConfirmComposition(
+ text, gfx::Range::InvalidRange(), false);
has_composition_text_ = false;
}

Powered by Google App Engine
This is Rietveld 408576698