OLD | NEW |
(Empty) | |
| 1 # Copyright 2016 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 import("//build/config/features.gni") |
| 6 |
| 7 if (is_android) { |
| 8 import("//build/config/android/rules.gni") # For generate_jni(). |
| 9 } |
| 10 |
| 11 component("device_geolocation") { |
| 12 defines = [ "DEVICE_GEOLOCATION_IMPLEMENTATION" ] |
| 13 |
| 14 sources = [ |
| 15 "access_token_store.h", |
| 16 "android/geolocation_jni_registrar.cc", |
| 17 "android/geolocation_jni_registrar.h", |
| 18 "empty_wifi_data_provider.cc", |
| 19 "empty_wifi_data_provider.h", |
| 20 "geolocation_delegate.cc", |
| 21 "geolocation_delegate.h", |
| 22 "geolocation_export.h", |
| 23 "geolocation_provider.h", |
| 24 "geolocation_provider_impl.cc", |
| 25 "geolocation_provider_impl.h", |
| 26 "geolocation_service_context.cc", |
| 27 "geolocation_service_context.h", |
| 28 "geolocation_service_impl.cc", |
| 29 "geolocation_service_impl.h", |
| 30 "geoposition.cc", |
| 31 "geoposition.h", |
| 32 "location_api_adapter_android.cc", |
| 33 "location_api_adapter_android.h", |
| 34 "location_arbitrator.h", |
| 35 "location_arbitrator_impl.cc", |
| 36 "location_arbitrator_impl.h", |
| 37 "location_provider.h", |
| 38 "location_provider_android.cc", |
| 39 "location_provider_android.h", |
| 40 "location_provider_base.cc", |
| 41 "location_provider_base.h", |
| 42 "network_location_provider.cc", |
| 43 "network_location_provider.h", |
| 44 "network_location_request.cc", |
| 45 "network_location_request.h", |
| 46 "wifi_data.cc", |
| 47 "wifi_data.h", |
| 48 "wifi_data_provider.cc", |
| 49 "wifi_data_provider.h", |
| 50 "wifi_data_provider_chromeos.cc", |
| 51 "wifi_data_provider_chromeos.h", |
| 52 "wifi_data_provider_common.cc", |
| 53 "wifi_data_provider_common.h", |
| 54 "wifi_data_provider_common_win.cc", |
| 55 "wifi_data_provider_common_win.h", |
| 56 "wifi_data_provider_corewlan_mac.mm", |
| 57 "wifi_data_provider_linux.cc", |
| 58 "wifi_data_provider_linux.h", |
| 59 "wifi_data_provider_mac.cc", |
| 60 "wifi_data_provider_mac.h", |
| 61 "wifi_data_provider_manager.cc", |
| 62 "wifi_data_provider_manager.h", |
| 63 "wifi_data_provider_win.cc", |
| 64 "wifi_data_provider_win.h", |
| 65 "wifi_polling_policy.h", |
| 66 ] |
| 67 |
| 68 deps = [ |
| 69 "//base", |
| 70 "//google_apis:google_apis", |
| 71 "//mojo/edk/system", |
| 72 "//mojo/public/cpp/bindings", |
| 73 "//net", |
| 74 |
| 75 # TODO(mcasas): move geolocation.mojom to public/interfaces. |
| 76 "//third_party/WebKit/public:mojo_bindings", |
| 77 "//ui/gfx", |
| 78 ] |
| 79 |
| 80 if (is_android) { |
| 81 sources -= [ |
| 82 "network_location_provider.cc", |
| 83 "network_location_provider.h", |
| 84 "network_location_request.cc", |
| 85 "network_location_request.h", |
| 86 ] |
| 87 deps += [ ":geolocation_jni_headers" ] |
| 88 } |
| 89 |
| 90 # TODO(mcasas): prefer adding files than removing them (see cookbook.md). |
| 91 |
| 92 # Dealing with *wifi_data_provider_*.cc is also a bit complicated given |
| 93 # android, chromeos, linux and use_dbus. |
| 94 if (is_android) { |
| 95 sources -= [ "wifi_data_provider_common.cc" ] |
| 96 } |
| 97 if (is_chromeos || (is_linux && !use_dbus)) { |
| 98 sources -= [ "wifi_data_provider_linux.cc" ] |
| 99 } |
| 100 if (is_linux && use_dbus) { |
| 101 sources -= [ "empty_wifi_data_provider.cc" ] |
| 102 deps += [ "//dbus" ] |
| 103 } |
| 104 if (is_win || is_mac) { |
| 105 sources -= [ |
| 106 "empty_wifi_data_provider.cc", |
| 107 "empty_wifi_data_provider.h", |
| 108 ] |
| 109 } |
| 110 if (is_chromeos) { |
| 111 deps += [ "//chromeos" ] |
| 112 } |
| 113 |
| 114 if (is_mac) { |
| 115 libs = [ "Foundation.framework" ] |
| 116 } |
| 117 } |
| 118 |
| 119 if (is_android) { |
| 120 generate_jni("geolocation_jni_headers") { |
| 121 sources = [ |
| 122 "android/java/org/chromium/device/geolocation/LocationProviderAdapter.java
", |
| 123 ] |
| 124 jni_package = "device" |
| 125 } |
| 126 |
| 127 android_library("geolocation_java") { |
| 128 java_files = [ |
| 129 "android/java/org/chromium/device/geolocation/LocationProviderAdapter.java
", |
| 130 "android/java/org/chromium/device/geolocation/LocationProviderFactory.java
", |
| 131 ] |
| 132 |
| 133 deps = [ |
| 134 ":device_geolocation", |
| 135 ":geolocation_jni_headers", |
| 136 "//base:base_java", |
| 137 ] |
| 138 } |
| 139 |
| 140 android_library("geolocation_java_test_support") { |
| 141 testonly = true |
| 142 |
| 143 java_files = [ "android/java/org/chromium/device/geolocation/MockLocationPro
vider.java" ] |
| 144 deps = [ |
| 145 ":geolocation_java", |
| 146 "//base:base_java", |
| 147 ] |
| 148 } |
| 149 } |
| 150 |
| 151 source_set("unittests") { |
| 152 testonly = true |
| 153 |
| 154 sources = [ |
| 155 "fake_access_token_store.cc", |
| 156 "fake_access_token_store.h", |
| 157 "geolocation_provider_impl_unittest.cc", |
| 158 "location_arbitrator_impl_unittest.cc", |
| 159 "mock_location_arbitrator.cc", |
| 160 "mock_location_arbitrator.h", |
| 161 "mock_location_provider.cc", |
| 162 "mock_location_provider.h", |
| 163 "network_location_provider_unittest.cc", |
| 164 "wifi_data_provider_chromeos_unittest.cc", |
| 165 "wifi_data_provider_common_unittest.cc", |
| 166 "wifi_data_provider_linux_unittest.cc", |
| 167 "wifi_data_provider_win_unittest.cc", |
| 168 ] |
| 169 public_deps = [ |
| 170 ":device_geolocation", |
| 171 ] |
| 172 deps = [ |
| 173 "//base", |
| 174 "//base/third_party/dynamic_annotations", |
| 175 "//net:test_support", |
| 176 "//testing/gmock", |
| 177 "//testing/gtest", |
| 178 ] |
| 179 |
| 180 if (is_linux) { |
| 181 if (use_dbus) { |
| 182 deps += [ "//dbus:test_support" ] |
| 183 } else { |
| 184 sources -= [ "wifi_data_provider_linux_unittest.cc" ] |
| 185 } |
| 186 } |
| 187 |
| 188 if (is_chromeos) { |
| 189 sources -= [ "wifi_data_provider_linux_unittest.cc" ] |
| 190 deps += [ "//chromeos" ] |
| 191 } |
| 192 |
| 193 if (is_android) { |
| 194 sources -= [ |
| 195 "network_location_provider_unittest.cc", |
| 196 "wifi_data_provider_common_unittest.cc", |
| 197 ] |
| 198 deps += [ ":geolocation_java_test_support" ] |
| 199 } |
| 200 } |
OLD | NEW |