blob: 6eee23d9dd6c43a38eedde6bd72fe705be15c323 [file] [log] [blame]
include_rules = [
"+device/base/features.h",
"+device/bluetooth",
"+cc/debug",
"+cc/output",
"+cc/paint",
"+chromeos/cryptohome",
"+components/account_id",
"+components/discardable_memory/public",
"+components/discardable_memory/service/discardable_shared_memory_manager.h",
"+components/exo",
"+components/pref_registry",
"+components/prefs",
"+components/quirks",
"+components/session_manager",
"+components/strings",
"+components/sync",
"+components/ui_devtools",
"+components/user_manager",
"+components/vector_icons",
"+components/viz/common",
"+components/viz/host",
"+components/wallpaper",
"+extensions/common/constants.h",
"+gpu/config",
"+media",
"+mojo/public",
"+services/catalog/public",
"+services/content/public",
"+services/media_session/public",
"+services/preferences/public",
"+services/service_manager/public",
"+services/viz/public",
"+services/ws",
"+skia/ext",
"+third_party/cros_system_api",
"+third_party/icu",
"+third_party/khronos/GLES2",
"+third_party/re2",
"+third_party/skia",
"+net",
"+ui",
"-ash/host",
# Ash components are mini-apps and in general ash should not depend on them.
# If ash needs to launch a mini-app it can add a deps exception just for the
# header required to launch the app.
"-ash/components",
# Ash can talk to public interfaces for mini-apps.
"+ash/components/quick_launch/public",
"+ash/components/tap_visualizer/public",
# Ash sits above content. Exceptions live in //ash/content.
"-content",
# Only allow Chrome OS services and D-Bus clients accessible to the mustash
# ash process.
"-chromeos",
"+chromeos/audio",
"+chromeos/components/multidevice/logging/logging.h",
"+chromeos/constants",
"+chromeos/dbus/dbus_thread_manager.h",
"+chromeos/dbus/fake_power_manager_client.h",
"+chromeos/dbus/fake_session_manager_client.h",
"+chromeos/dbus/power_manager",
"+chromeos/dbus/power_manager_client.h",
"+chromeos/dbus/power_policy_controller.h",
"+chromeos/dbus/session_manager_client.h",
"+chromeos/dbus/shill_device_client.h",
"+chromeos/dbus/system_clock_client.h",
# TODO(jamescook): Eliminate this. http://crbug.com/644355
"+chromeos/network",
"+chromeos/services/assistant/public" ,
"+chromeos/services/assistant/test_support",
"+chromeos/services/multidevice_setup/public",
# TODO(jamescook): Eliminate this. http://crbug.com/644361
"+chromeos/settings/timezone_settings.h",
"+chromeos/strings",
"+chromeos/system",
# InputMethodManager lives in the browser process. Use ImeController.
"-ui/base/ime/chromeos/input_method_manager.h"
# ui/events/devices is tied with ozone, which is controlled by mus, and
# shouldn't be used by ash.
"-ui/events/devices",
# Enums and supporting classes or observers that are safe (should be moved to
# services/ws/public/cpp). http://crbug.com/747544.
"+ui/events/devices/device_hotplug_event_observer.h",
"+ui/events/devices/input_device.h",
"+ui/events/devices/input_device_event_observer.h",
"+ui/events/devices/input_device_manager.h",
"+ui/events/devices/stylus_state.h",
"+ui/events/devices/touch_device_transform.h",
"+ui/events/devices/touchscreen_device.h",
# SessionManager/UserManager is not part of ash. Use SessionController.
"-components/session_manager/core",
"-components/user_manager/user_manager.h",
]
specific_include_rules = {
"app_launch_unittest.cc": [
"+ash/components/quick_launch/public",
],
"ash_service\.*": [
"+chromeos/cryptohome",
],
"message_center_controller\.*": [
"+components/arc/common/notifications.mojom.h"
],
"policy_recommendation_restorer_unittest.cc": [
"+components/sync_preferences/testing_pref_service_syncable.h"
],
"root_window_controller\.*": [
"+ash/host"
],
"shell.cc": [
"+ash/host/ash_window_tree_host_init_params.h"
],
"window_manager.cc": [
"+ash/host/ash_window_tree_host.h"
],
"window_service_delegate_impl.cc": [
"+ash/host/ash_window_tree_host.h"
],
}