-
Michael Spang authored
Break up //ui/base/ime into several components, one for each implementation, plus a factory component. The reason this is useful is that it provides a cycle-free way for ozone to choose which ui::InputMethod implementation to use. Each InputMethod implementation creates a natural component that platforms can depend on if they use that InputMethod. The factory component is layered above these to provide a single entry point for creating the implementation. This introduces some more fine grained dependencies: - Targets that directly use a particular ui::InputMethod implementation now have to declare an explicit dependency on its component - Targets that need to create an appropriate ui::InputMethod without knowing which one they want need to declare a dependency on the factory component. Targets that just use the ui::InputMethod base class and related interfaces can continue to depend on //ui/base/ime. Bug: 943789 Test: various builds, ui_unittests TBR=sky@chromium.org (mechanical BUILD & include changes) Change-Id: I83ef7b3112e2e68cada86b7ce1aa598a20f3c7cf Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531479Reviewed-by:
Shu Chen <shuchen@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org> Cr-Commit-Position: refs/heads/master@{#647403}
539c6f3f