Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / autofill / core / browser / BUILD.gn
1 # Copyright 2014 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.
4
5 if (is_android) {
6   import("//build/config/android/config.gni")
7   autofill_enable_sync = !is_android_webview_build
8 } else {
9   autofill_enable_sync = true
10 }
11
12 config("autofill_browser_config") {
13   if (autofill_enable_sync) {
14     defines = [ "AUTOFILL_ENABLE_SYNC" ]
15   }
16 }
17
18 # GYP version: components/autofill.gyp:autofill_regexes
19 action("regexes") {
20   visibility = "//components/autofill/*"
21   script = "//build/escape_unicode.py"
22
23   inputs = [
24     "autofill_regex_constants.cc.utf8",
25   ]
26   outputs = [
27     "$target_gen_dir/autofill_regex_constants.cc",
28   ]
29
30   args = [ "-o", rebase_path(target_gen_dir, root_build_dir) ]
31   args += rebase_path(inputs, root_build_dir)
32 }
33
34 # GYP version: components/autofill.gyp:autofill_core_browser
35 static_library("browser") {
36   sources = [
37     "address.cc",
38     "address.h",
39     "address_field.cc",
40     "address_field.h",
41     "address_i18n.cc",
42     "address_i18n.h",
43     "autocomplete_history_manager.cc",
44     "autocomplete_history_manager.h",
45     "autofill-inl.h",
46     "autofill_country.cc",
47     "autofill_country.h",
48     "autofill_data_model.cc",
49     "autofill_data_model.h",
50     "autofill_download_manager.cc",
51     "autofill_download_manager.h",
52     "autofill_driver.h",
53     "autofill_external_delegate.cc",
54     "autofill_external_delegate.h",
55     "autofill_field.cc",
56     "autofill_field.h",
57     "autofill_ie_toolbar_import_win.cc",
58     "autofill_ie_toolbar_import_win.h",
59     "autofill_manager.cc",
60     "autofill_manager.h",
61     "autofill_client.h",
62     "autofill_manager_test_delegate.h",
63     "autofill_metrics.cc",
64     "autofill_metrics.h",
65     "autofill_popup_delegate.h",
66     "autofill_profile.cc",
67     "autofill_profile.h",
68     "autofill_regex_constants.cc.utf8",
69     "autofill_regex_constants.h",
70     "autofill_regexes.cc",
71     "autofill_regexes.h",
72     "autofill_scanner.cc",
73     "autofill_scanner.h",
74     "autofill_server_field_info.h",
75     "autofill_type.cc",
76     "autofill_type.h",
77     "autofill_xml_parser.cc",
78     "autofill_xml_parser.h",
79     "contact_info.cc",
80     "contact_info.h",
81     "credit_card.cc",
82     "credit_card.h",
83     "credit_card_field.cc",
84     "credit_card_field.h",
85     "email_field.cc",
86     "email_field.h",
87     "field_types.h",
88     "form_field.cc",
89     "form_field.h",
90     "form_group.cc",
91     "form_group.h",
92     "form_structure.cc",
93     "form_structure.h",
94     "name_field.cc",
95     "name_field.h",
96     "password_generator.cc",
97     "password_generator.h",
98     "personal_data_manager.cc",
99     "personal_data_manager.h",
100     "personal_data_manager_mac.mm",
101     "personal_data_manager_observer.h",
102     "phone_field.cc",
103     "phone_field.h",
104     "phone_number.cc",
105     "phone_number.h",
106     "phone_number_i18n.cc",
107     "phone_number_i18n.h",
108     "popup_item_ids.h",
109     "state_names.cc",
110     "state_names.h",
111     "validation.cc",
112     "validation.h",
113     "webdata/autofill_change.cc",
114     "webdata/autofill_change.h",
115     "webdata/autofill_entry.cc",
116     "webdata/autofill_entry.h",
117     "webdata/autofill_profile_syncable_service.cc",
118     "webdata/autofill_profile_syncable_service.h",
119     "webdata/autofill_table.cc",
120     "webdata/autofill_table.h",
121     "webdata/autofill_webdata.h",
122     "webdata/autofill_webdata_backend.h",
123     "webdata/autofill_webdata_backend_impl.cc",
124     "webdata/autofill_webdata_backend_impl.h",
125     "webdata/autofill_webdata_service.cc",
126     "webdata/autofill_webdata_service.h",
127     "webdata/autofill_webdata_service_observer.h",
128   ]
129
130   # Compile the generated regex file.
131   sources += get_target_outputs(":regexes")
132
133   deps = [
134     ":regexes",
135     "//base",
136     "//base:i18n",
137     "//base:prefs",
138     "//components/autofill/core/common",
139     "//components/keyed_service/core",
140     "//components/os_crypt",
141     "//components/pref_registry",
142     "//components/resources",
143     "//components/strings",
144     "//components/webdata/common",
145     "//google_apis",
146     "//skia",
147     "//sql",
148     "//third_party/fips181",
149     "//third_party/icu",
150     "//third_party/libaddressinput:util",
151     "//third_party/libphonenumber",
152     "//ui/base",
153     "//ui/gfx",
154     "//ui/gfx/geometry",
155     "//url",
156     # TODO(GYP) also remove libjingle_stub_config below when this is added:
157     #'../third_party/libjingle/libjingle.gyp:libjingle',  TODO(GYP)
158   ]
159
160   configs += [ "//content:libjingle_stub_config" ]
161   direct_dependent_configs = [ ":autofill_browser_config" ]
162
163   if (autofill_enable_sync) {
164     deps += [ "//sync" ]
165   } else {
166     sources -= [
167       "webdata/autofill_profile_syncable_service.cc",
168       "webdata/autofill_profile_syncable_service.h",
169     ]
170   }
171
172   if (is_win) {
173     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
174     cflags = [ "/wd4267" ]
175   }
176 }
177
178 static_library("test_support") {
179   sources = [
180     "autofill_test_utils.cc",
181     "autofill_test_utils.h",
182     "data_driven_test.cc",
183     "data_driven_test.h",
184     "test_autofill_client.cc",
185     "test_autofill_client.h",
186     "test_autofill_driver.cc",
187     "test_autofill_driver.h",
188     "test_autofill_external_delegate.cc",
189     "test_autofill_external_delegate.h",
190     "test_personal_data_manager.cc",
191     "test_personal_data_manager.h",
192   ]
193
194   deps = [
195     ":browser",
196     "//components/autofill/core/browser",
197     "//components/autofill/core/common",
198     "//skia",
199     "//testing/gtest",
200   ]
201 }
202
203 source_set("unit_tests") {
204   sources = [
205     "address_field_unittest.cc",
206     "address_unittest.cc",
207     "autocomplete_history_manager_unittest.cc",
208     "autofill_country_unittest.cc",
209     "autofill_data_model_unittest.cc",
210     "autofill_download_manager_unittest.cc",
211     "autofill_external_delegate_unittest.cc",
212     "autofill_field_unittest.cc",
213     "autofill_ie_toolbar_import_win_unittest.cc",
214     "autofill_manager_unittest.cc",
215     "autofill_merge_unittest.cc",
216     "autofill_metrics_unittest.cc",
217     "autofill_profile_unittest.cc",
218     "autofill_regexes_unittest.cc",
219     "autofill_type_unittest.cc",
220     "autofill_xml_parser_unittest.cc",
221     "contact_info_unittest.cc",
222     "credit_card_field_unittest.cc",
223     "credit_card_unittest.cc",
224     "form_field_unittest.cc",
225     "form_structure_unittest.cc",
226     "name_field_unittest.cc",
227     "password_generator_unittest.cc",
228     "personal_data_manager_unittest.cc",
229     "phone_field_unittest.cc",
230     "phone_number_i18n_unittest.cc",
231     "phone_number_unittest.cc",
232     "validation_unittest.cc",
233     "webdata/autofill_profile_syncable_service_unittest.cc",
234     "webdata/autofill_table_unittest.cc",
235     "webdata/web_data_service_unittest.cc",
236   ]
237
238   configs += [ "//content:libjingle_stub_config" ]
239
240   deps = [
241     ":browser",
242     ":test_support",
243     "//components/resources",
244     "//components/strings",
245     "//testing/gmock",
246     "//third_party/libphonenumber",
247     #'../third_party/libjingle/libjingle.gyp:libjingle',  TODO(GYP)
248   ]
249 }