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

Issue 643193003: Support InputMethodManager#updateCursorAnchorInfo for Android 5.0 (C++ version)

Created:
6 years, 2 months ago by yukawa
Modified:
5 years, 2 months ago
Reviewers:
CC:
chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, jam, mkwst+moarreviews-renderer_chromium.org, mkwst+moarreviews-ipc_chromium.org, nasko+codewatch_chromium.org, nona+watch_chromium.org, penghuang+watch_chromium.org, James Su, yukishiino+watch_chromium.org, yusukes+watch_chromium.org, aelias_OOO_until_Jul13
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support InputMethodManager#updateCursorAnchorInfo for Android 5.0 (C++ version) This is the 4th part of the series of CLs to enable InputMethodManager#updateCursorAnchorInfo support for Android 5.0. Here are previous CLs: - part1 crrev.com/671503005 - part2 crrev.com/679223002 - part3 crrev.com/755853004 - part4 crrev.com/784503002 - part5 crrev.com/757233003 Basically this CL consists of following 6 parts. 1. Implements native wrapper for CursorAnchorInfo.Builder APIs so that we can implement that functionality in native side as much as possible. 2. Exposes View#GetLocationOnScreen to native side. 3. Adds CursorAnchorInfoController as a native class that manages when and how CursorAnchorInfo object should be built and sent to the IME. 4. Adds tests for CursorAnchorInfoController. 5. Update IME API wrappers so that we can call new IME APIs for L from the native side. 6. Introduces --enable-cursor-anchor-info so that we can start testing this functionality behind the flag. As discussed in the previous CLs, that callback is called in Android 5.0 and later. Hence no performance impact is intended in KitKat and prior. Design Doc: https://docs.google.com/a/chromium.org/document/d/1KdnoynGURrJBP1vDHcv2jwUdnsXHzRSxb5v4rK7UgtU/view BUG=424866 TEST=Manually done on Nexus 7 Build/LRX21P

Patch Set 1 : Support InputMethodManager#updateCursorAnchorInfo for Android 5.0 #

Patch Set 2 : Rebase #

Patch Set 3 : Address lint warnings #

Patch Set 4 : Rebase (crrev.com/671503005 is upstreamed) #

Patch Set 5 : Rebase (crrev.com/679223002 is upstreamed) #

Patch Set 6 : Fix matrix calculation. Make sure selection range is passed to the IME. #

Patch Set 7 : Rebase #

Patch Set 8 : Rebase #

Patch Set 9 : Address comments in crrev.com/699333003 #

Patch Set 10 : WIP #

Patch Set 11 : Handle CursorAnchorInfo in native side rather than Java side #

Patch Set 12 : Rebase on top of crrev.com/755853004 #

Patch Set 13 : Rebase #

Patch Set 14 : Performance optimization #

Patch Set 15 : Send ImeCompositionRangeChanged only when necessary #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1849 lines, -5 lines) Patch
M chrome/app/generated_resources.grd View 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/about_flags.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +9 lines, -0 lines 0 comments Download
M content/browser/android/content_view_core_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -0 lines 0 comments Download
M content/browser/android/content_view_core_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +13 lines, -0 lines 0 comments Download
M content/browser/renderer_host/ime_adapter_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +7 lines, -0 lines 0 comments Download
M content/browser/renderer_host/ime_adapter_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +20 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +15 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 chunks +36 lines, -1 line 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +10 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +11 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +25 lines, -0 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +8 lines, -4 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 chunk +1 line, -0 lines 0 comments Download
A ui/android/java/src/org/chromium/ui/base/CursorAnchorInfoBuilder.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +78 lines, -0 lines 0 comments Download
M ui/base/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +11 lines, -0 lines 0 comments Download
M ui/base/android/ui_base_jni_registrar.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
A ui/base/ime/android/cursor_anchor_info_builder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +61 lines, -0 lines 0 comments Download
A ui/base/ime/android/cursor_anchor_info_builder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +157 lines, -0 lines 0 comments Download
A ui/base/ime/android/cursor_anchor_info_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +69 lines, -0 lines 0 comments Download
A ui/base/ime/android/cursor_anchor_info_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +329 lines, -0 lines 0 comments Download
A ui/base/ime/android/cursor_anchor_info_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +927 lines, -0 lines 0 comments Download
A ui/base/ime/android/cursor_anchor_info_sender.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +21 lines, -0 lines 0 comments Download
M ui/base/ui_base.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +7 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M ui/base/ui_base_switches_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +7 lines, -0 lines 0 comments Download
M ui/base/ui_base_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 32 (28 generated)
Torne
This should hopefully now build on android_aosp as I have rolled our SDK to 21.
6 years, 2 months ago (2014-10-23 16:49:28 UTC) #2
yukawa
On 2014/10/23 16:49:28, Torne wrote: > This should hopefully now build on android_aosp as I ...
6 years, 2 months ago (2014-10-23 18:35:27 UTC) #3
Torne
On 2014/10/23 18:35:27, yukawa wrote: > On 2014/10/23 16:49:28, Torne wrote: > > This should ...
6 years, 2 months ago (2014-10-24 09:56:00 UTC) #4
Torne
6 years ago (2014-11-27 14:53:39 UTC) #20
We've rolled android_aosp and this should now work; you should send it through
the trybots again to check.

Powered by Google App Engine
This is Rietveld 408576698