OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/android/ime_adapter_android.h" | 5 #include "content/browser/android/ime_adapter_android.h" |
6 | 6 |
7 #include <android/input.h> | 7 #include <android/input.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 | 286 |
287 void ImeAdapterAndroid::SetEditableSelectionOffsets( | 287 void ImeAdapterAndroid::SetEditableSelectionOffsets( |
288 JNIEnv*, | 288 JNIEnv*, |
289 const JavaParamRef<jobject>&, | 289 const JavaParamRef<jobject>&, |
290 int start, | 290 int start, |
291 int end) { | 291 int end) { |
292 RenderFrameHost* rfh = GetFocusedFrame(); | 292 RenderFrameHost* rfh = GetFocusedFrame(); |
293 if (!rfh) | 293 if (!rfh) |
294 return; | 294 return; |
295 | 295 |
296 rfh->Send(new InputMsg_SetEditableSelectionOffsets(rfh->GetRoutingID(), start, | 296 rfh->GetFrameInputHandler()->SetEditableSelectionOffsets(start, end); |
297 end)); | |
298 } | 297 } |
299 | 298 |
300 void ImeAdapterAndroid::SetCharacterBounds( | 299 void ImeAdapterAndroid::SetCharacterBounds( |
301 const std::vector<gfx::RectF>& character_bounds) { | 300 const std::vector<gfx::RectF>& character_bounds) { |
302 JNIEnv* env = AttachCurrentThread(); | 301 JNIEnv* env = AttachCurrentThread(); |
303 ScopedJavaLocalRef<jobject> obj = java_ime_adapter_.get(env); | 302 ScopedJavaLocalRef<jobject> obj = java_ime_adapter_.get(env); |
304 if (obj.is_null()) | 303 if (obj.is_null()) |
305 return; | 304 return; |
306 | 305 |
307 const size_t coordinates_array_size = character_bounds.size() * 4; | 306 const size_t coordinates_array_size = character_bounds.size() * 4; |
(...skipping 13 matching lines...) Expand all Loading... |
321 } | 320 } |
322 | 321 |
323 void ImeAdapterAndroid::SetComposingRegion(JNIEnv*, | 322 void ImeAdapterAndroid::SetComposingRegion(JNIEnv*, |
324 const JavaParamRef<jobject>&, | 323 const JavaParamRef<jobject>&, |
325 int start, | 324 int start, |
326 int end) { | 325 int end) { |
327 RenderFrameHost* rfh = GetFocusedFrame(); | 326 RenderFrameHost* rfh = GetFocusedFrame(); |
328 if (!rfh) | 327 if (!rfh) |
329 return; | 328 return; |
330 | 329 |
331 std::vector<blink::WebCompositionUnderline> underlines; | 330 std::vector<ui::CompositionUnderline> underlines; |
332 underlines.push_back(blink::WebCompositionUnderline( | 331 underlines.push_back(ui::CompositionUnderline(0, end - start, SK_ColorBLACK, |
333 0, end - start, SK_ColorBLACK, false, SK_ColorTRANSPARENT)); | 332 false, SK_ColorTRANSPARENT)); |
334 | 333 |
335 rfh->Send(new InputMsg_SetCompositionFromExistingText( | 334 rfh->GetFrameInputHandler()->SetCompositionFromExistingText(start, end, |
336 rfh->GetRoutingID(), start, end, underlines)); | 335 underlines); |
337 } | 336 } |
338 | 337 |
339 void ImeAdapterAndroid::DeleteSurroundingText(JNIEnv*, | 338 void ImeAdapterAndroid::DeleteSurroundingText(JNIEnv*, |
340 const JavaParamRef<jobject>&, | 339 const JavaParamRef<jobject>&, |
341 int before, | 340 int before, |
342 int after) { | 341 int after) { |
343 RenderFrameHostImpl* rfh = | 342 RenderFrameHostImpl* rfh = |
344 static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); | 343 static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); |
345 if (rfh) | 344 if (rfh) |
346 rfh->DeleteSurroundingText(before, after); | 345 rfh->GetFrameInputHandler()->DeleteSurroundingText(before, after); |
347 } | 346 } |
348 | 347 |
349 void ImeAdapterAndroid::DeleteSurroundingTextInCodePoints( | 348 void ImeAdapterAndroid::DeleteSurroundingTextInCodePoints( |
350 JNIEnv*, | 349 JNIEnv*, |
351 const JavaParamRef<jobject>&, | 350 const JavaParamRef<jobject>&, |
352 int before, | 351 int before, |
353 int after) { | 352 int after) { |
354 RenderFrameHostImpl* rfh = | 353 RenderFrameHostImpl* rfh = |
355 static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); | 354 static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); |
356 if (rfh) | 355 if (rfh) |
357 rfh->DeleteSurroundingTextInCodePoints(before, after); | 356 rfh->GetFrameInputHandler()->DeleteSurroundingTextInCodePoints(before, |
| 357 after); |
358 } | 358 } |
359 | 359 |
360 bool ImeAdapterAndroid::RequestTextInputStateUpdate( | 360 bool ImeAdapterAndroid::RequestTextInputStateUpdate( |
361 JNIEnv* env, | 361 JNIEnv* env, |
362 const JavaParamRef<jobject>&) { | 362 const JavaParamRef<jobject>&) { |
363 RenderWidgetHostImpl* rwhi = GetFocusedWidget(); | 363 RenderWidgetHostImpl* rwhi = GetFocusedWidget(); |
364 if (!rwhi) | 364 if (!rwhi) |
365 return false; | 365 return false; |
366 rwhi->Send(new InputMsg_RequestTextInputStateUpdate(rwhi->GetRoutingID())); | 366 rwhi->Send(new InputMsg_RequestTextInputStateUpdate(rwhi->GetRoutingID())); |
367 return true; | 367 return true; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 Java_ImeAdapter_populateUnderlinesFromSpans( | 415 Java_ImeAdapter_populateUnderlinesFromSpans( |
416 env, obj, text, reinterpret_cast<jlong>(&underlines)); | 416 env, obj, text, reinterpret_cast<jlong>(&underlines)); |
417 | 417 |
418 // Sort spans by |.startOffset|. | 418 // Sort spans by |.startOffset|. |
419 std::sort(underlines.begin(), underlines.end()); | 419 std::sort(underlines.begin(), underlines.end()); |
420 | 420 |
421 return underlines; | 421 return underlines; |
422 } | 422 } |
423 | 423 |
424 } // namespace content | 424 } // namespace content |
OLD | NEW |