include_rules = [
  # ash depends on views, so code in ui/ash is allowed to depend on ui/views.
  "+chrome/browser/ui/views",

  "+media",
]

specific_include_rules = {
  ".*test.*": [
   "!ash",
   "+ash/public",
  ],
  # AshShellInit supports CLASSIC and MUS modes so allow ash/ includes.
  "ash_shell_init\.cc": [
    "+ash",
  ],
  # IsAcceleratorDeprecated and SetupWidgetInitParamsForContainer access
  # ash::Shell in non Mash mode only.
  "ash_util\.cc": [
    "+ash/accelerators/accelerator_controller.h",
    "+ash/shell.h",
  ],
  # For ash::Shell::SetIsBrowserProcessWithMash()
  "chrome_browser_main_extra_parts_ash\.cc": [
    "+ash/shell.h",
  ],
  # https://crbug.com/843332
  "chrome_keyboard_ui\.cc": [
    "+ash/root_window_controller.h",
    "+ash/shell.h",
  ],
  # https://crbug.com/124222
  "chrome_new_window_client\.cc": [
    "+ash/content/keyboard_overlay/keyboard_overlay_view.h",
  ],
  # https://crbug.com/557397
  "chrome_screenshot_grabber.*": [
    "+ash/screenshot_delegate.h",
    "+ash/shell.h",
  ],
  # https://crbug.com/665064
  "chrome_shell_delegate.*": [
    # https://crbug.com/756054
    "+ash/accessibility/accessibility_delegate.h",
    # https://crbug.com/557397
    "+ash/screenshot_delegate.h",
    # https://crbug.com/665064
    "+ash/shell_delegate.h",
  ],
  "screen_orientation_delegate_chromeos.cc": [
    "+ash/display/screen_orientation_controller.h",
    "+ash/shell.h",
  ],
  # For ash::Shell::GetContainer (!mash)
  "system_tray_client\.cc": [
    "+ash/shell.h",
  ],
  # https://crbug.com/796366
  "tab_scrubber\.cc": [
    "+ash/shell.h",
  ],
}
