blob: 9d38b45c46e0ab17955fe8ab0c623919936a8f5f [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",
Tien Maib89c1402018-11-13 13:25:366 "+chrome/credential_provider/common",
thestig4a2e88e2016-08-27 23:23:517 "+chrome/grit",
jwdc882e48d2016-08-19 00:14:428 "+chrome/install_static",
grt6990ce312017-03-27 12:04:179 "+chrome/installer/util",
Xi Chengb7c35726b2018-04-25 04:55:1410 "+chrome/notification_helper/notification_helper_constants.h",
Maggie Cai5e292d22019-03-11 22:58:2411 "+chrome/services/app_service/public/mojom",
Luum Habtemariam9d999932018-10-15 23:04:1212 "+chrome/services/cups_ipp_parser/public",
Luum Habtemariamc295b4ea2019-04-24 20:18:5113 "+chrome/services/cups_proxy",
Maksim Ivanov23e783072018-10-30 21:50:1414 "+chrome/services/diagnosticsd/public",
Jay Civelli8743364b2017-11-02 18:14:3615 "+chrome/services/file_util/public",
Jay Civelli069422f2017-11-10 18:55:5216 "+chrome/services/media_gallery_util/public",
Clark DuVall8f7a1212019-01-24 17:39:4117 "+chrome/services/noop/public",
Jay Civelli407c3fc2017-12-14 00:25:2718 "+chrome/services/printing/public",
Jay Civelli66e0d892017-12-05 01:05:1019 "+chrome/services/removable_storage_writer/public",
Jay Civelli446d1db2017-11-15 00:19:2620 "+chrome/services/util_win/public",
21 "+chrome/services/wifi_util_win/public",
[email protected]c80b35022014-03-03 17:01:4122 "+chrome_elf/blacklist",
[email protected]e5890e12014-02-27 17:15:0523 "+chrome_elf/chrome_elf_constants.h",
[email protected]c80b35022014-03-03 17:01:4124 "+chrome_elf/dll_hash",
[email protected]5cf19b92012-03-21 22:25:0525 "+chromeos",
brettwb1fc1b82016-02-02 00:19:0826 "+components",
Colin Blundelld55fde82018-12-18 16:04:3727 # Use identity_manager.h instead of the below files;
28 # see https://groups.google.com/a/chromium.org/d/msg/chromium-dev/dgFLuxqZt1o/iEqkyoQQBwAJ for help and info.
29 "!components/signin/core/browser/fake_profile_oauth2_token_service.h",
Colin Blundelld55fde82018-12-18 16:04:3730 "!components/signin/core/browser/signin_manager.h",
31 "!components/signin/core/browser/signin_manager_base.h",
[email protected]fd31c2212011-10-17 19:43:4332 "+content/public/browser",
Ke He0be22ba2017-12-18 05:12:3833 "+content/public/common",
[email protected]94a481b2014-03-28 19:41:5534 "+courgette",
alexis.menard2fe63eaa2016-10-13 21:42:4335 "+device/base",
[email protected]06af6a42012-12-14 00:16:4036 "+device/bluetooth",
Adam Langley573d3ac2018-04-28 00:32:1337 "+device/fido",
Matt Reynolds660a47752018-06-28 19:42:4838 "+device/gamepad/public/cpp",
thestig5e9352a2016-04-04 21:44:0439 "+device/usb",
Scott Violetc8240b02018-03-08 22:03:5940 "+device/vr/buildflags/buildflags.h",
Bill Orreb429222018-08-08 21:14:4341 "+device/vr/public",
[email protected]993da5e2013-03-23 21:25:1642 "+extensions/browser",
[email protected]885c0e92012-11-13 20:27:4243 "+extensions/common",
oshima758abebc2014-11-06 10:55:5044 "+extensions/components/javascript_dialog_extensions_client",
Scott Violetc8240b02018-03-08 22:03:5945 "+extensions/buildflags",
mukai4245dfe82014-09-05 17:40:5146 "+extensions/grit",
yoze8dc2f12014-09-09 23:16:3247 "+extensions/test",
[email protected]83c29502012-08-22 19:34:4848 "+google/cacheinvalidation", # Sync invalidation API protobuf files.
[email protected]6386cf52012-09-07 04:26:3749 "+google_apis",
[email protected]cec99842012-02-10 03:24:2350 "+google_update",
[email protected]b4d08ea2012-05-24 19:26:5751 "+installer_util_strings", # For generated headers
[email protected]1249f322013-10-23 21:03:1652 "+jni",
Ken Rockot388ba4fc2018-02-10 17:23:4153 "+mash/public/mojom",
Thomas Guilbert642e97d2019-03-27 23:33:3754 "+media/media_buildflags.h",
dalecurtis1620bd3a2015-04-28 20:26:2955 "+media/audio", # For media audio hang monitor.
[email protected]e2e8e322012-09-12 04:37:0256 "+media/base", # For media switches
chcunningham9205ea82018-07-12 18:04:2057 "+media/capabilities", # For InMemoryVideoDecodeStatsDB
xhwangc3a252b2016-05-23 02:35:4858 "+media/cdm/cdm_paths.h",
Xiangjun Zhang3aafe302018-02-07 20:10:4059 "+media/capture",
yhiranobbea6272015-09-17 07:09:0360 "+media/midi", # For midi switches
alokp6ecb2382016-01-27 00:40:0061 "+media/mojo", # For mojo media services.
Saman Sami2acabd12018-03-10 00:51:0962 "+media/renderers",
Alex Loiko66f63f5c2018-11-16 10:21:0663 "+media/webrtc", # For webrtc media switches.
[email protected]1b4209f2011-01-07 00:25:4064 "+ppapi/c", # For various types.
[email protected]b7631cc2012-09-15 05:08:3865 "+ppapi/host",
[email protected]709a847e2010-11-10 01:16:1166 "+ppapi/proxy",
[email protected]8ddc6b7c2013-12-12 20:42:0667 "+ppapi/shared_impl",
[email protected]5b7937e2010-11-04 23:37:1868 "+rlz",
[email protected]181491782012-07-18 00:59:1569 "+sandbox/win/src", # The path doesn't say it, but this is the Windows sandbox.
Olga Sharonovaa234a0a2018-02-16 11:12:2370 "+services/audio/public",
Ken Rockot80b08e92018-08-15 04:22:0271 "+services/content/simple_browser",
Jay Civellid8dc7c62017-11-02 02:10:4172 "+services/data_decoder/public",
Ke He0be22ba2017-12-18 05:12:3873 "+services/device/public",
Colin Blundelle89886a2017-06-12 11:26:5674 "+services/identity/public",
Andrew Moylan8ed9d83c82019-01-29 20:23:5275 "+services/image_annotation/public",
Becca Hughesf87f5252018-08-30 18:43:3676 "+services/media_session/public",
Steven Holtee830e7e2017-11-07 23:47:3077 "+services/metrics/metrics_mojo_service.h",
Mounir Lamourifd9dcefa2017-07-06 10:26:5578 "+services/metrics/public",
John Abd-El-Malek21bca7c2018-10-26 22:13:3379 "+services/network/cert_verifier_with_trust_anchors.h",
80 "+services/network/cert_verify_proc_chromeos.h",
John Abd-El-Malek89c02ae2018-02-01 01:56:1981 "+services/network/ignore_errors_cert_verifier.h",
John Abd-El-Malek8e82a322018-01-31 20:30:4782 "+services/network/network_service.h",
Ken Rockot7d0a5ff62018-04-26 21:46:5183 "+services/network/public",
Mark Pilgrim9c330c2212018-04-27 15:35:2784 "+services/network/test",
Matt Muellerdbc0aa72019-02-04 22:13:1885 "+services/network/trial_comparison_cert_verifier_mojo.h",
Mark Pilgrim9c330c2212018-04-27 15:35:2786 "+services/network/url_request_context_owner.h",
John Abd-El-Malek8e82a322018-01-31 20:30:4787 "+services/network/url_request_context_builder_mojo.h",
rockot905e3892017-02-18 10:47:1188 "+services/preferences/public/cpp",
Ken Rockotf7f533e2018-02-11 02:21:3389 "+services/preferences/public/mojom",
Jay Civelli2df24642017-10-09 20:22:2890 "+services/proxy_resolver", # Android runs the packaged proxy resolver
91 # service in process and needs impl access.
Ken Rockot26cf4742018-02-11 04:10:4092 "+services/proxy_resolver/public/mojom",
oysteine8c8d3b702017-05-18 15:18:1793 "+services/resource_coordinator/public/cpp",
Ken Rockot95c888a42018-02-11 05:54:1194 "+services/resource_coordinator/public/mojom",
Ken Rockotd7e999b2018-02-11 15:48:2195 "+services/shape_detection/public/mojom",
Guido Urdaneta191635e2018-05-09 16:00:5396 "+services/video_capture/public",
Saman Sami2acabd12018-03-10 00:51:0997 "+services/viz/privileged",
Mohsen Izadi6a6476b72018-12-07 04:34:3598 "+services/viz/public/interfaces",
Scott Violet9f984252018-08-27 19:02:1399 "+services/ws/common",
100 "+services/ws/public",
[email protected]5b7937e2010-11-04 23:37:18101 "+skia/ext",
tfarina29a3a1742016-10-28 18:47:33102 "+third_party/boringssl/src/include",
manzagopa5d6688d2016-10-25 20:16:03103 "+third_party/crashpad",
[email protected]4404e5b2011-08-16 19:08:46104 "+third_party/cros_system_api",
Steven Holtef9d5ed62017-10-21 02:02:30105 "+third_party/metrics_proto",
Xiaohan Wangf170c732018-09-27 05:45:26106 "+third_party/widevine/cdm/buildflags.h",
Xiaohan Wanga4e41842018-06-26 18:45:10107 "+third_party/widevine/cdm/widevine_cdm_common.h",
[email protected]895701a2012-09-13 10:07:34108
Scott Violet8ff9c302018-02-22 22:28:35109 # Code under //ash runs out-of-process in mash so it must be accessed via mojo
110 # interfaces in //ash/public/interfaces. See //ash/README.md.
jamescook1f91eac12017-05-30 17:27:32111 "-ash",
112 "+ash/public",
Mike Wasserman1fff56852019-05-02 03:38:40113 "+ash/components/shortcut_viewer",
James Cooka9384092018-05-23 02:54:26114 "+ash/components/tap_visualizer/public/mojom",
jamescook1f91eac12017-05-30 17:27:32115
Evan Stade196ec042018-03-13 19:44:36116 # The message center may not exist, or may run out of process (in mash).
117 "-ui/message_center",
118 "+ui/message_center/public",
119
Steven Bennetts34692a332018-11-10 02:11:44120 # KeyboardController and related classes are part of Ash.
121 "-ui/keyboard",
122 "+ui/keyboard/grit",
123 "+ui/keyboard/public",
124 "+ui/keyboard/resources",
125
[email protected]1249f322013-10-23 21:03:16126 # chrome only needs switches from cc. All usage of the compositor is from
127 # content. Definitely don't include generic stuff from cc/base here, if this
128 # is needed these files need to move to base/
129 "+cc/base/switches.h",
130
[email protected]bbe2f512013-08-16 12:54:39131 # Unsafe to use from //chrome, see http://goo.gl/QQG5wo
132 "-content/public/test/test_browser_context.h",
133
pilgrime92c5fcd2014-09-10 23:31:23134 "+storage/browser",
pilgrim16330552014-09-10 01:32:22135 "+storage/common",
[email protected]c4298d02013-05-20 05:42:52136
[email protected]81963ad2012-05-17 19:25:03137 "-chrome/browser/ui/views",
Greg Thompson0d974c42017-11-03 16:17:26138 "+chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h",
[email protected]e8b6ca02013-07-10 18:00:51139 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h",
estaded3aa0e82016-02-17 22:55:21140 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h",
ananta5ecf11b2017-04-29 00:45:10141 "+chrome/browser/ui/views/extensions/request_file_system_dialog_view.h",
Greg Thompson0d974c42017-11-03 16:17:26142 "+chrome/browser/ui/views/try_chrome_dialog_win/try_chrome_dialog.h",
[email protected]81963ad2012-05-17 19:25:03143
boliu60df2072015-10-26 22:55:19144 # Explicitly disallow using SyncMessageFilter to prevent browser from
145 # sending synchronous IPC messages on non-UI threads.
146 "-ipc/ipc_sync_message_filter.h",
147
mmenkef73a5122017-07-13 23:27:39148 # Allows in-process use of NetworkService for URLRequestContext configuration.
149 # Should be removed once the actual network service ships.
150 "+content/public/network",
151
[email protected]4ec7327e2008-08-18 23:59:51152 # Other libraries.
tfarinac28691d2015-07-23 19:22:51153 "+libxml",
[email protected]17a444c2014-06-24 01:44:32154 "+third_party/google_toolbox_for_mac/src",
[email protected]8bbf6192013-07-18 11:14:04155 "+third_party/icu/source/common/unicode",
156 "+third_party/icu/source/i18n/unicode",
[email protected]f82ef062012-04-27 17:52:54157 "+third_party/leveldatabase",
tfarinac28691d2015-07-23 19:22:51158 "+third_party/libxml",
[email protected]17a444c2014-06-24 01:44:32159 "+third_party/mozilla", # Mozilla interface headers.
miguelgdbb2e232016-10-14 18:50:13160 "+third_party/ocmock/gtest_support.h",
[email protected]3828d6f2011-02-24 18:32:21161 "+third_party/protobuf/src/google/protobuf",
[email protected]4728ca82012-08-24 10:39:59162 "+third_party/re2",
[email protected]b84ee6e2014-03-15 22:51:54163 "+third_party/smhasher",
[email protected]2b733b32011-09-22 06:18:24164 "+third_party/sqlite",
[email protected]537c638d2013-07-04 00:49:19165 "+third_party/zlib",
[email protected]af6e0752013-06-21 15:50:38166
Kinuko Yasuda20083062018-02-10 02:13:30167 # No inclusion of WebKit from the browser, other than the ones in
Kinuko Yasuda6f031052018-02-19 15:25:27168 # WebKit/public/{mojom,common}, or the ones that are strictly enum/POD,
[email protected]af6e0752013-06-21 15:50:38169 # header-only types, and some selected common code.
Blink Reformata30d4232018-04-07 15:31:06170 "-third_party/blink",
171 "+third_party/blink/public/common",
172 "+third_party/blink/public/mojom",
173 "+third_party/blink/public/platform/web_cache.h",
Blink Reformata30d4232018-04-07 15:31:06174 "+third_party/blink/public/platform/web_loading_behavior_flag.h",
175 "+third_party/blink/public/platform/web_gesture_event.h",
176 "+third_party/blink/public/platform/web_input_event.h",
177 "+third_party/blink/public/platform/web_mouse_event.h",
178 "+third_party/blink/public/platform/web_mouse_wheel_event.h",
Aldo Culquicondor53195552018-06-19 21:53:13179 "+third_party/blink/public/platform/web_touch_event.h",
Blink Reformata30d4232018-04-07 15:31:06180 "+third_party/blink/public/platform/web_security_style.h",
Katie D8236c3a32018-04-24 18:49:27181 "+third_party/blink/public/platform/web_speech_synthesis_constants.h",
Blink Reformata30d4232018-04-07 15:31:06182 "+third_party/blink/public/platform/web_sudden_termination_disabler_type.h",
183 "+third_party/blink/public/platform/modules/notifications/web_notification_constants.h",
184 "+third_party/blink/public/platform/modules/remoteplayback/web_remote_playback_availability.h",
185 "+third_party/blink/public/platform/modules/screen_orientation/web_screen_orientation_lock_type.h",
186 "+third_party/blink/public/public_buildflags.h",
187 "+third_party/blink/public/web/web_context_menu_data.h",
Dave Tapuska3ed44192018-05-01 18:53:30188 "+third_party/blink/public/web/web_fullscreen_options.h",
Blink Reformata30d4232018-04-07 15:31:06189 "+third_party/blink/public/web/web_media_player_action.h",
190 "+third_party/blink/public/web/web_plugin_action.h",
191 "+third_party/blink/public/web/web_presentation_receiver_flags.h",
192 "+third_party/blink/public/web/web_text_direction.h",
193 "+third_party/blink/public/web/web_triggering_event_info.h",
Kinuko Yasuda74702f92017-07-31 03:27:53194
Kenichi Ishibashi16309bb2017-11-07 06:21:46195 # Allow mojo generated files in WebKit. These files use STL types and
196 # don't use WTF types.
Blink Reformata30d4232018-04-07 15:31:06197 "+third_party/blink/public/platform/modules/budget_service/budget_service.mojom.h",
Blink Reformata30d4232018-04-07 15:31:06198 "+third_party/blink/public/platform/modules/presentation/presentation.mojom.h",
Kenichi Ishibashi16309bb2017-11-07 06:21:46199
Scott Violetd4b21d252017-08-11 17:27:36200 # The following restrictions are for ChromeOS and in particular mus/mash where
201 # Ozone does not run in process. If the linux build transitions to Ozone then
202 # we likely need to make these restrictions applicable only to ChromeOS files.
203 "-ui/events/ozone",
Maksim Sisovac767592018-08-10 08:00:15204 "-ui/ozone/",
205 "+ui/ozone/public/ozone_platform.h",
Scott Violetd4b21d252017-08-11 17:27:36206 "+ui/ozone/public/ozone_switches.h",
207 # ui/events/devices is tied with ozone, which is controlled by mus, and
208 # shouldn't be used by Chrome directly.
209 "-ui/events/devices",
210 # Enums and supporting classes or observers that are safe (should be moved to
Scott Violet9f984252018-08-27 19:02:13211 # services/ws/public/cpp). http://crbug.com/747544.
Scott Violetd4b21d252017-08-11 17:27:36212 "+ui/events/devices/device_hotplug_event_observer.h",
213 "+ui/events/devices/input_device.h",
214 "+ui/events/devices/input_device_event_observer.h",
Scott Violet7cbe2012017-08-19 00:54:30215 "+ui/events/devices/input_device_manager.h",
Scott Violetd4b21d252017-08-11 17:27:36216 "+ui/events/devices/stylus_state.h",
217 "+ui/events/devices/touchscreen_device.h",
Scott Violetd4b21d252017-08-11 17:27:36218
219 # Only used by X11 (non-ChromeOS) code, which can use X directly.
220 "+ui/events/devices/x11",
[email protected]4ec7327e2008-08-18 23:59:51221]
Scott Violetd4b21d252017-08-11 17:27:36222
jamescook1f91eac12017-05-30 17:27:32223specific_include_rules = {
Scott Violet0eea3b22018-05-05 16:50:06224 "ash_service_registry\.cc": [
James Cookabc90182018-09-28 20:45:09225 # The following are needed for classic mode to create the WindowService.
226 # Once Ash runs out of process no longer needed.
227 "+ash/shell.h",
228
Scott Violet0eea3b22018-05-05 16:50:06229 # Needed for classic mode.
Scott Violet7eb50d22018-05-04 17:12:18230 "+ash/ash_service.h",
231 ],
Christopher Cameron936b0a192018-10-08 20:22:35232 "platform_util_mac.mm": [
233 # The following is used to forward methods to an NSWindow in another
234 # process, via the views::Widget API.
235 "+ui/views/widget/widget.h",
236 ],
Steven Bennetts26121cb2018-06-25 20:54:40237 # TODO(mash): Fix. https://crbug.com/768439, https://crbug.com/768395.
Scott Violet737fb752018-04-11 15:35:22238 "exo_parts\.cc": [
239 "+ash/shell.h",
240 ],
jamescook1f91eac12017-05-30 17:27:32241 # TODO(mash): Remove. http://crbug.com/678705
242 "fullscreen_chromeos\.cc": [
243 "+ash/root_window_controller.h",
244 "+ash/shell.h",
Scott Violet776edf82017-09-29 02:03:01245 ],
Evan Stade196ec042018-03-13 19:44:36246 # TODO(estade): the message center is initialized and shut down here, but it
247 # should be the responsibility of code in chrome/browser/notifications/
248 "browser_process_impl.cc": [
249 "+ui/message_center/message_center.h",
250 ],
Lukasz Anforowicz23f6bc712019-02-25 20:05:57251 # To share values of UMA enums between product code and tests.
252 "translate_manager_browsertest.cc": [
253 "+services/network/initiator_lock_compatibility.h",
254 ],
jamescook1f91eac12017-05-30 17:27:32255}