Upload upstream chromium 114.0.5735.31
[platform/framework/web/chromium-efl.git] / components / search_engines / BUILD.gn
1 # Copyright 2014 The Chromium Authors
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import("//build/config/features.gni")
6 import("//tools/json_to_struct/json_to_struct.gni")
7 if (is_android) {
8   import("//build/config/android/config.gni")
9   import("//build/config/android/rules.gni")
10 }
11
12 static_library("search_engines") {
13   sources = [
14     "default_search_manager.cc",
15     "default_search_manager.h",
16     "default_search_policy_handler.cc",
17     "default_search_policy_handler.h",
18     "keyword_table.cc",
19     "keyword_table.h",
20     "keyword_web_data_service.cc",
21     "keyword_web_data_service.h",
22     "search_engines_pref_names.cc",
23     "search_engines_pref_names.h",
24     "search_engines_switches.cc",
25     "search_engines_switches.h",
26     "search_host_to_urls_map.cc",
27     "search_host_to_urls_map.h",
28     "search_terms_data.cc",
29     "search_terms_data.h",
30     "template_url.cc",
31     "template_url.h",
32     "template_url_data.cc",
33     "template_url_data.h",
34     "template_url_data_util.cc",
35     "template_url_data_util.h",
36     "template_url_fetcher.cc",
37     "template_url_fetcher.h",
38     "template_url_id.h",
39     "template_url_parser.cc",
40     "template_url_parser.h",
41     "template_url_prepopulate_data.cc",
42     "template_url_prepopulate_data.h",
43     "template_url_service.cc",
44     "template_url_service.h",
45     "template_url_service_client.h",
46     "template_url_service_observer.h",
47     "template_url_starter_pack_data.cc",
48     "template_url_starter_pack_data.h",
49     "util.cc",
50     "util.h",
51   ]
52
53   public_deps = [
54     ":prepopulated_engines",
55     ":search_engine_type",
56     ":search_engine_utils",
57     "//base",
58     "//components/google/core/common",
59     "//components/keyed_service/core",
60     "//components/prefs",
61     "//components/sync",
62     "//components/webdata/common",
63     "//third_party/metrics_proto",
64     "//third_party/omnibox_proto",
65   ]
66
67   deps = [
68     "//base:i18n",
69     "//components/country_codes",
70     "//components/database_utils",
71     "//components/infobars/core",
72     "//components/lens:lens",
73     "//components/omnibox/common",
74     "//components/policy:generated",
75     "//components/policy/core/browser",
76     "//components/pref_registry",
77     "//components/search_provider_logos:switches",
78     "//components/strings",
79     "//components/url_formatter",
80     "//components/variations",
81     "//google_apis",
82     "//net",
83     "//services/data_decoder/public/cpp",
84     "//services/network/public/cpp",
85     "//services/network/public/mojom",
86     "//sql",
87     "//third_party/metrics_proto",
88     "//third_party/omnibox_proto",
89     "//ui/base",
90     "//ui/gfx",
91     "//ui/gfx/geometry",
92     "//url",
93   ]
94
95   if (is_android) {
96     sources += [
97       "android/template_url_android.cc",
98       "android/template_url_android.h",
99       "android/template_url_service_android.cc",
100       "android/template_url_service_android.h",
101     ]
102
103     deps += [
104       "//components/search_engines/android:jni_headers",
105       "//url:gurl_android",
106     ]
107   }
108 }
109
110 source_set("search_engine_utils") {
111   sources = [
112     "search_engine_utils.cc",
113     "search_engine_utils.h",
114   ]
115
116   public_deps = [
117     ":prepopulated_engines",
118     ":search_engine_type",
119     "//components/google/core/common",
120   ]
121
122   deps = [ "//url" ]
123
124   if (is_android) {
125     deps += [
126       "//components/search_engines/android:jni_headers",
127       "//url:gurl_android",
128     ]
129   }
130 }
131
132 source_set("search_engine_type") {
133   sources = [ "search_engine_type.h" ]
134 }
135
136 static_library("test_support") {
137   testonly = true
138   sources = [
139     "search_engines_test_util.cc",
140     "search_engines_test_util.h",
141     "testing_search_terms_data.cc",
142     "testing_search_terms_data.h",
143   ]
144
145   public_deps = [
146     ":search_engines",
147     "//base",
148     "//components/sync_preferences:test_support",
149     "//testing/gtest",
150   ]
151 }
152
153 source_set("unit_tests") {
154   testonly = true
155   sources = [
156     "default_search_manager_unittest.cc",
157     "keyword_table_unittest.cc",
158     "search_host_to_urls_map_unittest.cc",
159     "template_url_data_unittest.cc",
160     "template_url_prepopulate_data_unittest.cc",
161     "template_url_service_unittest.cc",
162     "template_url_service_util_unittest.cc",
163     "template_url_unittest.cc",
164   ]
165
166   deps = [
167     ":prepopulated_engines",
168     ":test_support",
169     "//base",
170     "//base/test:test_support",
171     "//components/country_codes",
172     "//components/google/core/common",
173     "//components/omnibox/common",
174     "//components/pref_registry:pref_registry",
175     "//components/prefs",
176     "//components/sync:test_support",
177     "//components/sync_preferences:test_support",
178     "//components/variations:test_support",
179     "//components/webdata/common",
180     "//net:net",
181     "//services/network:test_support",
182     "//services/network/public/cpp",
183     "//sql",
184     "//testing/gmock",
185     "//testing/gtest",
186     "//url",
187   ]
188
189   if (!is_ios) {
190     sources += [ "default_search_policy_handler_unittest.cc" ]
191
192     deps += [
193       "//components/policy:generated",
194       "//components/policy/core/browser:test_support",
195     ]
196   }
197 }
198
199 json_to_struct("prepopulated_engines") {
200   visibility = [ ":*" ]
201
202   source = "prepopulated_engines.json"
203   schema_file = "prepopulated_engines_schema.json"
204   namespace = "TemplateURLPrepopulateData"
205   deps = [ ":search_engine_type" ]
206 }
207
208 if (is_android) {
209   java_cpp_enum("search_engine_type_java") {
210     sources = [ "search_engine_type.h" ]
211   }
212 }