• Darren Shen's avatar
    rule-based: Connect to IME service natively when using rule-based. · 8b5855bc
    Darren Shen authored
    To migrate rule-based to Chromium C++, we need to have a separate code
    path for the official XKB keyboard. The new code path needs to use Mojo
    directly instead of sending extension messages.
    
    Currently, IMF communicates to the extension via an "IME observer" which
    takes native events like OnActivate and converts them to extension API
    events.
    
    To start off this migration, we create a new IME observer that basically
    intercepts events from IMF and forwards them to the existing
    extension-based IME observer. This allows us to migrate event-by-event
    by routing a certain event directly to the IME service instead of
    through the extension system.
    
    In this CL, we hook into the OnActivate event to create a connection
    to the IME service. All events are still forwarded to the old extension
    system, so nothing should change.
    
    In a followup CL, we will route OnReset directly to the IME service
    as our first migration.
    
    Bug: 1009903
    Change-Id: Id4df50c8688474c76a498f5f2746f9ad2cbadabb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1847701
    Auto-Submit: Darren Shen <shend@chromium.org>
    Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
    Reviewed-by: default avatarShu Chen <shuchen@chromium.org>
    Commit-Queue: Darren Shen <shend@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#710192}
    8b5855bc
BUILD.gn 145 KB