include_rules = [
# Restricting uses of Chrome*Activity in favor of direct dependency aquisition. Code that lives
# under java/src/.../chrome/browser has a seperate exception under that same directory.
# Exceptions can be found under "specific_include_rules"below. Valid Chrome*Activity dependents
# should add an allow rule to a DEPS file in the relevant directory.
"-chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"-chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
"-chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity2.java",
# Allow dependencies on chrome/browser modules
"+chrome/browser",
# Restrict dependencies to xsurface by default (crbug.com/1115137)
"-chrome/browser/xsurface",
"+cc/input/android/java",
"+components/browser_ui/accessibility/android",
"+components/browser_ui/banners/android",
"+components/browser_ui/bottomsheet/android",
"+components/browser_ui/contacts_picker/android",
"+components/browser_ui/display_cutout/android",
"+components/browser_ui/media/android",
"+components/browser_ui/modaldialog/android",
"+components/browser_ui/photo_picker/android",
"+components/browser_ui/share/android",
"+components/browser_ui/site_settings/android",
"+components/browser_ui/styles/android",
"+components/browser_ui/util/android",
"+components/browser_ui/webshare/android",
"+components/browser_ui/widget/android",
"+components/browsing_data/content/android/java",
"+components/commerce/core",
"+components/content_capture",
"+components/content_settings",
"+components/download",
"+components/embedder_support/android",
"+components/external_intents/android",
"+components/externalauth/android",
"+components/favicon/android",
"+components/favicon_base",
"+components/find_in_page/android",
"+components/infobars/android",
"+components/installedapp/android",
"+components/invalidation",
"+components/javascript_dialogs/android",
"+components/media_router/browser/android",
"+components/messages/android",
"+components/metrics",
"+components/page_info/android/java",
"+components/permissions/android/nfc",
"+components/policy",
"+components/prefs/android",
"+components/privacy_sandbox/android",
"+components/query_tiles",
"+components/safe_browsing/android/java",
"+components/security_interstitials/content/android",
"+components/signin/public/android",
"+components/site_engagement/content/android",
"+components/spellcheck/browser",
"+components/strictmode/android",
"+components/subresource_filter/android",
"+components/supervised_user/android",
"+components/translate/content/android",
"+components/user_prefs/android",
"+components/version_info/android",
"+components/viz/common/java",
"+components/webapk/android",
"+components/webapps/browser/android/java",
"+components/webrtc/android",
"+jni",
"+media/base/android/java",
"+services/device/public",
"+services/media_session/public",
]
specific_include_rules = {
# Allow dependencies to xsurface from AppHooks only (crbug.com/1115137)
"chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java": [
"+chrome/browser/xsurface/android",
],
# Tests and test-oriented classes are allowed to rely on ChromeActivity for DEPS. When committing
# a file that doesn't conform to these patterns, add an allow rule to the DEPS file to the
# testing directory.
".*Test\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
],
".*TestRule\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
],
".*TestUtils\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
],
# Exceptions to the Chrome*Activity dependency restriction. These will all eventually be removed
# new code should rely on acceptable dependency aquisition patterns.
"ContextualNotificationPermissionRequesterImpl\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
"ManualFillingMediator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrShellDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
# Exceptions to the Chrome*Activity dependency restriction. These will all eventually be removed
# new code should rely on acceptable dependency aquisition patterns.
"TabGroupUtils\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
"TabGroupUiCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
"TabSwitcherCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
"VrDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
"VrShell\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
"VrShellDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java"
],
}