Files
Serg 0c513a33ea Decouple PolicyService::Observer from AdsServiceImpl (#36437)
* Decouple PolicyService::Observer from AdsServiceImpl

Move the "defer ads service start until policy is initialized" pattern out
of `AdsServiceImpl` into a reusable `brave_policy::PolicyInitializationWaiter`
helper. `AdsServiceImpl` no longer inherits from `policy::PolicyService::Observer`
or takes a `policy::PolicyService*` in its constructor; `AdsServiceFactory`
builds the waiter from the profile policy connector and injects it.

Also drops the temporary `[AdsGate]` verbose logging that was added with the
original race fix; behaviour is now covered by unit tests.

The new helper lives at `brave/components/brave_policy/policy_initialization_waiter.{h,cc}`
and is reusable by any service that needs to defer initialization until
`PolicyService` has merged its policy bundle into the managed pref store.

Resolves: https://github.com/brave/brave-browser/issues/55266
2026-05-15 17:41:37 -04:00

146 lines
5.6 KiB
Python

from brave_chromium_utils import inline_file
inline_file("//chrome/DEPS", globals(), locals())
chrome_browser_deps = {}
inline_file("//chrome/browser/DEPS", {}, chrome_browser_deps)
include_rules += chrome_browser_deps["include_rules"]
include_rules += [
"+brave/grit",
"+brave/app",
"!brave/build/android",
"+brave/common",
"+brave/services/network/public",
"+brave/test/base",
"+brave/ui",
"!brave/third_party/blink/renderer/brave_farbling_constants.h",
"+brave/net",
"+brave/components/constants",
"+chrome/browser",
"+content/test",
"+brave/components/p3a",
"+brave/components/p3a_utils",
"+brave/components/ai_chat/content/browser",
"+brave/components/ai_chat/core/common",
"+brave/components/ai_chat/core/browser",
"+brave/components/brave_account",
"+brave/components/brave_ads/browser",
"+brave/components/brave_ads/buildflags",
"+brave/components/brave_ads/core/public",
"+brave/components/brave_component_updater/browser/brave_on_demand_updater.h",
"+brave/components/brave_component_updater/browser/features.h",
"+brave/components/brave_component_updater/browser/switches.h",
"+brave/components/brave_education",
"+brave/components/brave_news/browser",
"+brave/components/brave_news/common",
"+brave/components/brave_origin",
"+brave/components/brave_policy",
"+brave/components/brave_rewards/content",
"+brave/components/brave_rewards/core",
"+brave/components/brave_shields/content/browser",
"+brave/components/brave_shields/core/common",
"+brave/components/brave_shields/core/browser",
"+brave/components/brave_wallet/browser",
"+brave/components/brave_wallet/common",
"+brave/components/containers/buildflags",
"+brave/components/containers/content/browser",
"+brave/components/containers/core/browser",
"+brave/components/containers/core/common",
"+brave/components/containers/core/mojom",
"+brave/components/de_amp/common",
"+brave/components/de_amp/browser",
"+brave/components/debounce/content/browser",
"+brave/components/debounce/core/browser",
"+brave/components/debounce/core/common",
"+brave/components/email_aliases",
"+brave/components/email_aliases/browser",
"+brave/components/global_privacy_control",
"+brave/components/google_sign_in_permission",
"+brave/components/local_ai/content",
"+brave/components/local_ai/core",
"+brave/components/ntp_background_images/browser",
"+brave/components/ntp_background_images/common",
"+brave/components/ntp_background_images/buildflags",
"+brave/components/password_strength_meter",
"+brave/components/playlist/content/browser",
"+brave/components/playlist/core/browser",
"+brave/components/playlist/core/common",
"+brave/components/psst/browser/content",
"+brave/components/psst/common",
"+brave/components/psst/buildflags",
"+brave/components/query_filter",
"+brave/components/script_injector/common/mojom",
"+brave/components/skus/browser",
"+brave/components/skus/common",
"+brave/components/speedreader",
"-brave/components/speedreader/renderer",
"+brave/components/web_discovery/browser",
"+brave/components/web_discovery/buildflags",
"+brave/components/web_discovery/common",
"+brave/components/webcompat/content/browser",
"+brave/components/webcompat/core/common",
"+brave/components/brave_vpn/browser",
"+brave/components/brave_vpn/common",
"+brave/components/request_otr/browser",
"+brave/components/request_otr/common",
"+brave/components/commander/common",
"+brave/components/commands/common",
"+brave/components/brave_sync",
"+brave/components/brave_talk",
"+brave/components/ipfs",
"+brave/components/serp_metrics",
"+brave/components/tor",
"-brave/components/tor/renderer",
"+brave/components/brave_referrals/browser",
"+brave/components/https_upgrade_exceptions/browser",
"+brave/components/brave_user_agent/browser",
"+brave/components/localhost_permission",
"+brave/components/url_sanitizer/core/browser",
"+brave/components/body_sniffer",
"+brave/components/brave_search/browser",
"+brave/components/brave_search/common",
"+brave/components/cosmetic_filters/browser",
"+brave/components/cosmetic_filters/common",
"+brave/components/decentralized_dns/content",
"+brave/components/decentralized_dns/core",
"+brave/components/services/bat_ads/public",
"+brave/components/translate/core/common",
"+brave/components/brave_new_tab_ui",
"+brave/components/brave_private_new_tab_ui/common",
"+brave/components/widevine/constants.h",
"+brave/components/brave_drm",
"+brave/components/brave_search_conversion",
"+brave/components/misc_metrics",
"+brave/components/brave_wayback_machine",
"+brave/components/brave_adaptive_captcha",
"+brave/components/brave_perf_predictor/browser",
"+brave/components/omnibox/browser",
"+brave/components/search_engines",
"+brave/components/webcompat_reporter/common",
"+brave/components/sidebar/browser",
"+brave/components/v8/buildflags",
"+brave/components/windows_recall",
]
specific_include_rules = {
"brave_browser_main_parts\.h": [
"+src/chrome/browser/chrome_browser_main.h",
],
"brave_local_state_prefs\.cc": [
"!brave/components/l10n/common/prefs.h",
],
"brave_vpn_native_worker\.cc": [
"!brave/components/l10n/common/locale_util.h",
"!brave/components/l10n/common/ofac_sanction_util.h",
],
"brave_browser_process_impl\.cc": [
"+brave/components/brave_component_updater/browser/brave_component_updater_delegate.h",
"+brave/components/brave_component_updater/browser/local_data_files_service.h",
"+brave/components/brave_stats/browser/brave_stats_updater_util.h",
],
"brave_browser_process_impl\.h": [
"+brave/components/brave_component_updater/browser/brave_component.h",
],
}