Files
brave-core/browser/sources.gni
T
Serg 4078292ec0 [Origin] Honor BraveRewardsDisabled policy when starting Rewards engine (#36629)
* [Origin] Honor BraveRewardsDisabled policy when starting Rewards engine

Defer `RewardsServiceImpl::CheckPreferences()` -- the gate that decides
whether to spin up the Rewards engine process -- behind a
`brave_policy::PolicyInitializationWaiter` so that the managed
`brave_rewards::prefs::kDisabledByPolicy` pref is visible by the time the
gate evaluates. Without this, `Init()` runs before the policy bundle has
been merged into the managed pref store and the engine starts -- pinging
`/v1/parameters` and `/v4/wallets/...` -- even when Brave Origin has
disabled Rewards via `BraveRewardsDisabled`.

Resolves: https://github.com/brave/brave-browser/issues/55696
2026-05-22 07:50:44 -04:00

928 lines
34 KiB
Plaintext

# Copyright (c) 2020 The Brave Authors. All rights reserved.
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
import("//brave/browser/ai_chat/android/sources.gni")
import("//brave/browser/autocomplete/sources.gni")
import("//brave/browser/brave_account/android/sources.gni")
import("//brave/browser/brave_news/sources.gni")
import("//brave/browser/brave_referrals/sources.gni")
import("//brave/browser/brave_vpn/sources.gni")
import("//brave/browser/browsing_data/sources.gni")
import("//brave/browser/cosmetic_filters/sources.gni")
import("//brave/browser/debounce/sources.gni")
import("//brave/browser/ephemeral_storage/sources.gni")
import("//brave/browser/gcm_driver/sources.gni")
import("//brave/browser/infobars/sources.gni")
import("//brave/browser/misc_metrics/sources.gni")
import("//brave/browser/net/sources.gni")
import("//brave/browser/new_tab/sources.gni")
import("//brave/browser/onboarding/sources.gni")
import("//brave/browser/perf/sources.gni")
import("//brave/browser/permissions/sources.gni")
import("//brave/browser/profiles/sources.gni")
import("//brave/browser/renderer_context_menu/sources.gni")
import("//brave/browser/request_otr/sources.gni")
import("//brave/browser/search_engines/sources.gni")
import("//brave/browser/sync/sources.gni")
import("//brave/browser/themes/sources.gni")
import("//brave/browser/ui/config.gni")
import("//brave/browser/updater/buildflags.gni")
import("//brave/browser/url_sanitizer/sources.gni")
import("//brave/browser/web_discovery/sources.gni")
import("//brave/browser/webcompat_reporter/sources.gni")
import("//brave/build/config.gni")
import("//brave/chromium_src/chrome/browser/prefs/sources.gni")
import("//brave/chromium_src/chrome/browser/sources.gni")
import("//brave/components/ai_chat/core/common/buildflags/buildflags.gni")
import("//brave/components/brave_ads/buildflags/buildflags.gni")
import("//brave/components/brave_education/buildflags.gni")
import("//brave/components/brave_news/common/buildflags/buildflags.gni")
import("//brave/components/brave_origin/buildflags/buildflags.gni")
import("//brave/components/brave_rewards/core/buildflags/buildflags.gni")
import("//brave/components/brave_talk/buildflags/buildflags.gni")
import("//brave/components/brave_vpn/common/buildflags/buildflags.gni")
import("//brave/components/brave_wallet/common/buildflags/buildflags.gni")
import("//brave/components/brave_wayback_machine/buildflags/buildflags.gni")
import("//brave/components/commander/common/buildflags/buildflags.gni")
import("//brave/components/containers/buildflags/buildflags.gni")
import("//brave/components/email_aliases/buildflags/buildflags.gni")
import("//brave/components/ipfs/buildflags/buildflags.gni")
import("//brave/components/playlist/core/common/buildflags/buildflags.gni")
import("//brave/components/psst/buildflags/buildflags.gni")
import("//brave/components/tor/buildflags/buildflags.gni")
import("//brave/components/web_discovery/buildflags/buildflags.gni")
import("//chrome/browser/buildflags.gni")
import("//extensions/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
if (enable_brave_rewards) {
import("//brave/browser/brave_rewards/android/sources.gni")
}
if (enable_brave_wallet) {
import("//brave/browser/brave_wallet/android/sources.gni")
}
if (enable_playlist) {
import("//brave/browser/playlist/sources.gni")
}
brave_chrome_browser_allow_circular_includes_from = []
brave_chrome_browser_visibility = [
"//brave/browser/*",
"//brave/test:*",
# Chrome does not yet define a visibility list by itself, meaning we can't
# append our list to them and that what we have here will become law not just
# for Brave, but also for the rest of chrome. Thus, we need to provide our own
# permissive list for chrome here too, to be removed in the future if Chrome
# ever provides it's own list (at which point we'll append instead of set).
"//chrome:dependencies",
"//chrome/app/*",
"//chrome/test/*",
"//extensions/*",
]
brave_chrome_browser_sources = [
"//brave/browser/brave_browser_features.cc",
"//brave/browser/brave_browser_features.h",
"//brave/browser/brave_browser_main_extra_parts.cc",
"//brave/browser/brave_browser_main_extra_parts.h",
"//brave/browser/brave_browser_main_parts.cc",
"//brave/browser/brave_browser_main_parts.h",
"//brave/browser/brave_browser_process.cc",
"//brave/browser/brave_browser_process_impl.cc",
"//brave/browser/brave_browser_process_impl.h",
"//brave/browser/brave_content_browser_client.cc",
"//brave/browser/brave_content_browser_client.h",
"//brave/browser/brave_local_state_prefs.cc",
"//brave/browser/brave_local_state_prefs.h",
"//brave/browser/brave_profile_prefs.cc",
"//brave/browser/brave_profile_prefs.h",
"//brave/browser/brave_shell_integration.cc",
"//brave/browser/brave_shell_integration.h",
"//brave/browser/brave_tab_helpers.cc",
"//brave/browser/brave_tab_helpers.h",
"//brave/browser/browser_context_keyed_service_factories.cc",
"//brave/browser/browser_context_keyed_service_factories.h",
"//brave/browser/geolocation/brave_geolocation_permission_context_delegate.cc",
"//brave/browser/geolocation/brave_geolocation_permission_context_delegate.h",
"//brave/browser/metrics/brave_metrics_service_accessor.cc",
"//brave/browser/metrics/brave_metrics_service_accessor.h",
"//brave/browser/metrics/metrics_reporting_util.cc",
"//brave/browser/metrics/metrics_reporting_util.h",
"//brave/browser/policy/brave_simple_policy_map.h",
"//brave/browser/prefs/brave_pref_service_incognito_allowlist.cc",
"//brave/browser/prefs/brave_pref_service_incognito_allowlist.h",
"//brave/browser/translate/brave_translate_prefs_migration.cc",
"//brave/browser/translate/brave_translate_prefs_migration.h",
"//brave/browser/translate/brave_translate_utils.cc",
"//brave/browser/translate/brave_translate_utils.h",
"//brave/browser/update_util.cc",
"//brave/browser/update_util.h",
"//brave/chromium_src/chrome/browser/notifications/notification_handler_impl.h",
]
if (enable_brave_wallet) {
brave_chrome_browser_sources += [
"//brave/browser/brave_wallet/wallet_data_files_installer_delegate_impl.cc",
"//brave/browser/brave_wallet/wallet_data_files_installer_delegate_impl.h",
]
}
brave_chrome_browser_deps = [
"//base",
"//brave/app:brave_generated_resources_grit",
"//brave/browser:brave_global_features_impl",
"//brave/browser:browser_process",
"//brave/browser:sparkle_buildflags",
"//brave/browser/bluetooth",
"//brave/browser/brave_account",
"//brave/browser/brave_adaptive_captcha",
"//brave/browser/brave_adaptive_captcha:impl",
"//brave/browser/brave_origin",
"//brave/browser/brave_search",
"//brave/browser/brave_shields",
"//brave/browser/brave_shields:brave_shields_impl",
"//brave/browser/brave_stats",
"//brave/browser/component_updater",
"//brave/browser/history_embeddings",
"//brave/browser/metrics/buildflags",
"//brave/browser/misc_metrics",
"//brave/browser/misc_metrics:misc_metrics_impl",
"//brave/browser/net:features",
"//brave/browser/ntp_background",
"//brave/browser/policy/handlers",
"//brave/browser/serp_metrics",
"//brave/browser/serp_metrics:impl",
"//brave/browser/skus",
"//brave/browser/sync",
"//brave/browser/themes",
"//brave/browser/ui",
"//brave/browser/ui/webui/brave_account",
"//brave/browser/ui/webui/local_ai",
"//brave/browser/updater:buildflags",
"//brave/common",
"//brave/common:mojo_bindings",
"//brave/components/ai_chat/core/common/buildflags",
# Unconditional for gn check as the NTP WebUI always needs the mojom
# types since typescript cannnot yet conditionally import during typecheck.
# TODO(https://github.com/brave/brave-browser/issues/53190): remove when
# fixed.
"//brave/components/ai_chat/core/common/mojom",
"//brave/components/body_sniffer",
"//brave/components/brave_account",
"//brave/components/brave_account:features",
"//brave/components/brave_account/mojom",
"//brave/components/brave_adaptive_captcha",
"//brave/components/brave_ads/buildflags",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_education:buildflags",
"//brave/components/brave_new_tab_ui:mojom",
"//brave/components/brave_news/common:mojom",
"//brave/components/brave_news/common/buildflags",
"//brave/components/brave_origin",
"//brave/components/brave_perf_predictor/browser",
"//brave/components/brave_policy",
"//brave/components/brave_policy/ad_block_only_mode",
"//brave/components/brave_private_new_tab_ui/common",
"//brave/components/brave_private_new_tab_ui/common:mojom",
"//brave/components/brave_referrals/browser",
"//brave/components/brave_rewards/core",
"//brave/components/brave_rewards/core:features",
"//brave/components/brave_rewards/core/buildflags",
"//brave/components/brave_rewards/core/mojom",
"//brave/components/brave_rewards/core/mojom:webui",
"//brave/components/brave_search/browser",
"//brave/components/brave_search/common",
"//brave/components/brave_search/common:mojom",
"//brave/components/brave_shields/core/common",
"//brave/components/brave_shields/core/common:mojom",
"//brave/components/brave_sync",
"//brave/components/brave_sync:features",
"//brave/components/brave_sync:network_time_helper",
"//brave/components/brave_sync:prefs",
"//brave/components/brave_talk/buildflags",
"//brave/components/brave_user_agent/browser",
"//brave/components/brave_user_agent/common",
"//brave/components/brave_vpn/common/buildflags",
"//brave/components/brave_vpn/common/mojom",
"//brave/components/brave_wallet/common/buildflags",
"//brave/components/brave_wayback_machine/buildflags",
"//brave/components/commander/common/buildflags",
"//brave/components/constants",
"//brave/components/containers/buildflags",
"//brave/components/cosmetic_filters/browser",
"//brave/components/cosmetic_filters/common:mojom",
"//brave/components/de_amp/browser",
"//brave/components/de_amp/common",
"//brave/components/debounce/content/browser",
"//brave/components/email_aliases/buildflags",
"//brave/components/global_privacy_control",
"//brave/components/google_sign_in_permission",
"//brave/components/https_upgrade_exceptions/browser",
"//brave/components/ipfs",
"//brave/components/ipfs/buildflags",
"//brave/components/l10n/common",
"//brave/components/local_ai/core",
"//brave/components/local_ai/core:features",
"//brave/components/local_ai/core:mojom",
"//brave/components/ntp_background_images/browser",
"//brave/components/ntp_background_images/buildflags",
"//brave/components/ntp_background_images/common",
"//brave/components/ntp_tiles",
"//brave/components/p3a",
"//brave/components/p3a_utils",
"//brave/components/password_strength_meter:mojom",
"//brave/components/playlist/core/common/buildflags",
"//brave/components/privacy_sandbox",
"//brave/components/query_filter/browser",
"//brave/components/query_filter/common",
"//brave/components/request_otr/common/buildflags",
"//brave/components/resources",
"//brave/components/serp_metrics",
"//brave/components/serp_metrics:features",
"//brave/components/serp_metrics:prefs",
"//brave/components/skus/browser",
"//brave/components/skus/common",
"//brave/components/skus/common:mojom",
"//brave/components/speech_to_text",
"//brave/components/speech_to_text:buildflags",
"//brave/components/speedreader/common/buildflags",
"//brave/components/tor/buildflags",
"//brave/components/v8/buildflags",
"//brave/components/version_info",
"//brave/components/web_discovery/buildflags",
"//brave/components/webcompat/content/browser",
"//brave/components/webcompat/core/common",
"//brave/extensions:common",
"//brave/services/network/public/cpp",
"//brave/third_party/blink/renderer",
"//chrome/browser:browser_process",
"//chrome/browser/profiles:profile",
"//chrome/browser/ui",
"//chrome/common",
"//chrome/common:channel_info",
"//chrome/utility",
"//components/account_id",
"//components/autofill/core/common",
"//components/browsing_data/core",
"//components/content_settings/browser",
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/embedder_support",
"//components/feed/core/shared_prefs:feed_shared_prefs",
"//components/gcm_driver:gcm_buildflags",
"//components/metrics",
"//components/ntp_tiles",
"//components/ntp_tiles:pref_names",
"//components/omnibox/browser",
"//components/password_manager/core/common",
"//components/permissions",
"//components/policy/core/common:common_constants",
"//components/pref_registry",
"//components/prefs",
"//components/privacy_sandbox:privacy_sandbox_prefs",
"//components/safe_browsing/core/common:safe_browsing_prefs",
"//components/search_engines",
"//components/services/heap_profiling/public/mojom",
"//components/signin/public/base",
"//components/sync/base",
"//components/sync/service",
"//components/translate/core/browser:translate_pref_names",
"//components/version_info",
"//components/version_info:channel",
"//content/public/browser",
"//content/public/common",
"//extensions/buildflags",
"//mojo/public/cpp/bindings",
"//net",
"//services/metrics/public/cpp:metrics_cpp",
"//services/network/public/cpp",
"//third_party/abseil-cpp:absl",
"//third_party/blink/public/mojom:mojom_platform_headers",
"//third_party/widevine/cdm:buildflags",
"//ui/base",
"//url",
]
if (enable_brave_rewards) {
brave_chrome_browser_deps += [
"//brave/browser/brave_rewards:brave_rewards_impl",
"//brave/browser/brave_rewards:util",
]
}
if (enable_psst) {
brave_chrome_browser_deps += [
"//brave/browser/psst",
"//brave/browser/ui/webui/psst",
"//brave/components/psst/browser/content",
"//brave/components/psst/browser/core",
"//brave/components/psst/common",
]
}
if (enable_brave_ads) {
brave_chrome_browser_deps += [
"//brave/browser/brave_ads",
"//brave/browser/brave_ads:impl",
"//brave/browser/brave_ads/creatives/search_result_ad",
"//brave/browser/brave_ads/tabs",
"//brave/browser/notifications",
"//brave/browser/ui/webui/ads_internals",
"//brave/components/brave_ads/browser",
"//brave/components/brave_ads/core",
]
}
if (enable_brave_wallet) {
brave_chrome_browser_deps += [
"//brave/browser/brave_wallet",
"//brave/browser/brave_wallet:brave_wallet_delegate",
"//brave/browser/brave_wallet:tab_helper",
"//brave/browser/ui/webui/brave_wallet/wallet_page",
"//brave/components/brave_wallet/browser",
"//brave/components/brave_wallet/browser:pref_names",
"//brave/components/brave_wallet/browser:utils",
"//brave/components/brave_wallet/common",
"//brave/components/brave_wallet/common:mojom",
"//brave/components/decentralized_dns/content",
"//brave/components/decentralized_dns/core",
]
if (!is_android) {
brave_chrome_browser_deps += [
"//brave/browser/brave_wallet/notifications",
"//brave/browser/ui/webui/brave_wallet/wallet_panel",
]
}
}
if (enable_email_aliases) {
brave_chrome_browser_deps += [
"//brave/browser/email_aliases",
"//brave/browser/ui/webui/email_aliases",
"//brave/components/email_aliases:features",
"//brave/components/email_aliases:mojom",
"//brave/components/email_aliases:pref_names",
"//brave/components/email_aliases:service",
]
}
if (!is_android) {
# BraveHidDelegate inherits from ChromeHidDelegate, and referenced by
# BraveContentBrowserClient, so we put into the same source_set.
brave_chrome_browser_sources += [
"//brave/browser/hid/brave_hid_delegate.cc",
"//brave/browser/hid/brave_hid_delegate.h",
]
brave_chrome_browser_deps += [
"//brave/components/brave_wallet/common/buildflags",
"//chrome/browser/hid",
"//chrome/browser/ui/hid",
"//services/device/public/cpp/hid",
]
if (enable_brave_wallet) {
brave_chrome_browser_deps +=
[ "//brave/browser/brave_wallet:brave_wallet_hid_chooser" ]
}
}
if (!is_android) {
# Already included on android by upstream
# Including v2 back into brave build as we make use of `feed::FetchRssLinks` in `brave_news_tab_helper.cc`.
brave_chrome_browser_sources += [
"feed/feed_service_factory.cc",
"feed/feed_service_factory.h",
"feed/rss_links_fetcher.cc",
"feed/rss_links_fetcher.h",
"feed/web_feed_page_information_fetcher.cc",
"feed/web_feed_page_information_fetcher.h",
"feed/web_feed_tab_helper.cc",
"feed/web_feed_tab_helper.h",
"feed/web_feed_ui_util.cc",
"feed/web_feed_ui_util.h",
"feed/web_feed_util.cc",
"feed/web_feed_util.h",
]
brave_chrome_browser_deps += [
"//brave/browser/ui/split_view",
"//brave/browser/ui/tabs:impl",
"//brave/browser/ui/webui/brave_new_tab_page_refresh",
"//brave/browser/ui/webui/brave_new_tab_page_refresh:mojom",
"//brave/browser/ui/webui/brave_welcome_page",
"//brave/browser/workspaces",
"//brave/browser/workspaces:impl",
"//brave/ui/webui/brave_color_change_listener",
"//chrome/browser/regional_capabilities",
"//chrome/browser/ui/thumbnails",
"//components/feed:feature_list",
"//components/feed/core/v2:feed_core_v2",
"//components/feed/mojom:mojo_bindings",
"//components/regional_capabilities",
]
if (enable_brave_news) {
brave_chrome_browser_deps +=
[ "//brave/browser/ui/webui/brave_news_internals" ]
}
}
if (enable_brave_education) {
brave_chrome_browser_deps += [ "//brave/browser/ui/webui/brave_education" ]
}
if (is_brave_origin_branded) {
brave_chrome_browser_deps += [
"//brave/browser/ui/views/brave_origin",
"//brave/browser/ui/webui/brave_origin_startup",
]
}
if (enable_ai_chat) {
brave_chrome_browser_deps += [
"//brave/browser/ai_chat",
"//brave/browser/ai_chat/ollama",
"//brave/browser/ui/webui/ai_chat",
"//brave/components/ai_chat/content/browser",
"//brave/components/ai_chat/core/browser",
"//brave/components/ai_chat/core/common",
]
if (!is_android) {
brave_chrome_browser_deps += [ "//brave/browser/ui/ai_chat" ]
}
}
if (enable_ai_chat && is_android) {
brave_chrome_browser_sources += brave_browser_ai_chat_android_sources
brave_chrome_browser_deps += brave_browser_ai_chat_android_deps
}
if (enable_containers) {
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/containers" ]
brave_chrome_browser_deps += [
"//brave/browser/containers",
"//brave/components/containers/content/browser",
"//brave/components/containers/content/browser:tab_restore",
"//brave/components/containers/core/browser",
"//brave/components/containers/core/common",
]
}
if (enable_brave_talk) {
brave_chrome_browser_deps += [ "//brave/components/brave_talk" ]
}
if (enable_commander) {
brave_chrome_browser_deps += [
"//brave/components/commander/browser",
"//brave/components/commands/browser",
"//brave/components/commands/common",
]
}
if (is_mac) {
brave_chrome_browser_sources += [
"//brave/browser/brave_app_controller_mac.h",
"//brave/browser/brave_app_controller_mac.mm",
"//brave/browser/brave_browser_main_parts_mac.h",
"//brave/browser/brave_browser_main_parts_mac.mm",
"//brave/browser/brave_shell_integration_mac.h",
"//brave/browser/brave_shell_integration_mac.mm",
"//brave/browser/mac/keystone_glue.h",
"//brave/browser/mac/keystone_glue.mm",
"//brave/browser/mac/keystone_registration.h",
"//brave/browser/mac/keystone_registration.mm",
]
brave_chrome_browser_deps += [
"//brave/app:command_ids",
"//brave/browser:sparkle_buildflags",
"//brave/browser/updater:buildflags",
"//chrome:strings",
"//chrome/app:generated_resources",
"//chrome/common:non_code_constants",
]
brave_chrome_framework_contents = []
}
if (enable_sparkle) {
brave_chrome_browser_sources += [
"//brave/browser/mac/sparkle_glue.h",
"//brave/browser/mac/sparkle_glue.mm",
"//brave/browser/mac/su_updater.h",
]
brave_chrome_framework_contents += [ "Frameworks" ]
}
if (enable_omaha4) {
brave_chrome_browser_sources += [
"//brave/browser/brave_browser_main_extra_parts_p3a.cc",
"//brave/browser/brave_browser_main_extra_parts_p3a.h",
]
brave_chrome_browser_deps += [
"//brave/browser/updater:features",
"//brave/browser/updater:p3a",
]
}
if (enable_speedreader) {
brave_chrome_browser_deps += [
"//brave/browser/speedreader",
"//brave/browser/ui/speedreader",
]
}
if (enable_request_otr) {
brave_chrome_browser_deps += [ "//brave/components/request_otr/common" ]
}
if (enable_web_discovery_native) {
brave_chrome_browser_deps += [
"//brave/browser/web_discovery",
"//brave/components/web_discovery/browser",
"//brave/components/web_discovery/common",
]
}
if (enable_brave_vpn) {
brave_chrome_browser_deps += [
"//brave/components/brave_vpn/browser",
"//brave/components/brave_vpn/browser/connection",
"//brave/components/brave_vpn/browser/connection:api",
"//brave/components/brave_vpn/common",
]
}
if (enable_brave_vpn2_deps) {
brave_chrome_browser_deps += [ "//brave/third_party/boringtun" ]
}
if (is_android) {
brave_chrome_browser_sources += [
"//brave/browser/android/brave_init_android.cc",
"//brave/browser/password_manager/android/password_ui_view_android.cc",
"//brave/browser/password_manager/android/password_ui_view_android.h",
"//brave/browser/sync/brave_sync_devices_android.cc",
"//brave/browser/sync/brave_sync_devices_android.h",
"//chrome/browser/bookmarks/bookmark_html_writer.cc",
"//chrome/browser/bookmarks/bookmark_html_writer.h",
"//chrome/browser/importer/profile_writer.cc",
"//chrome/browser/importer/profile_writer.h",
]
brave_chrome_browser_sources += brave_browser_brave_account_android_sources
brave_chrome_browser_sources += brave_browser_misc_metrics_android_sources
brave_chrome_browser_deps += brave_browser_brave_account_android_deps
if (enable_brave_rewards) {
brave_chrome_browser_sources += brave_browser_brave_rewards_android_sources
brave_chrome_browser_deps += brave_browser_brave_rewards_android_deps
}
if (enable_brave_wallet) {
brave_chrome_browser_sources += brave_browser_brave_wallet_android_sources
brave_chrome_browser_deps += brave_browser_brave_wallet_android_deps
}
brave_chrome_browser_deps += [
"//brave/browser/android:android_browser_process",
"//brave/browser/android:tabs_impl",
"//brave/browser/android/preferences",
"//brave/browser/android/safe_browsing:buildflags",
"//brave/browser/android/youtube_script_injector",
"//brave/browser/android/youtube_script_injector:features",
"//brave/browser/download/android:jni_headers",
"//brave/browser/ntp_background/android",
"//brave/browser/password_entry_edit/android",
"//brave/browser/ui/webui/new_tab_takeover/android:new_tab_takeover",
"//brave/build/android:jni_headers",
"//brave/components/brave_sync:sync_service_impl_helper",
"//chrome/android:jni_headers",
"//chrome/browser/password_manager/android:jni_headers",
"//components/password_manager/core/browser/import:importer",
"//components/sync_device_info",
]
if (enable_brave_ads) {
brave_chrome_browser_deps += [ "//brave/browser/brave_ads/android" ]
}
} else {
brave_chrome_browser_sources += [
"//brave/browser/p3a/p3a_core_metrics.cc",
"//brave/browser/p3a/p3a_core_metrics.h",
"//brave/browser/profile_resetter/brave_profile_resetter.cc",
"//brave/browser/profile_resetter/brave_profile_resetter.h",
]
brave_chrome_browser_deps += [
"//brave/app:brave_generated_resources_grit",
"//brave/browser/importer",
"//brave/components/brave_search_conversion",
"//brave/components/time_period_storage",
"//components/infobars/content",
]
if (enable_brave_ads) {
brave_chrome_browser_deps += [ "//brave/browser/brave_ads/tooltips" ]
}
}
if (toolkit_views) {
brave_chrome_browser_sources += brave_browser_onboarding_sources
brave_chrome_browser_deps += brave_browser_onboarding_deps
brave_chrome_browser_deps += [
"//brave/browser/ui/darker_theme",
"//brave/components/sidebar/browser",
]
}
if (enable_extensions) {
brave_chrome_browser_deps += [
"//brave/browser/extensions",
"//chrome/browser/extensions",
"//extensions/browser",
"//extensions/common:common_constants",
]
}
if (enable_brave_wayback_machine) {
brave_chrome_browser_deps += [ "//brave/components/brave_wayback_machine" ]
}
if (enable_tor) {
brave_chrome_browser_deps += [
"//brave/browser/tor",
"//brave/browser/tor:impl",
"//brave/components/tor",
"//brave/components/tor:common",
"//brave/components/tor:pref_names",
]
}
if (enable_widevine) {
brave_chrome_browser_sources += [
"//brave/browser/brave_drm_tab_helper.cc",
"//brave/browser/brave_drm_tab_helper.h",
]
brave_chrome_browser_deps += [
"//brave/browser/widevine",
"//brave/components/brave_drm",
"//brave/components/widevine:constants",
]
}
if (is_win) {
brave_chrome_browser_sources += [
"//brave/browser/brave_shell_integration_win.cc",
"//brave/browser/brave_shell_integration_win.h",
"//brave/browser/default_protocol_handler_utils_win.cc",
"//brave/browser/default_protocol_handler_utils_win.h",
]
brave_chrome_browser_deps += [
"//brave/components/windows_recall",
"//chrome/install_static:install_static_util",
"//chrome/installer/util:with_no_strings",
]
}
if (is_win || is_android) {
brave_chrome_browser_sources += [
"//brave/browser/day_zero_browser_ui_expt/day_zero_browser_ui_expt_manager.cc",
"//brave/browser/day_zero_browser_ui_expt/day_zero_browser_ui_expt_manager.h",
"//brave/browser/day_zero_browser_ui_expt/pref_names.h",
]
}
if (is_win && is_official_build) {
brave_chrome_browser_sources += [
"//chrome/browser/google/google_update_win.cc",
"//chrome/browser/google/google_update_win.h",
"//chrome/browser/google/switches.cc",
"//chrome/browser/google/switches.h",
]
}
brave_chrome_browser_public_deps = [
"//brave/app/vector_icons",
"//brave/browser:browser_process",
"//brave/browser/resources/bookmark_icon:bookmark_icon_resources",
"//brave/common/importer:interfaces",
"//brave/components/brave_sync:constants",
"//brave/components/psst/buildflags",
"//brave/components/v8/buildflags",
"//brave/components/variations",
]
if (is_mac) {
brave_chrome_framework_public_deps = [ "//brave:framework_bundle_data" ]
brave_chrome_framework_bundle_deps = [ "//brave:framework_bundle_data" ]
}
brave_chrome_browser_sources += brave_browser_profiles_sources
brave_chrome_browser_sources += brave_browser_autocomplete_sources
brave_chrome_browser_sources += brave_browser_brave_news_sources
brave_chrome_browser_sources += brave_browser_brave_referrals_sources
brave_chrome_browser_sources += brave_browser_brave_vpn_sources
brave_chrome_browser_sources += brave_browser_browsing_data_sources
brave_chrome_browser_sources += brave_browser_cosmetic_filters_sources
brave_chrome_browser_sources += brave_browser_debounce_sources
brave_chrome_browser_sources += brave_browser_ephemeral_storage_sources
brave_chrome_browser_sources += brave_browser_gcm_driver_sources
brave_chrome_browser_sources += brave_browser_infobar_sources
brave_chrome_browser_sources += brave_browser_misc_metrics_sources
brave_chrome_browser_sources += brave_browser_net_sources
brave_chrome_browser_sources += brave_browser_new_tab_sources
brave_chrome_browser_sources += brave_browser_perf_sources
brave_chrome_browser_sources += brave_browser_permissions_sources
brave_chrome_browser_sources += brave_browser_renderer_context_menu_sources
brave_chrome_browser_sources += brave_browser_request_otr_sources
brave_chrome_browser_sources += brave_browser_search_engines_sources
brave_chrome_browser_sources += brave_browser_sync_sources
brave_chrome_browser_sources += brave_browser_themes_sources
brave_chrome_browser_sources += brave_browser_url_sanitizer_sources
brave_chrome_browser_sources += brave_browser_web_discovery_sources
brave_chrome_browser_sources += brave_browser_webcompat_reporter_sources
brave_chrome_browser_deps += brave_browser_autocomplete_deps
brave_chrome_browser_deps += brave_browser_brave_news_deps
brave_chrome_browser_deps += brave_browser_brave_referrals_deps
brave_chrome_browser_deps += brave_browser_brave_vpn_deps
brave_chrome_browser_deps += brave_browser_browsing_data_deps
brave_chrome_browser_deps += brave_browser_cosmetic_filters_deps
brave_chrome_browser_deps += brave_browser_debounce_deps
brave_chrome_browser_deps += brave_browser_ephemeral_storage_deps
brave_chrome_browser_deps += brave_browser_gcm_driver_deps
brave_chrome_browser_deps += brave_browser_infobar_deps
brave_chrome_browser_deps += brave_browser_misc_metrics_deps
brave_chrome_browser_deps += brave_browser_net_deps
brave_chrome_browser_deps += brave_browser_new_tab_deps
brave_chrome_browser_deps += brave_browser_perf_deps
brave_chrome_browser_deps += brave_browser_permissions_deps
brave_chrome_browser_deps += brave_browser_renderer_context_menu_deps
brave_chrome_browser_deps += brave_browser_request_otr_deps
brave_chrome_browser_deps += brave_browser_search_engines_deps
brave_chrome_browser_deps += brave_browser_sync_deps
brave_chrome_browser_deps += brave_browser_themes_deps
brave_chrome_browser_deps += brave_browser_url_sanitizer_deps
brave_chrome_browser_deps += brave_browser_web_discovery_deps
brave_chrome_browser_deps += brave_browser_webcompat_reporter_deps
brave_chrome_browser_deps += brave_chromium_src_chrome_browser_deps
brave_chrome_browser_deps += brave_chromium_src_chrome_browser_prefs_deps
brave_chrome_browser_ui_allow_circular_includes_from = [ "//brave/browser/ui" ]
brave_chrome_browser_ui_allow_circular_includes_from +=
brave_ui_allow_circular_includes_from
brave_chrome_browser_allow_circular_includes_from += [
"//brave/browser/brave_shields:brave_shields_impl",
"//brave/browser/history_embeddings",
"//brave/browser/ui",
"//brave/browser/brave_stats",
"//brave/browser/ntp_background",
"//brave/browser/serp_metrics:impl",
"//brave/browser:brave_global_features_impl",
]
if (enable_ai_chat) {
# TODO(https://github.com/brave/brave-browser/issues/50507):
# Remove this once webui/ai_chat does not depend on chrome/browser.
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/ui/webui/ai_chat" ]
}
if (enable_playlist) {
brave_chrome_browser_sources += brave_browser_playlist_sources
brave_chrome_browser_deps += brave_browser_playlist_deps
}
if (enable_brave_ai_chat_agent_profile) {
brave_chrome_browser_deps +=
[ "//brave/browser/ai_chat:ai_chat_agent_profile_impl" ]
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/ai_chat:ai_chat_agent_profile_impl" ]
}
if (enable_brave_ads) {
brave_chrome_browser_allow_circular_includes_from += [
"//brave/browser/brave_ads:impl",
"//brave/browser/brave_ads/creatives/search_result_ad",
]
}
# `rewards_service_factory.cc` includes `chrome/browser/policy/
# profile_policy_connector.h`, which lives in the `//chrome/browser:browser`
# monolith. Since `:browser` already depends on `:brave_rewards_impl` (added
# above), the include can only resolve via a circular-include allowance.
# Drop this entry once the header is componentized upstream
# (crbug.com/353332589).
if (enable_brave_rewards) {
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/brave_rewards:brave_rewards_impl" ]
}
if (toolkit_views) {
brave_chrome_browser_deps += [
"//brave/browser/ui/sidebar:sidebar_impl",
"//brave/browser/ui/views/location_bar",
"//brave/browser/ui/views/page_info",
]
brave_chrome_browser_allow_circular_includes_from += [
"//brave/browser/ui/sidebar:sidebar_impl",
"//brave/browser/ui/views/location_bar",
]
}
# https://github.com/brave/brave-browser/issues/41418
if (enable_extensions) {
brave_chrome_browser_deps +=
[ "//brave/browser/extensions:brave_prefs_util_impl" ]
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/extensions:brave_prefs_util_impl" ]
}
if (enable_ai_chat && enable_print_preview) {
brave_chrome_browser_deps += [
"//brave/browser/ai_chat:print_preview_extractor",
"//brave/browser/ai_chat:print_preview_extractor_internal",
]
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/ai_chat:print_preview_extractor_internal" ]
}
# https://github.com/brave/brave-browser/issues/41464
if (enable_tor) {
brave_chrome_browser_deps += [ "//brave/browser/tor:util" ]
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/tor:util" ]
}
# https://github.com/brave/brave-browser/issues/10644
if (enable_widevine) {
brave_chrome_browser_deps += [ "//brave/browser/widevine" ]
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/widevine" ]
}
# https://github.com/brave/brave-browser/issues/41486
if (is_android) {
brave_chrome_browser_allow_circular_includes_from += [
"//brave/browser/android:android_browser_process",
"//brave/browser/android:tabs_impl",
"//brave/browser/android/preferences",
"//brave/browser/notifications",
]
}
# TODO(https://github.com/brave/brave-browser/issues/43310):
# brave_new_tab_page_ui.cc includes some headers (e.g. from
# //brave/browser/new_tab) that are currently in the //chrome/browser target.
if (!is_android) {
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/ui/webui/brave_new_tab_page_refresh" ]
}
if (is_mac) {
brave_chrome_browser_deps += [ "//brave/browser/upgrade_when_idle" ]
brave_chrome_browser_allow_circular_includes_from +=
[ "//brave/browser/upgrade_when_idle" ]
}
# Deps for chrome/browser/prefs:impl
brave_chrome_browser_prefs_impl_deps = [
"//brave/components/brave_ads/buildflags",
"//brave/components/brave_news/common/buildflags",
"//brave/components/brave_wallet/common/buildflags",
]
if (enable_brave_ads) {
brave_chrome_browser_prefs_impl_deps +=
[ "//brave/components/brave_ads/core/public:headers" ]
}
if (enable_brave_news) {
brave_chrome_browser_prefs_impl_deps += [
"//brave/components/brave_news/browser",
"//brave/components/brave_news/common",
]
}
if (enable_brave_wallet) {
brave_chrome_browser_prefs_impl_deps += [
"//brave/components/brave_wallet/browser",
"//brave/components/decentralized_dns/core",
]
}
if (deprecate_ipfs) {
brave_chrome_browser_prefs_impl_deps += [ "//brave/components/ipfs" ]
}