include_rules = [
# ChromeOS should not depend on //chrome. See //docs/chromeos/code.md for
# details.
"-chrome",
# This directory is in //chrome, which violates the rule above. Allow this
# directory to #include its own files.
"+chrome/browser/ash/input_method",
# Existing dependencies within //chrome. There is an active effort to
# refactor //chrome/browser/ash to break these dependencies; see b/332804822.
# Whenever possible, avoid adding new //chrome dependencies to this list.
#
# Files residing in certain directories (e.g., //chrome/browser) are listed
# individually. Other dependencies within //chrome are listed on a per-
# directory basis. See //tools/chromeos/gen_deps.sh for details.
"+chrome/browser/ash/crosapi",
"+chrome/browser/ash/file_manager",
"+chrome/browser/ash/login/demo_mode",
"+chrome/browser/ash/login/session",
"+chrome/browser/ash/magic_boost/magic_boost_controller_ash.h",
"+chrome/browser/ash/profiles",
"+chrome/browser/browser_process.h",
"+chrome/browser/browser_process_platform_part_ash.h",
"+chrome/browser/extensions/component_loader.h",
"+chrome/browser/extensions/extension_service.h",
"+chrome/browser/feedback",
"+chrome/browser/lifetime",
"+chrome/browser/manta",
"+chrome/browser/metrics",
"+chrome/browser/policy",
"+chrome/browser/profiles",
"+chrome/browser/signin",
"+chrome/browser/ui/ash/input_method",
"+chrome/browser/ui/ash/keyboard",
"+chrome/browser/ui/aura/accessibility",
"+chrome/browser/ui/browser_finder.h",
"+chrome/browser/ui/browser_window.h",
"+chrome/browser/ui/browser.h",
"+chrome/browser/ui/settings_window_manager_chromeos.h",
"+chrome/browser/ui/webui/ash/mako",
"+chrome/browser/ui/webui/ash/settings/search",
"+chrome/browser/web_applications/web_app_id_constants.h",
"+chrome/common/channel_info.h",
"+chrome/common/chrome_features.h",
"+chrome/common/chrome_paths.h",
"+chrome/common/extensions",
"+chrome/common/pref_names.h",
"+chrome/grit",
# Dependencies outside of //chrome:
"-content",
]
specific_include_rules = {
# The configuration layer.
"(input_method_delegate_impl|input_method_persistence|browser_state_monitor)"
"\.(h|cc)": [
"+chrome/common",
"+chrome/browser",
"+chrome/test",
"+content/public",
],
# For testing.
".*(_browsertest|_browsertests|_unittest|_test_helper)\.(h|cc)": [
"+chrome/common",
"+chrome/browser",
"+chrome/test",
"+content/public",
"+mojo/core/embedder/embedder.h",
],
"xkeyboard_unittest\.cc": [
"!content/public/test/test_browser_thread.h",
],
# TODO: This should not be an allowed dep; see
# http://crbug.com/1148093 and
# http://b/173144152.
"tts_handler\.h": [
"!content/public/browser/tts_controller.h",
],
# TODO: input method owners should audit this block.
"(input|ime|editor).*\.(h|cc)": [
"+content/public/browser",
],
}