Drive: Add BatchableRequest subclass.
[chromium-blink-merge.git] / ui / base / ime / BUILD.gn
blobe6974021af55bde3df9be9c81e5dde852fb8aaab
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/config/ui.gni")
6 import("//testing/test.gni")
8 component("ime") {
9   output_name = "ui_base_ime"
10   sources = [
11     "candidate_window.cc",
12     "candidate_window.h",
13     "chromeos/character_composer.cc",
14     "chromeos/character_composer.h",
15     "chromeos/component_extension_ime_manager.cc",
16     "chromeos/component_extension_ime_manager.h",
17     "chromeos/composition_text.cc",
18     "chromeos/composition_text.h",
19     "chromeos/extension_ime_util.cc",
20     "chromeos/extension_ime_util.h",
21     "chromeos/fake_ime_keyboard.cc",
22     "chromeos/fake_ime_keyboard.h",
23     "chromeos/fake_input_method_delegate.cc",
24     "chromeos/fake_input_method_delegate.h",
25     "chromeos/ime_bridge.cc",
26     "chromeos/ime_bridge.h",
27     "chromeos/ime_keyboard.cc",
28     "chromeos/ime_keyboard.h",
29     "chromeos/ime_keyboard_ozone.cc",
30     "chromeos/ime_keyboard_ozone.h",
31     "chromeos/ime_keyboard_x11.cc",
32     "chromeos/ime_keyboard_x11.h",
33     "chromeos/ime_keymap.cc",
34     "chromeos/ime_keymap.h",
35     "chromeos/input_method_delegate.h",
36     "chromeos/input_method_descriptor.cc",
37     "chromeos/input_method_descriptor.h",
38     "chromeos/input_method_manager.cc",
39     "chromeos/input_method_manager.h",
40     "chromeos/input_method_whitelist.cc",
41     "chromeos/input_method_whitelist.h",
42     "chromeos/mock_component_extension_ime_manager_delegate.cc",
43     "chromeos/mock_component_extension_ime_manager_delegate.h",
44     "chromeos/mock_ime_candidate_window_handler.cc",
45     "chromeos/mock_ime_candidate_window_handler.h",
46     "chromeos/mock_ime_engine_handler.cc",
47     "chromeos/mock_ime_engine_handler.h",
48     "chromeos/mock_ime_input_context_handler.cc",
49     "chromeos/mock_ime_input_context_handler.h",
50     "composition_text.cc",
51     "composition_text.h",
52     "composition_text_util_pango.cc",
53     "composition_text_util_pango.h",
54     "composition_underline.h",
55     "dummy_input_method_delegate.cc",
56     "dummy_input_method_delegate.h",
57     "infolist_entry.cc",
58     "infolist_entry.h",
59     "input_method.h",
60     "input_method_auralinux.cc",
61     "input_method_auralinux.h",
62     "input_method_base.cc",
63     "input_method_base.h",
64     "input_method_chromeos.cc",
65     "input_method_chromeos.h",
66     "input_method_delegate.h",
67     "input_method_factory.cc",
68     "input_method_factory.h",
69     "input_method_initializer.cc",
70     "input_method_initializer.h",
71     "input_method_mac.h",
72     "input_method_mac.mm",
73     "input_method_minimal.cc",
74     "input_method_minimal.h",
75     "input_method_observer.h",
76     "input_method_win.cc",
77     "input_method_win.h",
78     "linux/fake_input_method_context.cc",
79     "linux/fake_input_method_context.h",
80     "linux/fake_input_method_context_factory.cc",
81     "linux/fake_input_method_context_factory.h",
82     "linux/linux_input_method_context.h",
83     "linux/linux_input_method_context_factory.cc",
84     "linux/linux_input_method_context_factory.h",
85     "mock_input_method.cc",
86     "mock_input_method.h",
87     "remote_input_method_delegate_win.h",
88     "remote_input_method_win.cc",
89     "remote_input_method_win.h",
90     "text_input_client.cc",
91     "text_input_client.h",
92     "text_input_focus_manager.cc",
93     "text_input_focus_manager.h",
94     "text_input_type.h",
95     "ui_base_ime_export.h",
96     "win/imm32_manager.cc",
97     "win/imm32_manager.h",
98     "win/tsf_input_scope.cc",
99     "win/tsf_input_scope.h",
100   ]
102   # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
103   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
105   defines = [ "UI_BASE_IME_IMPLEMENTATION" ]
107   deps = [
108     "//base",
109     "//base/third_party/dynamic_annotations",
110     "//base:i18n",
111     "//net",
112     "//third_party/icu",
113     "//ui/base",
114     "//ui/events",
115     "//ui/gfx",
116     "//ui/gfx/geometry",
117     "//url",
118   ]
120   if (!use_aura || (!is_linux && !use_ozone)) {
121     sources -= [
122       "input_method_auralinux.cc",
123       "input_method_auralinux.h",
124     ]
125   }
127   if (!toolkit_views && !use_aura) {
128     sources -= [
129       "input_method_factory.cc",
130       "input_method_factory.h",
131       "input_method_minimal.cc",
132       "input_method_minimal.h",
133     ]
134   }
136   if (is_chromeos) {
137     deps += [
138       "//chromeos",
139       "//chromeos/ime:gencode",
140     ]
141     if (!use_ozone) {
142       sources -= [
143         "chromeos/ime_keyboard_ozone.cc",
144         "chromeos/ime_keyboard_ozone.h",
145       ]
146     }
147     if (!use_x11) {
148       sources -= [
149         "chromeos/ime_keyboard_x11.cc",
150         "chromeos/ime_keyboard_x11.h",
151       ]
152     }
153   }
155   if (use_pango) {
156     configs += [ "//build/config/linux:pangocairo" ]
157   } else {
158     sources -= [
159       "composition_text_util_pango.cc",
160       "composition_text_util_pango.h",
161     ]
162   }
163   if (use_x11) {
164     configs += [ "//build/config/linux:x11" ]
165     deps += [ "//ui/gfx/x" ]
166   }
168   if (is_win) {
169     cflags = [
170       "/wd4324",  # Structure was padded due to __declspec(align()), which is
171                   # uninteresting.
172     ]
173     libs = [ "imm32.lib" ]
174   }
176   if (use_ozone) {
177     deps += [
178       "//ui/ozone",
179       "//ui/events/ozone:events_ozone_layout",
180     ]
181   }