# Copyright 2016 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") source_set("passwords") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "account_select_fill_data.cc", "account_select_fill_data.h", "credential_manager.h", "credential_manager.mm", "credential_manager_features.cc", "credential_manager_features.h", "credential_manager_util.h", "credential_manager_util.mm", "ios_chrome_password_manager_client.h", "ios_chrome_password_manager_client.mm", "ios_chrome_password_manager_driver.h", "ios_chrome_password_manager_driver.mm", "ios_chrome_password_manager_infobar_delegate.h", "ios_chrome_password_manager_infobar_delegate.mm", "ios_chrome_password_store_factory.cc", "ios_chrome_password_store_factory.h", "ios_chrome_save_password_infobar_delegate.h", "ios_chrome_save_password_infobar_delegate.mm", "ios_chrome_update_password_infobar_delegate.h", "ios_chrome_update_password_infobar_delegate.mm", "js_credential_manager.h", "js_credential_manager.mm", "js_password_manager.h", "js_password_manager.mm", "notify_auto_signin_view_controller.h", "notify_auto_signin_view_controller.mm", "password_controller.h", "password_controller.mm", "password_form_filler.h", "password_manager_internals_service_factory.cc", "password_manager_internals_service_factory.h", "password_tab_helper.h", "password_tab_helper.mm", "update_password_infobar_controller.h", "update_password_infobar_controller.mm", ] deps = [ ":injected_js", "//base", "//base:i18n", "//components/autofill/core/browser", "//components/autofill/core/common", "//components/autofill/ios/browser", "//components/browser_sync", "//components/image_fetcher/core", "//components/image_fetcher/ios", "//components/infobars/core", "//components/keyed_service/core", "//components/keyed_service/ios", "//components/password_manager/core/browser", "//components/password_manager/core/browser/form_parsing", "//components/password_manager/core/common", "//components/password_manager/sync/browser", "//components/prefs", "//components/security_state/core", "//components/signin/core/browser", "//components/strings", "//components/sync", "//components/ukm", "//google_apis", "//ios/chrome/app/strings", "//ios/chrome/app/theme", "//ios/chrome/browser", "//ios/chrome/browser/autofill", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/infobars", "//ios/chrome/browser/signin", "//ios/chrome/browser/ssl", "//ios/chrome/browser/sync/glue", "//ios/chrome/browser/ui", "//ios/chrome/browser/ui/commands", "//ios/chrome/browser/ui/elements", "//ios/chrome/browser/ui/infobars", "//ios/chrome/browser/web", "//ios/public/provider/chrome/browser", "//ios/public/provider/chrome/browser/ui", "//ios/third_party/material_components_ios:material_components_ios", "//ios/web", "//net", "//third_party/material_design_icons:ic_account_circle", "//ui/base", "//url", ] public_deps = [ ":passwords_generation_utils", ] allow_circular_includes_from = [ ":passwords_generation_utils" ] } source_set("passwords_generation_utils") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "password_generation_utils.h", "password_generation_utils.mm", ] deps = [ "//base:i18n", "//ios/chrome/browser/ui", ] libs = [ "CoreGraphics.framework" ] } source_set("unit_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "account_select_fill_data_unittest.cc", "credential_manager_unittest.mm", "credential_manager_util_unittest.cc", "js_credential_manager_unittest.mm", "password_controller_js_unittest.mm", "password_controller_unittest.mm", "test_helpers.cc", "test_helpers.h", ] deps = [ ":passwords", "//base", "//components/autofill/core/common", "//components/autofill/ios/browser", "//components/password_manager/core/browser", "//components/password_manager/core/browser:test_support", "//components/password_manager/core/common", "//components/prefs", "//components/prefs:test_support", "//components/security_state/ios", "//google_apis", "//ios/chrome/browser/autofill", "//ios/chrome/browser/browser_state:test_support", "//ios/chrome/browser/ssl", "//ios/chrome/browser/ui/commands", "//ios/chrome/browser/web:test_support", "//ios/chrome/browser/web:web_internal", "//ios/testing:ios_test_support", "//ios/testing:ocmock_support", "//ios/web", "//ios/web/public/test", "//ios/web/public/test/fakes", "//net:test_support", "//testing/gtest", "//third_party/ocmock", "//url", ] } source_set("eg_tests") { configs += [ "//build/config/compiler:enable_arc" ] testonly = true sources = [ "credential_manager_egtest.mm", ] deps = [ ":passwords", "//base", "//base/test:test_support", "//components/autofill/core/common", "//components/autofill/ios/browser", "//components/keyed_service/core", "//components/password_manager/core/browser", "//components/password_manager/core/browser:test_support", "//components/password_manager/core/common", "//components/prefs", "//components/prefs:test_support", "//ios/chrome/test/app:test_support", "//ios/chrome/test/earl_grey:test_support", "//ios/testing:ios_test_support", "//ios/testing/earl_grey:earl_grey_support", "//ios/web/public/test/http_server", ] libs = [ "UIKit.framework", "XCTest.framework", ] } js_compile_checked("injected_js") { visibility = [ ":passwords" ] sources = [ "resources/password_controller.js", ] js_modules = [ "//components/autofill/ios/fill/resources/form.js", "//components/autofill/ios/fill/resources/fill.js", ] }