summaryrefslogtreecommitdiff
path: root/chromium/components/password_manager/ios/BUILD.gn
blob: 9ebf405e1560b51b0e0751ca9a6ad03f9e72c87a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ios/web/js_compile.gni")

component("ios") {
  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    ":account_select_fill_data",
    ":password_manager_feature",
    "//base",
    "//components/autofill/core/browser",
    "//components/autofill/core/common",
    "//components/autofill/ios/browser",
    "//components/autofill/ios/browser:util",
    "//components/autofill/ios/form_util",
    "//components/autofill/ios/form_util:form_util_feature",
    "//components/password_manager/core/browser",
    "//components/password_manager/core/browser/form_parsing",
    "//components/password_manager/core/common",
    "//components/security_state/ios",
    "//components/strings:components_strings_grit",
    "//ios/web/common",
    "//ios/web/public",
    "//ios/web/public/js_messaging",
    "//ui/base",
    "//url",
  ]

  sources = [
    "password_form_helper.h",
    "password_form_helper.mm",
    "password_generation_provider.h",
    "password_manager_client_bridge.h",
    "password_manager_driver_bridge.h",
    "password_manager_ios_util.h",
    "password_manager_ios_util.mm",
    "password_suggestion_helper.h",
    "password_suggestion_helper.mm",
    "shared_password_controller.h",
    "shared_password_controller.mm",
  ]
}

source_set("password_manager_feature") {
  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    ":account_select_fill_data",
    ":password_controller_js",
    "//base",
    "//components/autofill/core/common",
    "//components/autofill/ios/browser:util",
    "//components/autofill/ios/form_util:form_util_feature",
    "//ios/web/public/js_messaging",
  ]

  sources = [
    "password_manager_java_script_feature.h",
    "password_manager_java_script_feature.mm",
  ]
}

source_set("account_select_fill_data") {
  deps = [
    "//base",
    "//components/autofill/core/common",
    "//components/autofill/ios/browser:util",
    "//url",
  ]

  sources = [
    "account_select_fill_data.cc",
    "account_select_fill_data.h",
  ]
}

js_compile_bundle("password_controller_js") {
  closure_entry_point = "__crWeb.passwords"
  sources = [ "resources/password_controller.js" ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "test_helpers.cc",
    "test_helpers.h",
  ]

  deps = [
    ":account_select_fill_data",
    ":ios",
    "//base",
    "//components/autofill/core/common",
    "//url",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "account_select_fill_data_unittest.cc",
    "password_form_helper_unittest.mm",
    "shared_password_controller_unittest.mm",
  ]
  deps = [
    ":account_select_fill_data",
    ":ios",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//components/autofill/core/common",
    "//components/autofill/ios/browser",
    "//components/autofill/ios/form_util",
    "//components/autofill/ios/form_util:form_util_feature",
    "//components/autofill/ios/form_util:test_support",
    "//components/password_manager/core/browser",
    "//components/password_manager/core/browser:test_support",
    "//components/password_manager/ios:password_manager_feature",
    "//ios/web/public/js_messaging",
    "//ios/web/public/test",
    "//ios/web/public/test:test_fixture",
    "//ios/web/public/test/fakes",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}