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
5import("//build/config/features.gni")
6import("//build/config/jumbo.gni")
7import("//ppapi/buildflags/buildflags.gni")
8
9jumbo_static_library("browser") {
10  sources = [
11    "content_settings_default_provider.cc",
12    "content_settings_default_provider.h",
13    "content_settings_details.cc",
14    "content_settings_details.h",
15    "content_settings_ephemeral_provider.cc",
16    "content_settings_ephemeral_provider.h",
17    "content_settings_global_value_map.cc",
18    "content_settings_global_value_map.h",
19    "content_settings_info.cc",
20    "content_settings_info.h",
21    "content_settings_observable_provider.cc",
22    "content_settings_observable_provider.h",
23    "content_settings_observer.h",
24    "content_settings_origin_identifier_value_map.cc",
25    "content_settings_origin_identifier_value_map.h",
26    "content_settings_policy_provider.cc",
27    "content_settings_policy_provider.h",
28    "content_settings_pref.cc",
29    "content_settings_pref.h",
30    "content_settings_pref_provider.cc",
31    "content_settings_pref_provider.h",
32    "content_settings_provider.h",
33    "content_settings_registry.cc",
34    "content_settings_registry.h",
35    "content_settings_rule.cc",
36    "content_settings_rule.h",
37    "content_settings_usages_state.cc",
38    "content_settings_usages_state.h",
39    "content_settings_utils.cc",
40    "content_settings_utils.h",
41    "cookie_settings.cc",
42    "cookie_settings.h",
43    "host_content_settings_map.cc",
44    "host_content_settings_map.h",
45    "uma_util.cc",
46    "uma_util.h",
47    "user_modifiable_provider.h",
48    "website_settings_info.cc",
49    "website_settings_info.h",
50    "website_settings_registry.cc",
51    "website_settings_registry.h",
52  ]
53
54  deps = [
55    "//base",
56    "//components/content_settings/core/common",
57    "//components/keyed_service/core",
58    "//components/pref_registry:pref_registry",
59    "//components/prefs",
60    "//components/url_formatter",
61    "//extensions/buildflags",
62    "//net",
63    "//services/preferences/public/cpp",
64    "//url",
65  ]
66
67  if (is_android) {
68    deps += [ "//media" ]
69  }
70
71  if (!is_ios) {
72    sources += [
73      "cookie_settings_policy_handler.cc",
74      "cookie_settings_policy_handler.h",
75    ]
76    deps += [
77      "//components/policy:generated",
78      "//components/policy/core/browser",
79    ]
80  }
81
82  configs += [
83    "//build/config/compiler:no_size_t_to_int_warning",
84    "//build/config/compiler:wexit_time_destructors",
85  ]
86}
87
88jumbo_source_set("unit_tests") {
89  testonly = true
90  sources = [
91    "content_settings_ephemeral_provider_unittest.cc",
92    "content_settings_pref_unittest.cc",
93    "content_settings_registry_unittest.cc",
94    "content_settings_rule_unittest.cc",
95    "content_settings_utils_unittest.cc",
96    "cookie_settings_unittest.cc",
97    "website_settings_registry_unittest.cc",
98  ]
99
100  if (enable_plugins) {
101    sources += [ "content_settings_provider_unittest.cc" ]
102  }
103
104  deps = [
105    ":browser",
106    "//base",
107    "//base/test:test_support",
108    "//components/content_settings/core/common",
109    "//components/content_settings/core/test:test_support",
110    "//components/pref_registry:pref_registry",
111    "//components/prefs",
112    "//components/prefs:test_support",
113    "//components/sync_preferences:test_support",
114    "//extensions/buildflags",
115    "//net",
116    "//ppapi/buildflags:buildflags",
117    "//testing/gmock",
118    "//testing/gtest",
119    "//url",
120  ]
121
122  if (!is_ios) {
123    sources += [ "cookie_settings_policy_handler_unittest.cc" ]
124
125    deps += [
126      "//components/policy:generated",
127      "//components/policy/core/browser:test_support",
128    ]
129  }
130}
131