| # Copyright 2025 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//components/signin/features.gni") |
| |
| source_set("profiles") { |
| sources = [ "profile_error_dialog.h" ] |
| public_deps = [] |
| |
| if (!is_android) { |
| sources += [ |
| "profile_colors_util.h", |
| "profile_view_utils.h", |
| ] |
| |
| public_deps += [ |
| "//base", |
| "//chrome/browser/profiles:profile_util", |
| "//skia", |
| ] |
| } |
| |
| if (is_win || is_mac || is_linux) { |
| sources += [ |
| "profile_customization_bubble_sync_controller.h", |
| "profile_customization_synced_theme_waiter.h", |
| "profile_customization_util.h", |
| "profile_picker.h", |
| ] |
| |
| public_deps += [ |
| "//chrome/browser/themes", |
| "//components/signin/public/identity_manager", |
| "//components/sync/service", |
| "//url", |
| ] |
| |
| if (enable_dice_support) { |
| sources += [ |
| "batch_upload_ui_delegate.h", |
| # TODO(crbug.com/430804948): signin_intercept_first_run_experience_dialog.h |
| # isn't listed here at the moment, and added to "impl" target instead, because it |
| # causes the following circular dependency: |
| # ERROR Dependency cycle: |
| # //chrome/browser/extensions:extensions -> |
| # //chrome/browser/ui/views/side_panel:side_panel -> |
| # //chrome/browser/ui/views/toolbar:toolbar -> |
| # //chrome/browser/ui/profiles:profiles -> |
| # //chrome/browser/ui/signin:signin -> |
| # //chrome/browser/ui/webui/signin:signin -> |
| # //chrome/browser/ui/webui:webui -> |
| # //chrome/browser/extensions:extensions |
| ] |
| |
| public_deps += [ "//chrome/browser/profiles/batch_upload" ] |
| } |
| } |
| } |
| |
| source_set("impl") { |
| sources = [ "profile_error_dialog.cc" ] |
| deps = [ |
| ":profiles", |
| "//chrome/browser/feedback", |
| ] |
| public_deps = [] |
| |
| if (!is_android) { |
| sources += [ |
| "profile_colors_util.cc", |
| "profile_view_utils.cc", |
| ] |
| |
| deps += [ |
| "//chrome/app:command_ids", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/new_tab_page/chrome_colors:generate_chrome_colors_info", |
| "//chrome/browser/prefs", |
| "//chrome/browser/signin", |
| "//chrome/browser/sync", |
| "//chrome/browser/themes", |
| "//chrome/browser/ui:browser_navigator_params_headers", |
| "//chrome/browser/ui:layout_constants", |
| "//chrome/browser/ui/color:color_headers", |
| "//chrome/browser/ui/toolbar", |
| "//chrome/common/themes:autogenerated_theme_util", |
| "//components/user_prefs", |
| ] |
| } |
| |
| if (is_win || is_mac || is_linux) { |
| sources += [ |
| "profile_customization_synced_theme_waiter.cc", |
| "profile_customization_util.cc", |
| "profile_picker.cc", |
| ] |
| deps += [ |
| "//chrome/browser/ui:ui_features", |
| "//chrome/browser/ui/startup", |
| ] |
| |
| if (enable_dice_support) { |
| sources += [ |
| "batch_upload_ui_delegate.cc", |
| "signin_intercept_first_run_experience_dialog.cc", |
| "signin_intercept_first_run_experience_dialog.h", |
| ] |
| |
| deps += [ |
| "//chrome/browser/ui/webui/signin", |
| "//chrome/browser/ui/webui/signin:login", |
| |
| # TODO(crbug.com/430804948): This dependency is here because of |
| # signin_intercept_first_run_experience_dialog.h listed above - see comment in |
| # :profiles above. |
| "//chrome/browser/ui/signin", |
| "//chrome/browser/ui/webui/signin:profile", |
| ] |
| } |
| } |
| |
| public_deps = [ "//chrome/browser:browser_public_dependencies" ] |
| } |
| |
| source_set("test_support") { |
| sources = [] |
| public_deps = [] |
| |
| if (!is_android) { |
| sources += [ "profile_ui_test_utils.h" ] |
| public_deps += [ |
| "//base", |
| "//url", |
| ] |
| if (!is_chromeos) { |
| public_deps += [ "//chrome/browser/ui/webui/signin:profile" ] |
| } |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [] |
| deps = [] |
| |
| if (!is_android) { |
| sources += [ "profile_view_utils_unittest.cc" ] |
| deps = [ |
| ":profiles", |
| "//chrome/browser/prefs", |
| "//chrome/test:test_support", |
| "//components/account_id", |
| "//components/policy/core/common:common_constants", |
| "//content/test:test_support", |
| "//testing/gtest", |
| ] |
| |
| if (!is_chromeos) { |
| sources += [ |
| "profile_colors_util_unittest.cc", |
| "profile_customization_synced_theme_waiter_unittest.cc", |
| ] |
| deps += [ "//ui/native_theme:test_support" ] |
| } |
| } |
| |
| if (is_win || is_mac || is_linux) { |
| sources += [ |
| "profile_customization_util_unittest.cc", |
| "profile_picker_unittest.cc", |
| ] |
| deps += [ |
| "//chrome/browser/ui:ui_features", |
| "//chrome/browser/ui/startup", |
| ] |
| } |
| } |
| |
| source_set("browser_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [] |
| deps = [] |
| |
| if (!is_android) { |
| sources += [ "profile_error_browsertest.cc" ] |
| deps += [ |
| "//base", |
| "//base/test:test_support", |
| "//chrome/browser/ui/tabs:tab_strip", |
| "//chrome/common:constants", |
| "//chrome/common:non_code_constants", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//content/test:test_support", |
| ] |
| |
| if (enable_dice_support) { |
| sources += |
| [ "signin_intercept_first_run_experience_dialog_browsertest.cc" ] |
| deps += [ |
| # TODO(crbug.com/430804948): Not depend on it when `signin_intercept_first_run_experience_dialog.h` |
| # gets built off of :profiles. |
| ":impl", |
| "//chrome/browser/sync", |
| "//chrome/browser/ui/browser_window", |
| "//chrome/browser/ui/signin", |
| "//chrome/browser/ui/webui/signin", |
| "//chrome/browser/ui/webui/signin:login", |
| ] |
| } |
| } |
| } |