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{
6  'targets': [
7    {
8      # GN version: //components/password_manager/core/browser
9      'target_name': 'password_manager_core_browser',
10      'type': 'static_library',
11      'dependencies': [
12        '../base/base.gyp:base',
13        '../net/net.gyp:net',
14        '../sql/sql.gyp:sql',
15        '../url/url.gyp:url_lib',
16        'autofill_core_common',
17        'keyed_service_core',
18        'os_crypt',
19        'password_manager_core_common',
20      ],
21      'include_dirs': [
22        '..',
23      ],
24      'sources': [
25        # Note: sources list duplicated in GN build.
26        'password_manager/core/browser/browser_save_password_progress_logger.cc',
27        'password_manager/core/browser/browser_save_password_progress_logger.h',
28        'password_manager/core/browser/log_receiver.h',
29        'password_manager/core/browser/log_router.cc',
30        'password_manager/core/browser/log_router.h',
31        'password_manager/core/browser/login_database.cc',
32        'password_manager/core/browser/login_database.h',
33        'password_manager/core/browser/login_database_mac.cc',
34        'password_manager/core/browser/login_database_posix.cc',
35        'password_manager/core/browser/login_database_win.cc',
36        'password_manager/core/browser/login_model.h',
37        'password_manager/core/browser/password_autofill_manager.cc',
38        'password_manager/core/browser/password_autofill_manager.h',
39        'password_manager/core/browser/password_form_manager.cc',
40        'password_manager/core/browser/password_form_manager.h',
41        'password_manager/core/browser/password_generation_manager.cc',
42        'password_manager/core/browser/password_generation_manager.h',
43        'password_manager/core/browser/password_manager.cc',
44        'password_manager/core/browser/password_manager.h',
45        'password_manager/core/browser/password_manager_client.cc',
46        'password_manager/core/browser/password_manager_client.h',
47        'password_manager/core/browser/password_manager_driver.h',
48        'password_manager/core/browser/password_manager_internals_service.cc',
49        'password_manager/core/browser/password_manager_internals_service.h',
50        'password_manager/core/browser/password_manager_metrics_util.cc',
51        'password_manager/core/browser/password_manager_metrics_util.h',
52        'password_manager/core/browser/password_store.cc',
53        'password_manager/core/browser/password_store.h',
54        'password_manager/core/browser/password_store_change.h',
55        'password_manager/core/browser/password_store_consumer.cc',
56        'password_manager/core/browser/password_store_consumer.h',
57        'password_manager/core/browser/password_store_default.cc',
58        'password_manager/core/browser/password_store_default.h',
59        'password_manager/core/browser/password_store_sync.cc',
60        'password_manager/core/browser/password_store_sync.h',
61        'password_manager/core/browser/psl_matching_helper.cc',
62        'password_manager/core/browser/psl_matching_helper.h',
63        'password_manager/core/browser/webdata/logins_table.cc',
64        'password_manager/core/browser/webdata/logins_table.h',
65        'password_manager/core/browser/webdata/logins_table_win.cc',
66        'password_manager/core/browser/webdata/password_web_data_service_win.cc',
67        'password_manager/core/browser/webdata/password_web_data_service_win.h',
68      ],
69      'variables': {
70        'conditions': [
71          ['android_webview_build == 1', {
72            # Android WebView doesn't support sync.
73            'password_manager_enable_sync%': 0,
74          }, {
75            'password_manager_enable_sync%': 1,
76          }],
77        ],
78      },
79      'conditions': [
80        ['OS=="mac"', {
81          'sources!': [
82            # TODO(blundell): Provide the iOS login DB implementation and then
83            # also exclude the POSIX one from iOS. http://crbug.com/341429
84            'password_manager/core/browser/login_database_posix.cc',
85          ],
86        }],
87        ['password_manager_enable_sync == 1', {
88          'defines': [
89            'PASSWORD_MANAGER_ENABLE_SYNC',
90          ],
91          'dependencies': [
92            '../sync/sync.gyp:sync',
93          ],
94          'direct_dependent_settings': {
95            'defines': [
96              'PASSWORD_MANAGER_ENABLE_SYNC',
97            ],
98          },
99          'sources': [
100            # Note: sources list duplicated in GN build.
101            'password_manager/core/browser/password_syncable_service.cc',
102            'password_manager/core/browser/password_syncable_service.h',
103          ],
104        }],
105      ],
106      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
107      'msvs_disabled_warnings': [ 4267, ],
108    },
109    {
110      # GN version: //components/password_manager/core/browser:test_support
111      'target_name': 'password_manager_core_browser_test_support',
112      'type': 'static_library',
113      'dependencies': [
114        'autofill_core_common',
115        '../base/base.gyp:base',
116        '../testing/gmock.gyp:gmock',
117        '../testing/gtest.gyp:gtest',
118      ],
119      'include_dirs': [
120        '..',
121      ],
122      'sources': [
123        # Note: sources list duplicated in GN build.
124        'password_manager/core/browser/mock_password_store.cc',
125        'password_manager/core/browser/mock_password_store.h',
126        'password_manager/core/browser/password_form_data.cc',
127        'password_manager/core/browser/password_form_data.h',
128        'password_manager/core/browser/stub_password_manager_client.cc',
129        'password_manager/core/browser/stub_password_manager_client.h',
130        'password_manager/core/browser/stub_password_manager_driver.cc',
131        'password_manager/core/browser/stub_password_manager_driver.h',
132        'password_manager/core/browser/test_password_store.cc',
133        'password_manager/core/browser/test_password_store.h',
134      ],
135    },
136    {
137      # GN version: //components/password_manager/core/common
138      'target_name': 'password_manager_core_common',
139      'type': 'static_library',
140      'dependencies': [
141      ],
142      'include_dirs': [
143        '..',
144      ],
145      'sources': [
146        # Note: sources list duplicated in GN build.
147        'password_manager/core/common/password_manager_pref_names.cc',
148        'password_manager/core/common/password_manager_pref_names.h',
149        'password_manager/core/common/password_manager_switches.cc',
150        'password_manager/core/common/password_manager_switches.h',
151        'password_manager/core/common/password_manager_ui.cc',
152        'password_manager/core/common/password_manager_ui.h',
153      ],
154    },
155  ],
156  'conditions': [
157    ['OS != "ios"', {
158      'targets': [
159        {
160          # GN version: //components/password_manager/content/common
161          'target_name': 'password_manager_content_common',
162          'type': 'static_library',
163          'dependencies': [
164            '../base/base.gyp:base',
165            '../content/content.gyp:content_common',
166            '../ipc/ipc.gyp:ipc',
167            '../third_party/WebKit/public/blink.gyp:blink_minimal',
168            'password_manager_core_common',
169          ],
170          'include_dirs': [
171            '..',
172          ],
173          'sources': [
174            'password_manager/content/common/credential_manager_message_generator.cc',
175            'password_manager/content/common/credential_manager_message_generator.h',
176            'password_manager/content/common/credential_manager_messages.h',
177            'password_manager/content/common/credential_manager_types.cc',
178            'password_manager/content/common/credential_manager_types.h',
179          ],
180        },
181        {
182          # GN version: //components/password_manager/content/renderer
183          'target_name': 'password_manager_content_renderer',
184          'type': 'static_library',
185          'dependencies': [
186            '../base/base.gyp:base',
187            '../content/content.gyp:content_common',
188            '../ipc/ipc.gyp:ipc',
189            '../third_party/WebKit/public/blink.gyp:blink',
190            'password_manager_core_common',
191            'password_manager_content_common',
192          ],
193          'include_dirs': [
194            '..',
195          ],
196          'sources': [
197            'password_manager/content/renderer/credential_manager_client.cc',
198            'password_manager/content/renderer/credential_manager_client.h',
199          ],
200        },
201        {
202          # GN version: //components/password_manager/content/browser
203          'target_name': 'password_manager_content_browser',
204          'type': 'static_library',
205          'dependencies': [
206            '../base/base.gyp:base',
207            '../content/content.gyp:content_browser',
208            '../content/content.gyp:content_common',
209            '../ipc/ipc.gyp:ipc',
210            '../net/net.gyp:net',
211            'autofill_content_browser',
212            'autofill_content_common',
213            'autofill_core_common',
214            'keyed_service_content',
215            'password_manager_core_browser',
216            'password_manager_content_common',
217          ],
218          'include_dirs': [
219            '..',
220          ],
221          'sources': [
222            # Note: sources list duplicated in GN build.
223            'password_manager/content/browser/content_password_manager_driver.cc',
224            'password_manager/content/browser/content_password_manager_driver.h',
225            'password_manager/content/browser/password_manager_internals_service_factory.cc',
226            'password_manager/content/browser/password_manager_internals_service_factory.h',
227          ],
228        },
229      ],
230    }],
231  ],
232}
233