• Darren Shen's avatar
    ime: Add extra parameter for an IME to move the cursor after inserting text. · ea5019d0
    Darren Shen authored
    Both the web and ARC++ IME frameworks support moving the caret after
    InsertText, but this functionality is not exposed to IMEs. Our new IME
    needs this feature, so this patch adds an option to move the cursor
    to TextInputClient.
    
    Unfortunately, the web and ARC++ APIs are slightly different:
    - Web allows the the cursor to be moved anywhere.
    - ARC++ doesn't allow the cursor to be moved inside the inserted text.
    
    Therefore, although both web and ARC++ take in an integer cursor position
    parameter, they have very different meanings. To avoid confusion, we use an
    enum to indicate whether the cursor should be before or after the inserted
    text (since that's the minimal feature that the IME needs).
    
    To keep this CL small, we will first introduce the enum with only a single value
    (move cursor after text). A future CL will add the additional parameter.
    
    Bug: 1155331
    Change-Id: I5eb9e5c23fef290b9962b1dee327c76343f08f5c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2576062Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Commit-Queue: Darren Shen <shend@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#835087}
    ea5019d0
tsf_input_policy_unittest.cc 13.5 KB