[go: nahoru, domu]

IME: Split //ui/base/ime into separate factory and implementation targets

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/+/1531479
Reviewed-by: Shu Chen <shuchen@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#647403}
diff --git a/ui/aura/BUILD.gn b/ui/aura/BUILD.gn
index 141af6a..38b56afe 100644
--- a/ui/aura/BUILD.gn
+++ b/ui/aura/BUILD.gn
@@ -187,6 +187,7 @@
     "//skia",
     "//ui/base",
     "//ui/base/clipboard",
+    "//ui/base/ime/init",
     "//ui/display",
     "//ui/events",
     "//ui/events:dom_keyboard_layout",
@@ -317,7 +318,7 @@
     "//skia",
     "//testing/gtest",
     "//ui/base:test_support",
-    "//ui/base/ime",
+    "//ui/base/ime/init",
     "//ui/compositor:test_support",
     "//ui/display",
     "//ui/display/manager",
@@ -368,7 +369,7 @@
     "//skia",
     "//third_party/icu",
     "//ui/base",
-    "//ui/base/ime",
+    "//ui/base/ime/init",
     "//ui/compositor",
     "//ui/compositor:test_support",
     "//ui/display",
@@ -462,7 +463,7 @@
       "//base/test:test_support",
       "//net",
       "//testing/gtest",
-      "//ui/base/ime:ime",
+      "//ui/base/ime/init",
       "//ui/display:display",
       "//ui/gfx",
       "//ui/gfx/geometry",