Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / password_manager / core / browser / BUILD.gn
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
5 if (is_android) {
6   import("//build/config/android/config.gni")
7 }
8
9 config("password_manager_config") {
10   # Sync (not supported in Android WebView).
11   if (!is_android || !is_android_webview_build) {
12     defines = [ "PASSWORD_MANAGER_ENABLE_SYNC" ]
13   }
14 }
15
16 static_library("browser") {
17   sources = [
18     "browser_save_password_progress_logger.cc",
19     "browser_save_password_progress_logger.h",
20     "log_receiver.h",
21     "log_router.cc",
22     "log_router.h",
23     "login_database.cc",
24     "login_database.h",
25     "login_database_mac.cc",
26     "login_database_posix.cc",
27     "login_database_win.cc",
28     "login_model.h",
29     "password_autofill_manager.cc",
30     "password_autofill_manager.h",
31     "password_form_manager.cc",
32     "password_form_manager.h",
33     "password_generation_manager.cc",
34     "password_generation_manager.h",
35     "password_manager.cc",
36     "password_manager.h",
37     "password_manager_client.cc",
38     "password_manager_client.h",
39     "password_manager_driver.h",
40     "password_manager_internals_service.cc",
41     "password_manager_internals_service.h",
42     "password_manager_metrics_util.cc",
43     "password_manager_metrics_util.h",
44     "password_store.cc",
45     "password_store.h",
46     "password_store_change.h",
47     "password_store_consumer.cc",
48     "password_store_consumer.h",
49     "password_store_default.cc",
50     "password_store_default.h",
51     "password_store_sync.cc",
52     "password_store_sync.h",
53     "psl_matching_helper.cc",
54     "psl_matching_helper.h",
55   ]
56
57   deps = [
58     "//base",
59     "//components/autofill/core/common",
60     "//components/keyed_service/core",
61     "//components/os_crypt",
62     "//components/password_manager/core/common",
63     "//net",
64     "//sql",
65     "//url",
66   ]
67
68   if (is_mac) {
69     # TODO(blundell): Provide the iOS login DB implementation and then
70     # also exclude the POSIX one from iOS. http://crbug.com/341429
71     sources -= [ "login_database_posix.cc" ]
72   } else if (is_win) {
73     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
74     cflags = [ "/wd4267" ]
75   }
76
77   direct_dependent_configs = [ ":password_manager_config" ]
78
79   # Sync (not supported in Android WebView).
80   if (!is_android || !is_android_webview_build) {
81     sources += [
82       "password_syncable_service.cc",
83       "password_syncable_service.h",
84     ]
85     deps += [ "//sync" ]
86   }
87 }
88
89 static_library("test_support") {
90   sources = [
91     "mock_password_store.cc",
92     "mock_password_store.h",
93     "password_form_data.cc",
94     "password_form_data.h",
95     "stub_password_manager_client.cc",
96     "stub_password_manager_client.h",
97     "stub_password_manager_driver.cc",
98     "stub_password_manager_driver.h",
99     "test_password_store.cc",
100     "test_password_store.h",
101   ]
102
103   deps = [
104     "//base",
105     "//components/autofill/core/common",
106     "//testing/gmock",
107     "//testing/gtest",
108   ]
109 }