Chromium Code Reviews| Index: content/browser/renderer_host/ime_adapter_android.cc |
| diff --git a/content/browser/renderer_host/ime_adapter_android.cc b/content/browser/renderer_host/ime_adapter_android.cc |
| index 3a7d18b94da7ce41b8a4981e98e7d87b3eda70cc..5815f81465a54eb9a57dd2eeb338a515569d02f0 100644 |
| --- a/content/browser/renderer_host/ime_adapter_android.cc |
| +++ b/content/browser/renderer_host/ime_adapter_android.cc |
| @@ -142,7 +142,7 @@ void ImeAdapterAndroid::SetComposingText(JNIEnv* env, |
| const JavaParamRef<jobject>& text, |
| const JavaParamRef<jstring>& text_str, |
| int relative_cursor_pos) { |
| - RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwhi = GetFocusedWidget(); |
| if (!rwhi) |
| return; |
| @@ -172,7 +172,7 @@ void ImeAdapterAndroid::CommitText(JNIEnv* env, |
| const JavaParamRef<jobject>& text, |
| const JavaParamRef<jstring>& text_str, |
| int relative_cursor_pos) { |
| - RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwhi = GetFocusedWidget(); |
| if (!rwhi) |
| return; |
| @@ -195,7 +195,7 @@ void ImeAdapterAndroid::CommitText(JNIEnv* env, |
| void ImeAdapterAndroid::FinishComposingText(JNIEnv* env, |
| const JavaParamRef<jobject>&) { |
| - RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwhi = GetFocusedWidget(); |
| if (!rwhi) |
| return; |
| @@ -288,7 +288,7 @@ void ImeAdapterAndroid::DeleteSurroundingText(JNIEnv*, |
| bool ImeAdapterAndroid::RequestTextInputStateUpdate( |
| JNIEnv* env, |
| const JavaParamRef<jobject>&) { |
| - RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwhi = GetFocusedWidget(); |
| if (!rwhi) |
| return false; |
| rwhi->Send(new InputMsg_RequestTextInputStateUpdate(rwhi->GetRoutingID())); |
| @@ -300,7 +300,7 @@ void ImeAdapterAndroid::RequestCursorUpdate( |
| const base::android::JavaParamRef<jobject>& obj, |
| bool immediate_request, |
| bool monitor_request) { |
| - RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwhi = GetFocusedWidget(); |
| if (!rwhi) |
| return; |
| rwhi->Send(new InputMsg_RequestCompositionUpdate( |
| @@ -312,7 +312,7 @@ void ImeAdapterAndroid::ResetImeAdapter(JNIEnv* env, |
| java_ime_adapter_.reset(); |
| } |
| -RenderWidgetHostImpl* ImeAdapterAndroid::GetRenderWidgetHostImpl() { |
| +RenderWidgetHostImpl* ImeAdapterAndroid::GetPageRenderWidgetHostImpl() { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| DCHECK(rwhva_); |
| RenderWidgetHost* rwh = rwhva_->GetRenderWidgetHost(); |
|
Charlie Reis
2017/01/25 22:00:22
Isn't this the RWH associated with RenderWidgetHos
EhsanK
2017/01/26 19:16:29
I think |rwhva_| is always a RenderWidgetHostViewA
Charlie Reis
2017/01/27 01:07:22
Ah yes, I was confused about how RWHVs work (with
EhsanK
2017/01/27 16:16:46
Acknowledged.
|
| @@ -322,8 +322,14 @@ RenderWidgetHostImpl* ImeAdapterAndroid::GetRenderWidgetHostImpl() { |
| return RenderWidgetHostImpl::From(rwh); |
| } |
| +RenderWidgetHostImpl* ImeAdapterAndroid::GetFocusedWidget() { |
| + DCHECK_CURRENTLY_ON(BrowserThread::UI); |
|
EhsanK
2017/01/26 19:16:29
If it wasn't for this threading DCHECK, I could re
Charlie Reis
2017/01/27 01:07:22
That DCHECK isn't strictly necessary, but given th
EhsanK
2017/01/27 16:16:46
Acknowledged.
|
| + DCHECK(rwhva_); |
|
EhsanK
2017/01/25 19:27:47
This DCHECK here and everywhere else in this file
Charlie Reis
2017/01/25 22:00:22
Looks like the only previous use of it is in GetPa
EhsanK
2017/01/26 19:16:29
Acknowledged.
|
| + return rwhva_->GetFocusedWidget(); |
|
Charlie Reis
2017/01/25 22:00:22
I'm getting confused looking at RenderWidgetHostVi
EhsanK
2017/01/26 19:16:29
Since |rwhva_| is a RenderWidgetHostViewAndroid an
Charlie Reis
2017/01/27 01:07:22
Thanks-- that was the same mixup I had above.
EhsanK
2017/01/27 16:16:47
Acknowledged.
|
| +} |
| + |
| RenderFrameHost* ImeAdapterAndroid::GetFocusedFrame() { |
| - RenderWidgetHostImpl* rwh = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwh = GetPageRenderWidgetHostImpl(); |
|
Charlie Reis
2017/01/25 22:00:22
What's the reason for GetFocusedFrame() use GetPag
EhsanK
2017/01/26 19:16:29
I don't think we can get to RenderFrameHostImpl fr
Charlie Reis
2017/01/27 01:07:21
Ok.
EhsanK
2017/01/27 16:16:47
Acknowledged.
|
| if (!rwh) |
| return nullptr; |
| RenderViewHost* rvh = RenderViewHost::From(rwh); |
| @@ -338,7 +344,7 @@ RenderFrameHost* ImeAdapterAndroid::GetFocusedFrame() { |
| } |
| WebContents* ImeAdapterAndroid::GetWebContents() { |
| - RenderWidgetHostImpl* rwh = GetRenderWidgetHostImpl(); |
| + RenderWidgetHostImpl* rwh = GetPageRenderWidgetHostImpl(); |
|
Charlie Reis
2017/01/25 22:00:22
Again, just wondering whether we need GetPageRende
EhsanK
2017/01/26 19:16:29
We actually don't since RenderWidgetHostImpl::From
Charlie Reis
2017/01/27 01:07:21
Sure.
EhsanK
2017/01/27 16:16:46
Acknowledged.
|
| if (!rwh) |
| return nullptr; |
| return WebContents::FromRenderViewHost(RenderViewHost::From(rwh)); |