blob: eb4ec282bf1626f17c59335b474696c3e2b798de [file] [log] [blame]
include_rules = [
"+apps",
"+cc/paint",
"+chrome/app",
"+chrome/chrome_watcher",
"+chrome/grit",
"+chrome/install_static",
"+chrome/installer/util",
"+chrome_elf/blacklist",
"+chrome_elf/chrome_elf_constants.h",
"+chrome_elf/dll_hash",
"+chromeos",
"+components",
"+content/public/browser",
"+courgette",
"+device/base",
"+device/bluetooth",
"+device/geolocation",
"+device/hid",
"+device/media_transfer_protocol",
"+device/usb",
"+device/vr/features/features.h",
"+extensions/browser",
"+extensions/common",
"+extensions/components/javascript_dialog_extensions_client",
"+extensions/features",
"+extensions/grit",
"+extensions/test",
"+google/cacheinvalidation", # Sync invalidation API protobuf files.
"+google_apis",
"+google_update",
"+installer_util_strings", # For generated headers
"+jni",
"+mash/public/interfaces",
"+media/audio", # For media audio hang monitor.
"+media/base", # For media switches
"+media/cdm/cdm_paths.h",
"+media/midi", # For midi switches
"+media/mojo", # For mojo media services.
"+ppapi/c", # For various types.
"+ppapi/host",
"+ppapi/proxy",
"+ppapi/shared_impl",
"+rlz",
"+sandbox/win/src", # The path doesn't say it, but this is the Windows sandbox.
"+services/data_decoder/public/cpp",
"+services/device/public/cpp/device_features.h",
"+services/identity/public",
"+services/metrics/public",
"+services/preferences/public/cpp",
"+services/preferences/public/interfaces",
"+services/resource_coordinator/public/cpp",
"+services/resource_coordinator/public/interfaces",
"+services/service_manager",
"+services/shape_detection/public/interfaces",
"+services/ui/common",
"+services/ui/public",
"+services/ui/service.h",
"+skia/ext",
"+third_party/boringssl/src/include",
"+third_party/crashpad",
"+third_party/cros_system_api",
# Code under //ash runs out-of-process under mustash (chrome --mash) so it
# must be accessed via mojo interfaces in //ash/public/interfaces. See
# //ash/README.md.
"-ash",
"+ash/public",
"+ash/ash_switches.h",
# chrome only needs switches from cc. All usage of the compositor is from
# content. Definitely don't include generic stuff from cc/base here, if this
# is needed these files need to move to base/
"+cc/base/switches.h",
# Unsafe to use from //chrome, see http://goo.gl/QQG5wo
"-content/public/test/test_browser_context.h",
"+storage/browser",
"+storage/common",
"-chrome/browser/ui/views",
"+chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h",
"+chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h",
"+chrome/browser/ui/views/extensions/request_file_system_dialog_view.h",
"+chrome/browser/ui/views/try_chrome_dialog.h",
"+chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h",
# Explicitly disallow using SyncMessageFilter to prevent browser from
# sending synchronous IPC messages on non-UI threads.
"-ipc/ipc_sync_message_filter.h",
# Allows in-process use of NetworkService for URLRequestContext configuration.
# Should be removed once the actual network service ships.
"+content/public/network",
# Other libraries.
"+libxml",
"+third_party/google_toolbox_for_mac/src",
"+third_party/icu/source/common/unicode",
"+third_party/icu/source/i18n/unicode",
"+third_party/leveldatabase",
"+third_party/libxml",
"+third_party/mozilla", # Mozilla interface headers.
"+third_party/ocmock/gtest_support.h",
"+third_party/protobuf/src/google/protobuf",
"+third_party/re2",
"+third_party/smhasher",
"+third_party/sqlite",
"+third_party/zlib",
# No inclusion of WebKit from the browser, other than strictly enum/POD,
# header-only types, and some selected common code.
"-third_party/WebKit",
"+third_party/WebKit/public/platform/WebCache.h",
"+third_party/WebKit/public/platform/WebDisplayMode.h",
"+third_party/WebKit/public/platform/WebFeaturePolicyFeature.h",
"+third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h",
"+third_party/WebKit/public/platform/WebGestureEvent.h",
"+third_party/WebKit/public/platform/web_feature.mojom.h",
"+third_party/WebKit/public/platform/WebInputEvent.h",
"+third_party/WebKit/public/platform/WebMouseEvent.h",
"+third_party/WebKit/public/platform/WebMouseWheelEvent.h",
"+third_party/WebKit/public/platform/WebReferrerPolicy.h",
"+third_party/WebKit/public/platform/WebSecurityStyle.h",
"+third_party/WebKit/public/platform/media_engagement.mojom.h",
"+third_party/WebKit/public/platform/modules/app_banner/app_banner.mojom.h",
"+third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom.h",
"+third_party/WebKit/public/platform/modules/insecure_input/insecure_input_service.mojom.h",
"+third_party/WebKit/public/platform/modules/installation/installation.mojom.h",
"+third_party/WebKit/public/platform/modules/installedapp/installed_app_provider.mojom.h",
"+third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h",
"+third_party/WebKit/public/platform/modules/payments/payment_app.mojom.h",
"+third_party/WebKit/public/platform/modules/payments/payment_request.mojom.h",
"+third_party/WebKit/public/platform/modules/permissions/permission_status.mojom.h",
"+third_party/WebKit/public/platform/modules/presentation/presentation.mojom.h",
"+third_party/WebKit/public/platform/modules/push_messaging/WebPushPermissionStatus.h",
"+third_party/WebKit/public/platform/modules/remoteplayback/WebRemotePlaybackAvailability.h",
"+third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationLockType.h",
"+third_party/WebKit/public/platform/modules/webshare/webshare.mojom.h",
"+third_party/WebKit/public/platform/site_engagement.mojom.h",
"+third_party/WebKit/public/public_features.h",
"+third_party/WebKit/public/web/WebContextMenuData.h",
"+third_party/WebKit/public/web/WebFindOptions.h",
"+third_party/WebKit/public/web/WebMediaPlayerAction.h",
"+third_party/WebKit/public/web/WebPluginAction.h",
"+third_party/WebKit/public/web/WebTextDirection.h",
"+third_party/WebKit/public/web/window_features.mojom.h",
# Unlike other WebKit directories WebKit/common is for the files that
# are commonly referenced by renderer-side and browser-side code, and
# does not use Blink types like WTF.
"+third_party/WebKit/common",
# The following restrictions are for ChromeOS and in particular mus/mash where
# Ozone does not run in process. If the linux build transitions to Ozone then
# we likely need to make these restrictions applicable only to ChromeOS files.
"-ui/events/ozone",
"-ui/ozone",
"+ui/ozone/public/ozone_switches.h",
# ui/events/devices is tied with ozone, which is controlled by mus, and
# shouldn't be used by Chrome directly.
"-ui/events/devices",
# Enums and supporting classes or observers that are safe (should be moved to
# services/ui/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/touchscreen_device.h",
# Only used by X11 (non-ChromeOS) code, which can use X directly.
"+ui/events/devices/x11",
]
specific_include_rules = {
# TODO(mash): Remove. http://crbug.com/678705
"fullscreen_chromeos\.cc": [
"+ash/root_window_controller.h",
"+ash/shell.h",
]
}