OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/ime_adapter_android.h" | 5 #include "content/browser/renderer_host/ime_adapter_android.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <android/input.h> | 8 #include <android/input.h> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 void ImeAdapterAndroid::FocusedNodeChanged(bool is_editable_node) { | 243 void ImeAdapterAndroid::FocusedNodeChanged(bool is_editable_node) { |
244 base::android::ScopedJavaLocalRef<jobject> obj = | 244 base::android::ScopedJavaLocalRef<jobject> obj = |
245 java_ime_adapter_.get(AttachCurrentThread()); | 245 java_ime_adapter_.get(AttachCurrentThread()); |
246 if (!obj.is_null()) { | 246 if (!obj.is_null()) { |
247 Java_ImeAdapter_focusedNodeChanged(AttachCurrentThread(), | 247 Java_ImeAdapter_focusedNodeChanged(AttachCurrentThread(), |
248 obj.obj(), | 248 obj.obj(), |
249 is_editable_node); | 249 is_editable_node); |
250 } | 250 } |
251 } | 251 } |
252 | 252 |
| 253 void ImeAdapterAndroid::Unblock() { |
| 254 base::android::ScopedJavaLocalRef<jobject> obj = |
| 255 java_ime_adapter_.get(AttachCurrentThread()); |
| 256 if (!obj.is_null()) { |
| 257 Java_ImeAdapter_unblock(AttachCurrentThread(), |
| 258 obj.obj()); |
| 259 } |
| 260 } |
| 261 |
253 void ImeAdapterAndroid::SetEditableSelectionOffsets( | 262 void ImeAdapterAndroid::SetEditableSelectionOffsets( |
254 JNIEnv*, | 263 JNIEnv*, |
255 const JavaParamRef<jobject>&, | 264 const JavaParamRef<jobject>&, |
256 int start, | 265 int start, |
257 int end) { | 266 int end) { |
258 RenderFrameHost* rfh = GetFocusedFrame(); | 267 RenderFrameHost* rfh = GetFocusedFrame(); |
259 if (!rfh) | 268 if (!rfh) |
260 return; | 269 return; |
261 | 270 |
262 rfh->Send(new FrameMsg_SetEditableSelectionOffsets(rfh->GetRoutingID(), | 271 rfh->Send(new FrameMsg_SetEditableSelectionOffsets(rfh->GetRoutingID(), |
(...skipping 19 matching lines...) Expand all Loading... |
282 void ImeAdapterAndroid::DeleteSurroundingText(JNIEnv*, | 291 void ImeAdapterAndroid::DeleteSurroundingText(JNIEnv*, |
283 const JavaParamRef<jobject>&, | 292 const JavaParamRef<jobject>&, |
284 int before, | 293 int before, |
285 int after) { | 294 int after) { |
286 RenderFrameHostImpl* rfh = | 295 RenderFrameHostImpl* rfh = |
287 static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); | 296 static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); |
288 if (rfh) | 297 if (rfh) |
289 rfh->ExtendSelectionAndDelete(before, after); | 298 rfh->ExtendSelectionAndDelete(before, after); |
290 } | 299 } |
291 | 300 |
| 301 bool ImeAdapterAndroid::RequestTextInputStateUpdate( |
| 302 JNIEnv* env, |
| 303 const JavaParamRef<jobject>&) { |
| 304 RenderWidgetHostImpl* rwhi = GetRenderWidgetHostImpl(); |
| 305 if (!rwhi) |
| 306 return false; |
| 307 rwhi->Send(new InputMsg_RequestTextInputStateUpdate(rwhi->GetRoutingID())); |
| 308 return true; |
| 309 } |
| 310 |
292 void ImeAdapterAndroid::ResetImeAdapter(JNIEnv* env, | 311 void ImeAdapterAndroid::ResetImeAdapter(JNIEnv* env, |
293 const JavaParamRef<jobject>&) { | 312 const JavaParamRef<jobject>&) { |
294 java_ime_adapter_.reset(); | 313 java_ime_adapter_.reset(); |
295 } | 314 } |
296 | 315 |
297 RenderWidgetHostImpl* ImeAdapterAndroid::GetRenderWidgetHostImpl() { | 316 RenderWidgetHostImpl* ImeAdapterAndroid::GetRenderWidgetHostImpl() { |
298 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 317 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
299 DCHECK(rwhva_); | 318 DCHECK(rwhva_); |
300 RenderWidgetHost* rwh = rwhva_->GetRenderWidgetHost(); | 319 RenderWidgetHost* rwh = rwhva_->GetRenderWidgetHost(); |
301 if (!rwh) | 320 if (!rwh) |
(...skipping 18 matching lines...) Expand all Loading... |
320 } | 339 } |
321 | 340 |
322 WebContents* ImeAdapterAndroid::GetWebContents() { | 341 WebContents* ImeAdapterAndroid::GetWebContents() { |
323 RenderWidgetHostImpl* rwh = GetRenderWidgetHostImpl(); | 342 RenderWidgetHostImpl* rwh = GetRenderWidgetHostImpl(); |
324 if (!rwh) | 343 if (!rwh) |
325 return nullptr; | 344 return nullptr; |
326 return WebContents::FromRenderViewHost(RenderViewHost::From(rwh)); | 345 return WebContents::FromRenderViewHost(RenderViewHost::From(rwh)); |
327 } | 346 } |
328 | 347 |
329 } // namespace content | 348 } // namespace content |
OLD | NEW |