blob: c47091e6b1a85bd15a4aeafaeaddb10fb0149b58 [file] [log] [blame]
[email protected]4ec7327e2008-08-18 23:59:511include_rules = [
[email protected]c2e2b6d2013-01-22 02:23:292 "+apps",
enne34f6084c2017-02-02 22:39:083 "+cc/paint",
[email protected]a8cf61b2009-02-05 17:41:384 "+chrome/app",
erikwright0cdddbff2015-03-12 18:05:345 "+chrome/chrome_watcher",
thestig4a2e88e2016-08-27 23:23:516 "+chrome/grit",
jwdc882e48d2016-08-19 00:14:427 "+chrome/install_static",
grt6990ce312017-03-27 12:04:178 "+chrome/installer/util",
Jay Civellid4b89052017-10-31 17:48:259 "+chrome/services/util_win/public/interfaces",
[email protected]c80b35022014-03-03 17:01:4110 "+chrome_elf/blacklist",
[email protected]e5890e12014-02-27 17:15:0511 "+chrome_elf/chrome_elf_constants.h",
[email protected]c80b35022014-03-03 17:01:4112 "+chrome_elf/dll_hash",
[email protected]5cf19b92012-03-21 22:25:0513 "+chromeos",
brettwb1fc1b82016-02-02 00:19:0814 "+components",
[email protected]fd31c2212011-10-17 19:43:4315 "+content/public/browser",
[email protected]94a481b2014-03-28 19:41:5516 "+courgette",
alexis.menard2fe63eaa2016-10-13 21:42:4317 "+device/base",
[email protected]06af6a42012-12-14 00:16:4018 "+device/bluetooth",
mcasas4e216e72016-07-28 21:28:3819 "+device/geolocation",
rockot1a51b922014-09-05 08:02:4420 "+device/hid",
[email protected]4b6de892013-01-04 18:06:0621 "+device/media_transfer_protocol",
thestig5e9352a2016-04-04 21:44:0422 "+device/usb",
mthiesse4cb289142017-04-25 23:57:3323 "+device/vr/features/features.h",
[email protected]993da5e2013-03-23 21:25:1624 "+extensions/browser",
[email protected]885c0e92012-11-13 20:27:4225 "+extensions/common",
oshima758abebc2014-11-06 10:55:5026 "+extensions/components/javascript_dialog_extensions_client",
brettw00899e62016-11-12 02:10:1727 "+extensions/features",
mukai4245dfe82014-09-05 17:40:5128 "+extensions/grit",
yoze8dc2f12014-09-09 23:16:3229 "+extensions/test",
[email protected]83c29502012-08-22 19:34:4830 "+google/cacheinvalidation", # Sync invalidation API protobuf files.
[email protected]6386cf52012-09-07 04:26:3731 "+google_apis",
[email protected]cec99842012-02-10 03:24:2332 "+google_update",
[email protected]b4d08ea2012-05-24 19:26:5733 "+installer_util_strings", # For generated headers
[email protected]1249f322013-10-23 21:03:1634 "+jni",
rockot73b9848f2017-02-15 18:58:0235 "+mash/public/interfaces",
dalecurtis1620bd3a2015-04-28 20:26:2936 "+media/audio", # For media audio hang monitor.
[email protected]e2e8e322012-09-12 04:37:0237 "+media/base", # For media switches
xhwangc3a252b2016-05-23 02:35:4838 "+media/cdm/cdm_paths.h",
yhiranobbea6272015-09-17 07:09:0339 "+media/midi", # For midi switches
alokp6ecb2382016-01-27 00:40:0040 "+media/mojo", # For mojo media services.
[email protected]1b4209f2011-01-07 00:25:4041 "+ppapi/c", # For various types.
[email protected]b7631cc2012-09-15 05:08:3842 "+ppapi/host",
[email protected]709a847e2010-11-10 01:16:1143 "+ppapi/proxy",
[email protected]8ddc6b7c2013-12-12 20:42:0644 "+ppapi/shared_impl",
[email protected]5b7937e2010-11-04 23:37:1845 "+rlz",
[email protected]181491782012-07-18 00:59:1546 "+sandbox/win/src", # The path doesn't say it, but this is the Windows sandbox.
Jay Civellid8dc7c62017-11-02 02:10:4147 "+services/data_decoder/public",
ke.hea91facd2017-04-12 05:11:5048 "+services/device/public/cpp/device_features.h",
Colin Blundelle89886a2017-06-12 11:26:5649 "+services/identity/public",
Mounir Lamourifd9dcefa2017-07-06 10:26:5550 "+services/metrics/public",
rockot905e3892017-02-18 10:47:1151 "+services/preferences/public/cpp",
jonross3b1b2582016-12-21 16:21:2152 "+services/preferences/public/interfaces",
Jay Civelli2df24642017-10-09 20:22:2853 "+services/proxy_resolver", # Android runs the packaged proxy resolver
54 # service in process and needs impl access.
55 "+services/proxy_resolver/public/interfaces",
oysteine8c8d3b702017-05-18 15:18:1756 "+services/resource_coordinator/public/cpp",
Erik Chen173bf3042017-07-31 06:06:2157 "+services/resource_coordinator/public/interfaces",
rockot734fb662016-10-15 16:41:3058 "+services/service_manager",
xianglub38f05e2017-01-11 20:49:5259 "+services/shape_detection/public/interfaces",
mfomitcheva872e762017-07-14 06:03:4460 "+services/ui/common",
xianglub38f05e2017-01-11 20:49:5261 "+services/ui/public",
mfomitcheva872e762017-07-14 06:03:4462 "+services/ui/service.h",
[email protected]5b7937e2010-11-04 23:37:1863 "+skia/ext",
tfarina29a3a1742016-10-28 18:47:3364 "+third_party/boringssl/src/include",
manzagopa5d6688d2016-10-25 20:16:0365 "+third_party/crashpad",
[email protected]4404e5b2011-08-16 19:08:4666 "+third_party/cros_system_api",
Steven Holtef9d5ed62017-10-21 02:02:3067 "+third_party/metrics_proto",
[email protected]895701a2012-09-13 10:07:3468
jamescook1f91eac12017-05-30 17:27:3269 # Code under //ash runs out-of-process under mustash (chrome --mash) so it
70 # must be accessed via mojo interfaces in //ash/public/interfaces. See
71 # //ash/README.md.
72 "-ash",
73 "+ash/public",
jamescook1f91eac12017-05-30 17:27:3274
[email protected]1249f322013-10-23 21:03:1675 # chrome only needs switches from cc. All usage of the compositor is from
76 # content. Definitely don't include generic stuff from cc/base here, if this
77 # is needed these files need to move to base/
78 "+cc/base/switches.h",
79
[email protected]bbe2f512013-08-16 12:54:3980 # Unsafe to use from //chrome, see http://goo.gl/QQG5wo
81 "-content/public/test/test_browser_context.h",
82
pilgrime92c5fcd2014-09-10 23:31:2383 "+storage/browser",
pilgrim16330552014-09-10 01:32:2284 "+storage/common",
[email protected]c4298d02013-05-20 05:42:5285
[email protected]81963ad2012-05-17 19:25:0386 "-chrome/browser/ui/views",
[email protected]e8b6ca02013-07-10 18:00:5187 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h",
estaded3aa0e82016-02-17 22:55:2188 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h",
ananta5ecf11b2017-04-29 00:45:1089 "+chrome/browser/ui/views/extensions/request_file_system_dialog_view.h",
skarec4f03f032017-08-20 21:11:1590 "+chrome/browser/ui/views/try_chrome_dialog.h",
[email protected]e8b6ca02013-07-10 18:00:5191 "+chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h",
[email protected]81963ad2012-05-17 19:25:0392
boliu60df2072015-10-26 22:55:1993 # Explicitly disallow using SyncMessageFilter to prevent browser from
94 # sending synchronous IPC messages on non-UI threads.
95 "-ipc/ipc_sync_message_filter.h",
96
mmenkef73a5122017-07-13 23:27:3997 # Allows in-process use of NetworkService for URLRequestContext configuration.
98 # Should be removed once the actual network service ships.
99 "+content/public/network",
100
Scott Violet776edf82017-09-29 02:03:01101 "+mash/quick_launch/public/interfaces",
102
[email protected]4ec7327e2008-08-18 23:59:51103 # Other libraries.
tfarinac28691d2015-07-23 19:22:51104 "+libxml",
[email protected]17a444c2014-06-24 01:44:32105 "+third_party/google_toolbox_for_mac/src",
[email protected]8bbf6192013-07-18 11:14:04106 "+third_party/icu/source/common/unicode",
107 "+third_party/icu/source/i18n/unicode",
[email protected]f82ef062012-04-27 17:52:54108 "+third_party/leveldatabase",
tfarinac28691d2015-07-23 19:22:51109 "+third_party/libxml",
[email protected]17a444c2014-06-24 01:44:32110 "+third_party/mozilla", # Mozilla interface headers.
miguelgdbb2e232016-10-14 18:50:13111 "+third_party/ocmock/gtest_support.h",
[email protected]3828d6f2011-02-24 18:32:21112 "+third_party/protobuf/src/google/protobuf",
[email protected]4728ca82012-08-24 10:39:59113 "+third_party/re2",
[email protected]b84ee6e2014-03-15 22:51:54114 "+third_party/smhasher",
[email protected]2b733b32011-09-22 06:18:24115 "+third_party/sqlite",
[email protected]537c638d2013-07-04 00:49:19116 "+third_party/zlib",
[email protected]af6e0752013-06-21 15:50:38117
118 # No inclusion of WebKit from the browser, other than strictly enum/POD,
119 # header-only types, and some selected common code.
120 "-third_party/WebKit",
kinukoed1ed1d2017-02-08 09:13:43121 "+third_party/WebKit/public/platform/WebCache.h",
mlamouri1239f9a2016-04-18 18:15:10122 "+third_party/WebKit/public/platform/WebDisplayMode.h",
reillygaee98b5c2017-05-12 23:31:11123 "+third_party/WebKit/public/platform/WebFeaturePolicyFeature.h",
csharrisonb9a657d2016-04-14 00:41:40124 "+third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h",
dtapuska836e1f92016-11-15 00:38:06125 "+third_party/WebKit/public/platform/WebGestureEvent.h",
Luna Lu7b133f72017-07-27 16:16:47126 "+third_party/WebKit/public/platform/web_feature.mojom.h",
dtapuska836e1f92016-11-15 00:38:06127 "+third_party/WebKit/public/platform/WebInputEvent.h",
dtapuskaa794bd0812017-01-06 15:22:55128 "+third_party/WebKit/public/platform/WebMouseEvent.h",
dtapuska234bb4512016-12-19 21:46:18129 "+third_party/WebKit/public/platform/WebMouseWheelEvent.h",
[email protected]af6e0752013-06-21 15:50:38130 "+third_party/WebKit/public/platform/WebReferrerPolicy.h",
estark47ba9c7d2016-10-11 15:40:11131 "+third_party/WebKit/public/platform/WebSecurityStyle.h",
Becca Hughes9470c452017-07-27 22:51:05132 "+third_party/WebKit/public/platform/media_engagement.mojom.h",
dominickn09f7b572016-10-28 01:44:15133 "+third_party/WebKit/public/platform/modules/app_banner/app_banner.mojom.h",
harkness4108cd02016-08-25 10:26:22134 "+third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom.h",
Eric Lawrence627f10c52017-08-04 04:34:04135 "+third_party/WebKit/public/platform/modules/insecure_input/insecure_input_service.mojom.h",
mgiucab02c25802016-12-19 05:44:02136 "+third_party/WebKit/public/platform/modules/installation/installation.mojom.h",
mgiuca4b6c1fc92017-03-22 13:27:18137 "+third_party/WebKit/public/platform/modules/installedapp/installed_app_provider.mojom.h",
miguelg163fc152016-05-20 18:02:44138 "+third_party/WebKit/public/platform/modules/notifications/WebNotificationConstants.h",
Rouslan Solomakhin2c88e232017-06-14 20:28:52139 "+third_party/WebKit/public/platform/modules/payments/payment_app.mojom.h",
140 "+third_party/WebKit/public/platform/modules/payments/payment_request.mojom.h",
scottmg8e6c6082017-02-13 23:15:48141 "+third_party/WebKit/public/platform/modules/permissions/permission_status.mojom.h",
Anton Vayvode3c39862017-06-20 20:53:32142 "+third_party/WebKit/public/platform/modules/presentation/presentation.mojom.h",
peterbffa93bac2015-02-06 12:25:53143 "+third_party/WebKit/public/platform/modules/push_messaging/WebPushPermissionStatus.h",
avayvodb485de72016-11-11 07:31:31144 "+third_party/WebKit/public/platform/modules/remoteplayback/WebRemotePlaybackAvailability.h",
mlamouri957082d2015-06-11 15:12:48145 "+third_party/WebKit/public/platform/modules/screen_orientation/WebScreenOrientationLockType.h",
sammc5a139ba2016-09-29 01:49:14146 "+third_party/WebKit/public/platform/modules/webshare/webshare.mojom.h",
dominickn6c1f1cf2016-12-20 06:13:33147 "+third_party/WebKit/public/platform/site_engagement.mojom.h",
brettwcb4ab75a2016-11-02 19:25:59148 "+third_party/WebKit/public/public_features.h",
[email protected]af6e0752013-06-21 15:50:38149 "+third_party/WebKit/public/web/WebContextMenuData.h",
[email protected]af6e0752013-06-21 15:50:38150 "+third_party/WebKit/public/web/WebFindOptions.h",
[email protected]af6e0752013-06-21 15:50:38151 "+third_party/WebKit/public/web/WebMediaPlayerAction.h",
[email protected]af6e0752013-06-21 15:50:38152 "+third_party/WebKit/public/web/WebPluginAction.h",
mark a. foltzef394fce2017-10-21 09:11:02153 "+third_party/WebKit/public/web/WebPresentationReceiverFlags.h",
[email protected]af6e0752013-06-21 15:50:38154 "+third_party/WebKit/public/web/WebTextDirection.h",
Charles Harrison8c5247ff2017-10-13 19:43:32155 "+third_party/WebKit/public/web/WebTriggeringEventInfo.h",
scottmg8e6c6082017-02-13 23:15:48156 "+third_party/WebKit/public/web/window_features.mojom.h",
Kinuko Yasuda74702f92017-07-31 03:27:53157
158 # Unlike other WebKit directories WebKit/common is for the files that
159 # are commonly referenced by renderer-side and browser-side code, and
160 # does not use Blink types like WTF.
161 "+third_party/WebKit/common",
Scott Violetd4b21d252017-08-11 17:27:36162
163 # The following restrictions are for ChromeOS and in particular mus/mash where
164 # Ozone does not run in process. If the linux build transitions to Ozone then
165 # we likely need to make these restrictions applicable only to ChromeOS files.
166 "-ui/events/ozone",
167 "-ui/ozone",
168 "+ui/ozone/public/ozone_switches.h",
169 # ui/events/devices is tied with ozone, which is controlled by mus, and
170 # shouldn't be used by Chrome directly.
171 "-ui/events/devices",
172 # Enums and supporting classes or observers that are safe (should be moved to
173 # services/ui/public/cpp). http://crbug.com/747544.
174 "+ui/events/devices/device_hotplug_event_observer.h",
175 "+ui/events/devices/input_device.h",
176 "+ui/events/devices/input_device_event_observer.h",
Scott Violet7cbe2012017-08-19 00:54:30177 "+ui/events/devices/input_device_manager.h",
Scott Violetd4b21d252017-08-11 17:27:36178 "+ui/events/devices/stylus_state.h",
179 "+ui/events/devices/touchscreen_device.h",
Scott Violetd4b21d252017-08-11 17:27:36180
181 # Only used by X11 (non-ChromeOS) code, which can use X directly.
182 "+ui/events/devices/x11",
[email protected]4ec7327e2008-08-18 23:59:51183]
Scott Violetd4b21d252017-08-11 17:27:36184
jamescook1f91eac12017-05-30 17:27:32185specific_include_rules = {
186 # TODO(mash): Remove. http://crbug.com/678705
187 "fullscreen_chromeos\.cc": [
188 "+ash/root_window_controller.h",
189 "+ash/shell.h",
Scott Violet776edf82017-09-29 02:03:01190 ],
191 "mash_service_registry.cc": [
192 "+mash/quick_launch/quick_launch.h",
jamescook1f91eac12017-05-30 17:27:32193 ]
194}