blob: 1c02f68d20f9bc209db36f014021df1d3c0ba06d [file] [log] [blame]
# 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("//build/config/ui.gni")
import("//extensions/buildflags/buildflags.gni")
source_set("extension_enable_flow_delegate") {
sources = [ "extension_enable_flow_delegate.h" ]
}
source_set("extension_popup_types") {
sources = [ "extension_popup_types.h" ]
public_deps = [ "//base" ]
}
source_set("extensions") {
sources = []
public_deps = []
if (enable_extensions_core) {
sources += [
"controlled_home_dialog_controller.h",
"controlled_home_dialog_controller_interface.h",
"extension_dialog_utils.h",
"extension_install_ui.h",
"extensions_dialogs.h",
"extensions_menu_view_model.h",
"extensions_menu_view_platform_delegate.h",
"reload_page_dialog_controller.h",
"settings_overridden_dialog.h",
]
if (is_android) {
sources += [ "extension_install_ui_android.h" ]
public_deps += [ "//components/messages/android" ]
}
if (is_win || is_mac || is_linux || is_chromeos) {
sources += [ "extension_install_ui_desktop.h" ]
}
public_deps += [
"//base",
"//chrome/browser/ui/toolbar",
"//extensions/browser",
"//extensions/common",
"//ui/base:types",
"//ui/base/interaction",
"//ui/base/mojom:ui_base_types",
]
}
if (enable_extensions) {
sources += [
"accelerator_priority.h",
"app_launch_params.h",
"application_launch.h",
"extension_action_platform_delegate.h",
"extension_action_view_controller.h",
"extension_enable_flow.h",
"extension_installed_bubble_model.h",
"extension_installed_waiter.h",
"extension_side_panel_utils.h",
"extensions_container.h",
"extensions_overrides/simple_overrides.h",
"hosted_app_browser_controller.h",
"icon_with_badge_image_source.h",
"installation_error_infobar_delegate.h",
"mv2_disabled_dialog_controller.h",
"settings_api_bubble_helpers.h",
"settings_overridden_dialog_controller.h",
"settings_overridden_params_providers.h",
"web_file_handlers/multiclient_util.h",
]
public_deps += [
":extension_popup_types",
"//base",
"//chrome/browser/apps/app_service:constants",
"//chrome/browser/ui:browser_list",
"//chrome/browser/ui/tabs:tab_strip_model_observer",
"//chrome/browser/ui/toolbar",
"//chrome/browser/ui/web_applications",
"//components/infobars/core",
"//components/omnibox/browser",
"//components/services/app_service/public/cpp:app_types",
"//extensions/browser",
"//extensions/browser/install",
"//extensions/buildflags",
"//extensions/common",
"//skia",
"//ui/base",
"//ui/base:types",
"//ui/base/mojom:ui_base_types",
"//ui/gfx",
"//ui/gfx/geometry",
"//url",
]
}
}
source_set("impl") {
sources = []
deps = [ ":extensions" ]
if (enable_extensions_core) {
sources += [
"controlled_home_dialog.cc",
"controlled_home_dialog_controller.cc",
"extension_install_blocked_dialog.cc",
"extension_install_friction_dialog.cc",
"extension_install_ui.cc",
"extension_multiple_uninstall_dialog.cc",
"extension_uninstall_dialog_impl.cc",
"extensions_menu_view_model.cc",
"reload_page_dialog_controller.cc",
"settings_overridden_dialog.cc",
]
deps += [
"//chrome/browser/extensions",
"//chrome/browser/profiles:profile",
"//chrome/browser/ui/browser_window",
"//chrome/browser/ui/tabs:tab_list_interface",
"//chrome/browser/ui/toolbar",
"//components/tabs:public",
"//components/vector_icons",
]
if (is_win || is_mac || is_linux || is_chromeos) {
sources += [ "extension_install_ui_desktop.cc" ]
deps += [
"//chrome/app:generated_resources",
"//chrome/browser/prefs",
"//chrome/browser/themes",
"//chrome/browser/ui:browser_navigator_params_headers",
"//chrome/browser/ui/tabs:tab_strip",
"//chrome/common",
"//components/infobars/content",
"//content/public/browser",
"//extensions/browser/install",
"//extensions/common",
"//ui/base",
]
}
if (is_android) {
sources += [
"extension_dialog_utils_android.cc",
"extension_install_ui_android.cc",
]
deps += [
"//extensions/common",
"//ui/android",
]
}
if (toolkit_views) {
sources += [ "extension_dialog_utils_views.cc" ]
deps += [ "//chrome/browser/ui/views/frame:toolbar_button_provider" ]
}
}
if (enable_extensions) {
sources += [
"app_launch_params.cc",
"application_launch.cc",
"extension_action_view_controller.cc",
"extension_enable_flow.cc",
"extension_installed_bubble_model.cc",
"extension_installed_waiter.cc",
"extension_settings_overridden_dialog.cc",
"extensions_overrides/simple_overrides.cc",
"hosted_app_browser_controller.cc",
"icon_with_badge_image_source.cc",
"installation_error_infobar_delegate.cc",
"mv2_disabled_dialog_controller.cc",
"settings_api_bubble_helpers.cc",
"settings_overridden_params_providers.cc",
"web_file_handlers/multiclient_util.cc",
]
deps += [
":extension_enable_flow_delegate",
":extension_popup_types",
"//apps",
"//chrome/browser/app_mode",
"//chrome/browser/apps/app_service",
"//chrome/browser/apps/app_service:constants",
"//chrome/browser/apps/platform_apps",
"//chrome/browser/extensions",
"//chrome/browser/infobars",
"//chrome/browser/search_engines",
"//chrome/browser/ui/location_bar",
"//chrome/browser/ui/profiles",
"//chrome/browser/ui/startup",
"//chrome/browser/ui/tabs:tab_list_interface",
"//chrome/browser/ui/web_applications:launch_utils",
"//chrome/browser/web_applications",
"//components/prefs",
"//components/security_state/content",
"//components/signin/public/base:signin_switches",
]
}
public_deps = [ "//chrome/browser:browser_public_dependencies" ]
}
source_set("test_support") {
testonly = true
sources = []
public_deps = []
if (toolkit_views) {
sources += [ "extension_action_test_helper.h" ]
public_deps += [
":extensions",
"//extensions/common",
"//ui/gfx",
]
}
}
source_set("unit_tests") {
testonly = true
sources = []
deps = []
if (!is_android) {
sources += [
"controlled_home_dialog_controller_unittest.cc",
"extension_installed_bubble_model_unittest.cc",
"extension_settings_overridden_dialog_unittest.cc",
"extensions_overrides/simple_overrides_unittest.cc",
"settings_api_bubble_helpers_unittest.cc",
"settings_overridden_params_providers_unittest.cc",
]
deps += [
":extensions",
"//base",
"//base/test:test_support",
"//chrome/browser/extensions",
"//chrome/browser/extensions:test_support",
"//chrome/browser/profiles:profile",
"//chrome/browser/profiles/keep_alive",
"//chrome/browser/search_engines",
"//chrome/common",
"//chrome/common/extensions",
"//chrome/test:test_support",
"//components/crx_file",
"//components/custom_handlers:test_support",
"//components/proxy_config",
"//components/search_engines",
"//components/signin/public/base",
"//content/public/browser",
"//content/test:test_support",
"//extensions:test_support",
"//extensions/browser",
"//extensions/common",
"//testing/gtest",
"//ui/base",
]
}
}
source_set("browser_tests") {
testonly = true
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
sources = []
deps = []
if (!is_android) {
sources += [
"extension_action_view_controller_browsertest.cc",
"extension_enable_flow_browsertest.cc",
"extension_enable_flow_test_delegate.cc",
"extension_enable_flow_test_delegate.h",
"extension_image_util_browsertest.cc",
"extension_installed_waiter_browsertest.cc",
"hosted_app_browsertest.cc",
"notifications_custom_bindings_browsertest.cc",
"settings_overridden_params_providers_browsertest.cc",
]
public_deps = [ ":extension_enable_flow_delegate" ]
deps += [
":extensions",
"//base/test:test_support",
"//chrome/app:command_ids",
"//chrome/app:generated_resources",
"//chrome/browser/apps/app_service:test_support",
"//chrome/browser/extensions",
"//chrome/browser/extensions:test_support",
"//chrome/browser/profiles:profile",
"//chrome/browser/search_engines",
"//chrome/browser/themes",
"//chrome/browser/ui/color:color_headers",
"//chrome/browser/ui/tabs:tab_strip",
"//chrome/browser/ui/views/toolbar",
"//chrome/browser/ui/web_applications",
"//chrome/browser/ui/web_applications:launch_utils",
"//chrome/browser/web_applications",
"//chrome/browser/web_applications:features",
"//chrome/browser/web_applications:web_applications_test_support",
"//chrome/browser/web_applications/mojom:mojom_web_apps_enum",
"//chrome/common",
"//chrome/common:chrome_features",
"//chrome/common:non_code_constants",
"//chrome/common/extensions",
"//chrome/common/extensions/api",
"//chrome/test:test_support",
"//chrome/test:test_support_ui",
"//components/search_engines",
"//components/search_engines:test_support",
"//components/sessions",
"//components/webapps/browser",
"//components/webapps/common",
"//content/public/browser",
"//content/public/common",
"//content/test:test_support",
"//extensions:test_support",
"//extensions/browser",
"//extensions/common",
"//extensions/common:common_constants",
"//extensions/common:extension_features",
"//extensions/common:mojom_shared",
"//extensions/common:mojom_shared_cpp_sources",
"//net",
"//net:test_support",
"//pdf:buildflags",
"//pdf:features",
"//testing/gtest",
"//third_party/blink/public/common",
"//third_party/blink/public/common:headers",
"//ui/base",
"//ui/base:buildflags",
"//ui/base:features",
"//ui/color:color_headers",
"//ui/gfx",
"//ui/native_theme",
"//ui/native_theme:test_support",
]
if (is_linux) {
deps += [ "//ui/linux:linux_ui" ]
}
if (is_chromeos) {
sources += [ "application_launch_browsertest.cc" ]
}
}
}