include_rules = [
  # Allow inclusion of specific components that we depend on.
  # See comment in content/DEPS for which components are allowed.
  # *********************************** NOTE ***********************************
  # If adding a new component dependency, email content/OWNERS first.
  # ****************************************************************************
  "+components/discardable_memory/client",
  "+components/metrics",
  "+components/metrics:single_sample_metrics",
  "+components/payments",
  "+components/url_formatter",
  "+components/viz/client",
  "+components/viz/common",
  # *********************************** NOTE ***********************************
  # If adding a new component dependency, email content/OWNERS first.
  # ****************************************************************************

  "+content/public/child",
  "+content/public/renderer",
  "+content/child",
  "+device/base/synchronization",
  "+device/gamepad/public/cpp",
  "+device/gamepad/public/mojom",
  "+gin",
  "+jingle/glue",
  "+mojo",
  "+services",
  "-storage/browser",
  "+third_party/hyphen/hyphen.h",
  "+third_party/webrtc_overrides",
  "+third_party/blink/public/common",
  "+v8/include",
  "+v8/src/third_party/vtune",
]

specific_include_rules = {
  '.*_[a-z]*browsertest.*': [
    "+content/public/browser",
    "+content/shell",
  ],
  "render_thread_impl_browsertest\.cc": [
    "+content/app/mojo/mojo_init.h",
  ],
  "render_thread_impl_discardable_memory_browsertest\.cc": [
    "+components/discardable_memory/service",
    "+content/browser/browser_main_loop.h",
  ],
  # TODO(crbug.com/734668): Dependencies on ozone should be removed, as content
  # embedded in mus won't be able to talk to the native ozone.
  "renderer_main\.cc": [
    "+ui/ozone/public/client_native_pixmap_factory_ozone.h",
  ],
  ".*_(unit|pixel|perf)test.*\.cc": [
    "+components/viz/test",
    "+third_party/blink/renderer/platform/testing",
  ],
}
