blob: 29296da38483936d711834b42dc4b462c03a1219 [file] [log] [blame]
# Copyright 2014 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("//third_party/protobuf/proto_library.gni")
if (is_android) {
import("//build/config/android/config.gni")
}
# TODO(crbug.com/706392): Fix password reuse detection for Android.
password_reuse_detection_support = !is_android && !is_ios
static_library("browser") {
sources = [
"affiliated_match_helper.cc",
"affiliated_match_helper.h",
"affiliation_backend.cc",
"affiliation_backend.h",
"affiliation_database.cc",
"affiliation_database.h",
"affiliation_fetch_throttler.cc",
"affiliation_fetch_throttler.h",
"affiliation_fetch_throttler_delegate.h",
"affiliation_fetcher.cc",
"affiliation_fetcher.h",
"affiliation_fetcher_delegate.h",
"affiliation_service.cc",
"affiliation_service.h",
"affiliation_utils.cc",
"affiliation_utils.h",
"browser_save_password_progress_logger.cc",
"browser_save_password_progress_logger.h",
"credential_manager_logger.cc",
"credential_manager_logger.h",
"credential_manager_password_form_manager.cc",
"credential_manager_password_form_manager.h",
"credential_manager_pending_prevent_silent_access_task.cc",
"credential_manager_pending_prevent_silent_access_task.h",
"credential_manager_pending_request_task.cc",
"credential_manager_pending_request_task.h",
"credentials_filter.h",
"export/csv_writer.cc",
"export/csv_writer.h",
"export/password_csv_writer.cc",
"export/password_csv_writer.h",
"export/password_exporter.cc",
"export/password_exporter.h",
"facet_manager.cc",
"facet_manager.h",
"facet_manager_host.h",
"form_fetcher.h",
"form_fetcher_impl.cc",
"form_fetcher_impl.h",
"form_saver.h",
"form_saver_impl.cc",
"form_saver_impl.h",
"http_password_store_migrator.cc",
"http_password_store_migrator.h",
"import/csv_reader.cc",
"import/csv_reader.h",
"import/password_csv_reader.cc",
"import/password_csv_reader.h",
"import/password_importer.cc",
"import/password_importer.h",
"keychain_migration_status_mac.h",
"log_manager.cc",
"log_manager.h",
"log_receiver.h",
"log_router.cc",
"log_router.h",
"login_database.cc",
"login_database.h",
"login_database_ios.cc",
"login_database_mac.cc",
"login_database_posix.cc",
"login_database_win.cc",
"login_model.cc",
"login_model.h",
"password_autofill_manager.cc",
"password_autofill_manager.h",
"password_bubble_experiment.cc",
"password_bubble_experiment.h",
"password_form_manager.cc",
"password_form_manager.h",
"password_generation_manager.cc",
"password_generation_manager.h",
"password_manager.cc",
"password_manager.h",
"password_manager_client.cc",
"password_manager_client.h",
"password_manager_constants.cc",
"password_manager_constants.h",
"password_manager_driver.h",
"password_manager_internals_service.cc",
"password_manager_internals_service.h",
"password_manager_metrics_util.cc",
"password_manager_metrics_util.h",
"password_manager_settings_migration_experiment.cc",
"password_manager_settings_migration_experiment.h",
"password_manager_util.cc",
"password_manager_util.h",
"password_store.cc",
"password_store.h",
"password_store_change.cc",
"password_store_change.h",
"password_store_consumer.cc",
"password_store_consumer.h",
"password_store_default.cc",
"password_store_default.h",
"password_store_factory_util.cc",
"password_store_factory_util.h",
"password_store_sync.cc",
"password_store_sync.h",
"password_syncable_service.cc",
"password_syncable_service.h",
"password_ui_utils.cc",
"password_ui_utils.h",
"psl_matching_helper.cc",
"psl_matching_helper.h",
"sql_table_builder.cc",
"sql_table_builder.h",
"statistics_table.cc",
"statistics_table.h",
"suppressed_https_form_fetcher.cc",
"suppressed_https_form_fetcher.h",
"test_affiliation_fetcher_factory.h",
"webdata/logins_table.cc",
"webdata/logins_table.h",
"webdata/logins_table_win.cc",
"webdata/password_web_data_service_win.cc",
"webdata/password_web_data_service_win.h",
]
if (password_reuse_detection_support) {
sources += [
"password_reuse_detection_manager.cc",
"password_reuse_detection_manager.h",
"password_reuse_detector.cc",
"password_reuse_detector.h",
"password_reuse_detector_consumer.cc",
"password_reuse_detector_consumer.h",
]
}
public_deps = [
"//base",
"//components/sync",
]
deps = [
":proto",
"//base",
"//base:i18n",
"//components/autofill/core/browser",
"//components/autofill/core/browser/proto",
"//components/autofill/core/common",
"//components/keyed_service/core",
"//components/os_crypt",
"//components/password_manager/core/common",
"//components/pref_registry",
"//components/prefs",
"//components/security_state/core",
"//components/strings",
"//components/sync",
"//components/url_formatter",
"//components/variations",
"//components/webdata/common",
"//crypto",
"//google_apis",
"//net",
"//sql",
"//third_party/protobuf:protobuf_lite",
"//third_party/re2",
"//ui/base",
"//ui/gfx",
"//url",
]
if (!is_ios) {
sources += [
"hsts_query.cc",
"hsts_query.h",
"http_data_cleaner.cc",
"http_data_cleaner.h",
]
}
if (is_mac || is_ios) {
sources -= [ "login_database_posix.cc" ]
}
if (!is_ios) {
deps += [ "//components/safe_browsing/password_protection" ]
}
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
}
proto_library("proto") {
sources = [
"affiliation_api.proto",
]
}
static_library("test_support") {
testonly = true
sources = [
"fake_affiliation_api.cc",
"fake_affiliation_api.h",
"fake_affiliation_fetcher.cc",
"fake_affiliation_fetcher.h",
"fake_form_fetcher.cc",
"fake_form_fetcher.h",
"mock_affiliated_match_helper.cc",
"mock_affiliated_match_helper.h",
"mock_affiliation_consumer.cc",
"mock_affiliation_consumer.h",
"mock_password_store.cc",
"mock_password_store.h",
"password_manager_test_utils.cc",
"password_manager_test_utils.h",
"stub_credentials_filter.cc",
"stub_credentials_filter.h",
"stub_form_saver.h",
"stub_log_manager.cc",
"stub_log_manager.h",
"stub_password_manager_client.cc",
"stub_password_manager_client.h",
"stub_password_manager_driver.cc",
"stub_password_manager_driver.h",
"test_password_store.cc",
"test_password_store.h",
]
public_deps = [
":browser",
"//testing/gmock",
"//url:url",
]
deps = [
"//base",
"//components/autofill/core/common",
"//net:net",
"//testing/gtest",
]
}
bundle_data("unit_tests_bundle_data") {
visibility = [ ":unit_tests" ]
testonly = true
sources = [
"//components/test/data/password_manager/login_db_v1.sql",
"//components/test/data/password_manager/login_db_v10.sql",
"//components/test/data/password_manager/login_db_v11.sql",
"//components/test/data/password_manager/login_db_v12.sql",
"//components/test/data/password_manager/login_db_v13.sql",
"//components/test/data/password_manager/login_db_v14.sql",
"//components/test/data/password_manager/login_db_v15.sql",
"//components/test/data/password_manager/login_db_v16.sql",
"//components/test/data/password_manager/login_db_v17.sql",
"//components/test/data/password_manager/login_db_v18.sql",
"//components/test/data/password_manager/login_db_v19.sql",
"//components/test/data/password_manager/login_db_v1_broken.sql",
"//components/test/data/password_manager/login_db_v2.sql",
"//components/test/data/password_manager/login_db_v2_broken.sql",
"//components/test/data/password_manager/login_db_v3.sql",
"//components/test/data/password_manager/login_db_v3_broken.sql",
"//components/test/data/password_manager/login_db_v4.sql",
"//components/test/data/password_manager/login_db_v5.sql",
"//components/test/data/password_manager/login_db_v6.sql",
"//components/test/data/password_manager/login_db_v7.sql",
"//components/test/data/password_manager/login_db_v8.sql",
"//components/test/data/password_manager/login_db_v9.sql",
"//components/test/data/password_manager/login_db_v9_without_use_additional_auth_field.sql",
]
outputs = [
"{{bundle_resources_dir}}/" +
"{{source_root_relative_dir}}/{{source_file_part}}",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"affiliated_match_helper_unittest.cc",
"affiliation_backend_unittest.cc",
"affiliation_database_unittest.cc",
"affiliation_fetch_throttler_unittest.cc",
"affiliation_fetcher_unittest.cc",
"affiliation_service_unittest.cc",
"affiliation_utils_unittest.cc",
"browser_save_password_progress_logger_unittest.cc",
"credential_manager_logger_unittest.cc",
"credential_manager_password_form_manager_unittest.cc",
"export/csv_writer_unittest.cc",
"export/password_csv_writer_unittest.cc",
"export/password_exporter_unittest.cc",
"facet_manager_unittest.cc",
"form_fetcher_impl_unittest.cc",
"form_saver_impl_unittest.cc",
"http_password_store_migrator_unittest.cc",
"import/csv_reader_unittest.cc",
"import/password_csv_reader_unittest.cc",
"import/password_importer_unittest.cc",
"log_manager_unittest.cc",
"log_router_unittest.cc",
"login_database_unittest.cc",
"login_model_unittest.cc",
"password_autofill_manager_unittest.cc",
"password_bubble_experiment_unittest.cc",
"password_form_manager_unittest.cc",
"password_generation_manager_unittest.cc",
"password_manager_settings_migration_experiment_unittest.cc",
"password_manager_unittest.cc",
"password_manager_util_unittest.cc",
"password_store_default_unittest.cc",
"password_store_origin_unittest.h",
"password_store_unittest.cc",
"password_syncable_service_unittest.cc",
"password_ui_utils_unittest.cc",
"psl_matching_helper_unittest.cc",
"sql_table_builder_unittest.cc",
"statistics_table_unittest.cc",
"suppressed_https_form_fetcher_unittest.cc",
]
if (is_mac) {
sources -= [ "password_store_default_unittest.cc" ]
}
if (is_ios) {
sources += [ "login_database_ios_unittest.cc" ]
} else {
sources += [
"hsts_query_unittest.cc",
"http_data_cleaner_unittest.cc",
]
}
if (password_reuse_detection_support) {
sources += [
"password_reuse_detection_manager_unittest.cc",
"password_reuse_detector_unittest.cc",
]
}
deps = [
":test_support",
":unit_tests_bundle_data",
"//base/test:test_support",
"//components/autofill/core/browser:test_support",
"//components/autofill/core/browser/proto",
"//components/autofill/core/common",
"//components/os_crypt:test_support",
"//components/password_manager/core/browser:proto",
"//components/password_manager/core/common",
"//components/prefs:test_support",
"//components/security_state/core",
"//components/strings",
"//components/sync:test_support_driver",
"//components/sync:test_support_model",
"//components/variations",
"//net:test_support",
"//sql:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/base",
"//url",
]
}