BUILD.gn 5.2 KB

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