ServiceWorker: Send state change events via SWProviderHost
[chromium-blink-merge.git] / components / invalidation / BUILD.gn
blobc91efd538991e83e0499e2e5298a89dfaa4f7561
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 if (is_android) {
5   import("//build/config/android/rules.gni")
8 static_library("invalidation") {
9   sources = [
10     "ack_handle.cc",
11     "ack_handle.h",
12     "ack_handler.cc",
13     "ack_handler.h",
14     "invalidation.cc",
15     "invalidation.h",
16     "invalidation_handler.cc",
17     "invalidation_handler.h",
18     "invalidation_logger.cc",
19     "invalidation_logger.h",
20     "invalidation_logger_observer.h",
21     "invalidation_prefs.cc",
22     "invalidation_prefs.h",
23     "invalidation_service.h",
24     "invalidation_service_util.cc",
25     "invalidation_service_util.h",
26     "invalidation_state_tracker.cc",
27     "invalidation_state_tracker.h",
28     "invalidation_switches.cc",
29     "invalidation_switches.h",
30     "invalidation_util.cc",
31     "invalidation_util.h",
32     "invalidator.cc",
33     "invalidator.h",
34     "invalidator_registrar.cc",
35     "invalidator_registrar.h",
36     "invalidator_state.cc",
37     "invalidator_state.h",
38     "invalidator_storage.cc",
39     "invalidator_storage.h",
40     "mock_ack_handler.cc",
41     "mock_ack_handler.h",
42     "object_id_invalidation_map.cc",
43     "object_id_invalidation_map.h",
44     "profile_invalidation_provider.cc",
45     "profile_invalidation_provider.h",
46     "single_object_invalidation_set.cc",
47     "single_object_invalidation_set.h",
48     "unacked_invalidation_set.cc",
49     "unacked_invalidation_set.h",
50   ]
51   if (!is_android) {
52     sources += [
53       "gcm_invalidation_bridge.cc",
54       "gcm_invalidation_bridge.h",
55       "gcm_network_channel.cc",
56       "gcm_network_channel.h",
57       "gcm_network_channel_delegate.h",
58       "invalidation_notifier.cc",
59       "invalidation_notifier.h",
60       "non_blocking_invalidator.cc",
61       "non_blocking_invalidator.h",
62       "notifier_reason_util.cc",
63       "notifier_reason_util.h",
64       "p2p_invalidator.cc",
65       "p2p_invalidator.h",
66       "push_client_channel.cc",
67       "push_client_channel.h",
68       "registration_manager.cc",
69       "registration_manager.h",
70       "state_writer.h",
71       "sync_invalidation_listener.cc",
72       "sync_invalidation_listener.h",
73       "sync_system_resources.cc",
74       "sync_system_resources.h",
75       "ticl_invalidation_service.cc",
76       "ticl_invalidation_service.h",
77       "ticl_settings_provider.cc",
78       "ticl_settings_provider.h",
79     ]
80   }
82   public_deps = [
83     "//third_party/cacheinvalidation",
84   ]
85   deps = [
86     "//base",
87     "//components/gcm_driver",
88     "//components/keyed_service/core",
89     "//components/pref_registry",
90     "//components/signin/core/browser",
91     "//google_apis",
92     "//jingle:notifier",
94     # TODO(sync): Remove this (http://crbug.com/133352);
95     "//third_party/protobuf:protobuf_lite",
97     # "//third_party/cacheinvalidation/src/google/cacheinvalidation:cacheinvalidation_proto_cpp",
98   ]
100   if (is_android) {
101     sources += [
102       "android/component_jni_registrar.cc",
103       "android/component_jni_registrar.h",
104       "invalidation_service_android.cc",
105       "invalidation_service_android.h",
106     ]
107     deps += [ ":jni_headers" ]
108   }
111 static_library("unittests") {
112   testonly = true
113   sources = []
114   deps = [
115     ":invalidation",
116     ":test_support",
117   ]
118   if (is_android) {
119     deps += [
120       ":javatests",
121       ":jni_headers",
122     ]
123   }
126 static_library("test_support") {
127   testonly = true
128   sources = [
129     "fake_invalidation_handler.cc",
130     "fake_invalidation_handler.h",
131     "fake_invalidation_state_tracker.cc",
132     "fake_invalidation_state_tracker.h",
133     "fake_invalidator.cc",
134     "fake_invalidator.h",
135     "invalidation_service_test_template.cc",
136     "invalidation_service_test_template.h",
137     "invalidation_test_util.cc",
138     "invalidation_test_util.h",
139     "invalidator_test_template.cc",
140     "invalidator_test_template.h",
141     "object_id_invalidation_map_test_util.cc",
142     "object_id_invalidation_map_test_util.h",
143     "unacked_invalidation_set_test_util.cc",
144     "unacked_invalidation_set_test_util.h",
145   ]
147   deps = [
148     "//base",
149     "//components/gcm_driver:test_support",
150     "//components/keyed_service/core",
151     "//google_apis",
152     "//jingle:notifier",
153     "//jingle:notifier_test_util",
154     "//net",
155     "//testing/gmock",
156     "//third_party/cacheinvalidation",
158     # TODO(sync): Remove this (http://crbug.com/133352);
159     "//third_party/protobuf:protobuf_lite",
161     # "//third_party/cacheinvalidation/src/google/cacheinvalidation:cacheinvalidation_proto_cpp",
162   ]
164   if (is_android) {
165     deps += [ ":jni_headers" ]
166   } else {
167     sources += [
168       "p2p_invalidation_service.cc",
169       "p2p_invalidation_service.h",
170     ]
171   }
174 if (is_android) {
175   android_library("java") {
176     deps = [
177       "//base:base_java",
178       "//sync/android:sync_java",
179       "//third_party/cacheinvalidation:cacheinvalidation_javalib",
180       "//third_party/cacheinvalidation:cacheinvalidation_proto_java",
181       "//third_party/jsr-305:jsr_305_javalib",
182     ]
183     DEPRECATED_java_in_dir = "android/java/src"
184   }
185   android_library("javatests") {
186     deps = [
187       ":java",
188       "//base:base_java",
189       "//base:base_java_test_support",
190       "//sync/android:sync_java",
191       "//third_party/cacheinvalidation:cacheinvalidation_javalib",
192       "//third_party/cacheinvalidation:cacheinvalidation_proto_java",
193     ]
194     DEPRECATED_java_in_dir = "android/javatests/src"
195   }
196   generate_jni("jni_headers") {
197     sources = [
198       "android/java/src/org/chromium/components/invalidation/InvalidationService.java",
199     ]
200     jni_package = "components/invalidation"
201   }