3 "+cc/input/browser_controls_state.h",
8 # Restricting uses of Chrome*Activity in favor of direct dependency aquisition. Code that lives
9 # under java/src/.../chrome/browser has a seperate exception under that same directory.
10 # Exceptions can be found under "specific_include_rules" below.
11 "-chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
12 "-chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
13 "-chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity2.java",
15 "+chrome/android/native_j_unittests_jni_headers",
16 "+chrome/android/chrome_jni_headers",
17 "+chrome/android/features/dev_ui",
18 "+chrome/android/modules",
19 "+chrome/android/test_support_jni_headers",
21 "+chrome/credential_provider/common",
23 "+chrome/install_static",
24 "+chrome/installer/util",
25 "+chrome/notification_helper/notification_helper_constants.h",
26 "+chrome/services/cups_proxy",
27 "+chrome/services/diagnosticsd/public",
28 "+chrome/services/file_util/public",
29 "+chrome/services/mac_notifications/public",
30 "+chrome/services/machine_learning/public",
31 "+chrome/services/media_gallery_util/public",
32 "+chrome/services/printing/public",
33 "+chrome/services/qrcode_generator/public",
34 "+chrome/services/sharing/public",
35 "+chrome/services/removable_storage_writer/public",
36 "+chrome/services/util_win/public",
37 "+chrome/updater/app/server/win/updater_legacy_idl.h",
39 "+components/about_ui",
40 "+components/account_id",
41 "+components/app_constants/constants.h",
42 "+components/federated_learning",
43 # TODO(b/129295708): Remove after move is complete.
45 "+components/access_code_cast",
46 "+components/account_manager_core",
47 "+components/app_restore",
48 "+components/assist_ranker",
49 "+components/autofill/android",
50 "+components/autofill/content/browser",
51 "+components/autofill/content/common",
52 "+components/autofill/core/browser",
53 "+components/autofill/core/common",
54 "+components/back_forward_cache",
55 "+components/background_fetch",
56 "+components/background_sync",
57 "+components/background_task_scheduler",
59 "+components/blocked_content",
60 "+components/blocklist/opt_out_blocklist",
61 "+components/bookmarks/browser",
62 "+components/bookmarks/common",
63 "+components/bookmarks/managed",
64 "+components/bookmarks/test",
65 "+components/breadcrumbs/core",
66 "+components/browser_sync",
67 "+components/browser_ui/accessibility",
68 "+components/browser_ui/bottomsheet",
69 "+components/browser_ui/modaldialog",
70 "+components/browser_ui/notifications",
71 "+components/browser_ui/photo_picker",
72 "+components/browser_ui/settings",
73 "+components/browser_ui/util",
74 "+components/browser_ui/widget",
75 "+components/browser_ui/site_settings",
76 "+components/browser_ui/strings",
77 "+components/browser_ui/styles",
78 "+components/browsing_data/content",
79 "+components/browsing_data/core",
80 "+components/browsing_topics",
81 "+components/custom_handlers",
82 "+components/captive_portal",
83 "+components/cast_channel",
85 "+components/cdm/browser",
86 "+components/certificate_matching",
87 "+components/certificate_transparency",
88 "+components/chrome_cleaner/public",
89 "+components/chrome_cleaner/test",
90 "+components/chromeos_camera",
91 "+components/client_hints/browser",
92 "+components/client_hints/common",
93 "+components/cloud_devices/common",
95 "+components/commerce",
96 "+components/component_updater",
97 "+components/component_updater/installer_policies",
98 "+components/compose",
99 "+components/consent_auditor",
100 "+components/constrained_window",
101 "+components/content_capture/browser",
102 "+components/content_creation/notes/core",
103 "+components/content_settings/browser",
104 "+components/content_settings/core/browser",
105 "+components/content_settings/core/test",
106 "+components/contextual_search/buildflags.h",
107 "+components/contextual_search/core/proto",
108 "+components/contextual_search/core/browser",
109 "+components/cookie_config",
110 "+components/country_codes",
111 "+components/crash/content/app",
112 "+components/crash/content/browser",
113 "+components/crash/core/app",
114 "+components/crash/core/browser",
115 "+components/crash/core/common",
116 "+components/creator",
117 "+components/crx_file",
118 "+components/data_use_measurement/core",
119 "+components/desks_storage",
121 "+components/device_event_log",
122 "+components/device_signals/core/browser",
123 "+components/device_signals/core/common",
124 "+components/content_relationship_verification",
125 "+components/digital_goods",
126 "+components/domain_reliability",
127 "+components/dom_distiller/content/browser",
128 "+components/dom_distiller/content/common",
129 "+components/dom_distiller/core",
130 "+components/dom_distiller/webui",
131 "+components/download/content/factory",
132 "+components/download/content/public",
133 "+components/download/internal/background_service",
134 "+components/download/network/android",
135 "+components/download/public/background_service",
136 "+components/download/public/common",
137 "+components/download/public/task",
139 "+components/embedder_support",
140 "+components/encrypted_messages",
141 "+components/enterprise",
142 "+components/environment_integrity/android",
143 "+components/error_page/content/browser",
145 "+components/external_intents",
146 "+components/favicon_base",
147 "+components/favicon/android",
148 "+components/favicon/content",
149 "+components/favicon/core",
150 "+components/feature_engagement",
152 "+components/feedback",
153 "+components/file_access",
154 "+components/find_in_page",
155 "+components/flags_ui",
156 "+components/fuchsia_component_support",
157 "+components/gcm_driver",
158 "+components/global_media_controls",
159 "+components/google/core/browser",
160 "+components/google/core/common",
162 "+components/guest_view/browser",
163 "+components/handoff",
164 "+components/headless",
165 "+components/heap_profiling",
166 "+components/heavy_ad_intervention",
167 "+components/history/content/browser",
168 "+components/history/core/browser",
169 "+components/history/core/common",
170 "+components/history/core/test",
171 "+components/history/metrics",
172 "+components/image_fetcher/core",
173 "+components/infobars/android",
174 "+components/infobars/content",
175 "+components/infobars/core",
176 "+components/installedapp",
177 "+components/invalidation/impl",
178 "+components/invalidation/public",
179 "+components/javascript_dialogs",
180 "+components/keep_alive_registry",
181 "+components/keyed_service/content",
182 "+components/keyed_service/core",
183 "+components/language/content/browser",
184 "+components/language/core/browser",
185 "+components/language/core/common",
186 "+components/language/core/language_model",
188 "+components/leveldb_proto/content",
189 "+components/leveldb_proto/public",
190 "+components/leveldb_proto/testing",
191 "+components/live_caption",
192 "+components/local_state",
193 "+components/location/android",
194 "+components/lookalikes/core",
196 "+components/media_device_salt",
197 "+components/media_message_center",
198 "+components/media_router/browser",
199 "+components/history_clusters",
200 "+components/history_clusters/history_clusters_internals",
202 "+components/media_effects",
203 "+components/memory_pressure",
204 "+components/messages/android",
205 "+components/metal_util",
206 "+components/metrics",
207 "+components/metrics_services_manager",
208 "+components/metrics/ui",
209 "+components/mirroring/browser",
210 "+components/mirroring/mojom",
211 "+components/mirroring/service",
212 "+components/module_installer/android",
213 "+components/nacl/broker",
214 "+components/nacl/browser",
215 "+components/nacl/common",
216 "+components/nacl/loader",
217 "+components/navigation_interception",
218 "+components/navigation_metrics",
219 "+components/net_log",
220 "+components/network_hints/common",
221 "+components/network_session_configurator/browser",
222 "+components/network_session_configurator/common",
223 "+components/network_time",
224 "+components/no_state_prefetch/browser",
225 "+components/no_state_prefetch/common",
226 "+components/ntp_snippets",
227 "+components/ntp_tiles",
228 "+components/offline_items_collection/core",
229 "+components/offline_pages/buildflags",
230 "+components/offline_pages/content",
231 "+components/offline_pages/core",
232 "+components/offline_pages/task",
233 "+components/omnibox/browser",
235 "+components/open_from_clipboard",
236 "+components/optimization_guide/content",
237 "+components/optimization_guide",
238 "+components/optimization_guide/optimization_guide_internals",
239 "+components/origin_trials",
240 "+components/os_crypt/async",
241 "+components/os_crypt/sync",
242 "+components/ownership",
243 "+components/page_image_service",
244 "+components/page_info",
245 "+components/page_load_metrics/browser",
246 "+components/page_load_metrics/common",
247 "+components/paint_preview/features",
248 "+components/paint_preview/browser",
249 "+components/paint_preview/buildflags",
250 "+components/password_manager/content/browser",
251 "+components/password_manager/content/common",
252 "+components/password_manager/core/browser",
253 "+components/password_manager/core/common",
254 "+components/payments/content",
255 "+components/payments/core",
256 "+components/performance_manager/public",
257 "+components/performance_manager/embedder",
258 "+components/performance_manager/performance_manager_tab_helper.h",
259 "+components/performance_manager/test_support",
260 "+components/performance_manager/performance_manager_impl.h",
261 "+components/permissions",
262 "+components/pdf/browser",
263 "+components/pdf/common",
264 "+components/plus_addresses",
265 "+components/policy",
266 "+components/power_bookmarks",
267 "+components/power_metrics",
268 "+components/pref_registry",
270 "+components/previews/content",
271 "+components/previews/core",
272 "+components/printing/browser",
273 "+components/printing/common",
274 "+components/privacy_sandbox",
275 "+components/profile_metrics",
276 "+components/proxy_config",
277 "+components/query_parser",
278 "+components/query_tiles",
279 "+components/quirks",
280 "+components/reading_list/core",
281 "+components/reading_list/features",
282 "+components/remote_cocoa/app_shim",
283 "+components/remote_cocoa/browser",
284 "+components/remote_cocoa/common",
285 "+components/renderer_context_menu",
286 "+components/reputation",
287 "+components/reporting",
289 "+components/safe_browsing/android",
290 "+components/safe_browsing/buildflags.h",
291 "+components/safe_browsing/content/browser",
292 "+components/safe_browsing/content/common",
293 "+components/safe_browsing/core/browser",
294 "+components/safe_browsing/core/common",
295 "+components/tpcd/metadata",
296 "+components/tpcd/support",
297 "+components/safe_search_api",
298 "+components/saved_tab_groups",
299 "+components/schema_org",
300 "+components/shared_highlighting/core/common",
301 "+components/search",
302 "+components/search_engines",
303 "+components/search_provider_logos",
304 "+components/security_interstitials/content",
305 "+components/security_interstitials/core",
306 "+components/security_state/content",
307 "+components/security_state/core",
308 "+components/segmentation_platform/public",
309 "+components/segmentation_platform/embedder",
310 "+components/send_tab_to_self",
311 "+components/services/app_service/public",
312 "+components/services/filesystem/public/mojom",
313 "+components/services/heap_profiling",
314 "+components/services/language_detection/public/cpp",
315 "+components/services/language_detection/public/mojom",
316 "+components/services/paint_preview_compositor/public/mojom",
317 "+components/services/patch/content",
318 "+components/services/patch/public",
319 "+components/services/print_compositor/public",
320 "+components/services/quarantine",
321 '+components/services/storage/public',
322 "+components/services/unzip",
323 "+components/session_manager",
324 "+components/sessions/content",
325 "+components/sessions/core",
326 "+components/services/screen_ai",
327 "+components/signin/core/browser",
328 "+components/signin/public",
329 "+components/site_engagement",
330 "+components/site_isolation",
332 "+components/spellcheck",
333 "+components/sqlite_proto",
334 "+components/ssl_errors",
335 "+components/startup_metric_utils/browser",
336 "+components/startup_metric_utils/common",
337 "+components/storage_monitor",
338 "+components/strings/grit",
339 "+components/subresource_filter/android",
340 "+components/subresource_filter/content/browser",
341 "+components/subresource_filter/content/mojom",
342 "+components/subresource_filter/core/browser",
343 "+components/subresource_filter/core/common",
344 "+components/subresource_filter/core/mojom",
345 "+components/supervised_user/core/browser",
346 "+components/supervised_user/core/common",
347 "+components/supervised_user/test_support",
349 "+components/sync_bookmarks",
350 "+components/sync_device_info",
351 "+components/sync_preferences",
352 "+components/sync_sessions",
353 "+components/sync_user_events",
354 "+components/tab_count_metrics",
355 "+components/tab_groups",
356 "+components/tracing/common",
357 "+components/translate/content/android",
358 "+components/translate/content/browser",
359 "+components/translate/content/common",
360 "+components/translate/core/browser",
361 "+components/translate/core/common",
362 "+components/translate/core/language_detection",
363 "+components/translate/translate_internals",
364 "+components/trusted_vault",
365 "+components/ui_devtools",
366 "+components/ui_metrics",
369 "+components/unexportable_keys",
370 "+components/unified_consent",
371 "+components/update_client",
372 "+components/upload_list",
373 "+components/url_matcher",
374 "+components/url_pattern_index/proto",
375 "+components/user_education",
376 "+components/user_manager",
377 "+components/user_notes",
378 "+components/user_prefs",
379 "+components/value_store",
380 "+components/vector_icons",
381 "+components/version_info",
382 "+components/version_ui",
383 "+components/viz/common",
384 "+components/viz/host",
385 "+components/web_cache/browser",
386 "+components/web_modal",
387 "+components/web_resource",
388 "+components/webapps/browser",
389 "+components/webapps/common",
390 "+components/webauthn",
391 "+components/webdata/common",
392 "+components/webdata_services",
393 "+components/webrtc_logging/browser",
394 "+components/webrtc_logging/common",
396 "+content/public/android/java/src/org/chromium/content_public/browser",
397 "+content/public/android/java/src/org/chromium/content_public/common",
398 "+content/public/browser",
399 "+content/public/common",
403 "+device/fido/features.h",
404 "+device/gamepad/public/cpp",
405 "+device/vr/buildflags/buildflags.h",
407 "+extensions/browser",
408 "+extensions/common",
409 "+extensions/components/javascript_dialog_extensions_client",
410 "+extensions/buildflags",
415 "+installer_util_strings", # For generated headers
416 "+media/media_buildflags.h",
417 "+media/audio", # For media audio hang monitor.
418 "+media/base", # For media switches
419 "+media/capabilities", # For InMemoryVideoDecodeStatsDB
421 "+media/gpu/buildflags.h",
422 "+media/remoting/device_capability_checker.h",
424 "+media/midi", # For midi switches
425 "+media/mojo", # For mojo media services.
427 "+media/webrtc", # For webrtc media switches.
428 "+mojo/core/embedder",
429 "+ppapi/c", # For various types.
432 "+ppapi/shared_impl",
433 "+remoting/host/chromeos/features.h",
437 "+services/audio/public",
438 "+services/cert_verifier",
439 "+services/data_decoder/public",
440 "+services/device/public",
441 "+services/image_annotation/public",
442 "+services/media_session/public",
443 "+services/metrics/metrics_mojo_service.h",
444 "+services/metrics/public",
445 "+services/network/cert_verifier_with_trust_anchors.h",
446 "+services/network/network_service.h",
447 "+services/network/public",
448 "+services/network/test",
449 "+services/network/url_request_context_owner.h",
450 "+services/network/url_request_context_builder_mojo.h",
451 "+services/on_device_model/public",
452 "+services/preferences/public/cpp",
453 "+services/preferences/public/mojom",
454 "+services/proxy_resolver", # Android runs the packaged proxy resolver
455 # service in process and needs impl access.
456 "+services/proxy_resolver/public/mojom",
457 "+services/proxy_resolver_win/public/mojom",
458 "+services/resource_coordinator/public/cpp",
459 "+services/resource_coordinator/public/mojom",
460 "+services/shape_detection/public/mojom",
462 "+services/tracing/public/cpp",
463 "+services/video_capture/public",
464 "+services/viz/public",
465 "+services/viz/privileged",
467 "+third_party/boringssl/src/include",
468 "+third_party/content_analysis_sdk",
469 "+third_party/crashpad",
470 "+third_party/cros_system_api",
471 "+third_party/metrics_proto",
472 "+third_party/tflite_support",
473 "+third_party/widevine/cdm/buildflags.h",
474 "+third_party/widevine/cdm/widevine_cdm_common.h",
475 "+chrome/services/machine_learning",
476 "+chrome/services/speech",
478 # Code under //ash should be accessed via its public API. See //ash/README.md.
480 "+ash/components/arc",
482 "+ash/keyboard/ui/grit",
483 "+ash/keyboard/ui/resources",
487 # The message center should only be accessed through
488 # //chrome/browser/notifications.
489 "-ui/message_center",
490 "+ui/message_center/public",
492 # chrome only needs switches and features flags from cc. All usage of the
493 # compositor is from content. Definitely don't include generic stuff from
494 # cc/base here, if this is needed these files need to move to base/
495 "+cc/base/features.h",
496 "+cc/base/switches.h",
498 # Unsafe to use from //chrome, see http://goo.gl/QQG5wo
499 "-content/public/test/test_browser_context.h",
504 # chrome/browser/ui/views/ is an implementation, not a public interface.
505 # Parent directories should not depend on it directly.
506 # TODO(crbug.com/1112591): Remove the exceptions below.
507 "-chrome/browser/ui/views",
508 "+chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h",
509 "+chrome/browser/ui/views/bubble/bubble_contents_wrapper_service_factory.h",
510 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h",
511 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views_lacros.h",
512 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h",
513 "+chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux_x11.h",
514 "+chrome/browser/ui/views/extensions/request_file_system_dialog_view.h",
515 "+chrome/browser/ui/views/frame/browser_view.h",
516 "+chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h",
517 "+chrome/browser/ui/views/notifications/request_pin_view_chromeos.h",
519 # Ensure that only the public interface of performance_manager gets used.
520 "-chrome/browser/performance_manager",
521 "+chrome/browser/performance_manager/public",
522 "+chrome/browser/performance_manager/test_support",
524 # Explicitly disallow using SyncMessageFilter to prevent browser from
525 # sending synchronous IPC messages on non-UI threads.
526 "-ipc/ipc_sync_message_filter.h",
528 # ASK TEXT-TO-SPEECH content/browser/speech/OWNERS BEFORE OVERRIDING THIS IN A
530 "-content/public/browser/tts_controller.h",
533 "+third_party/google_toolbox_for_mac/src",
534 "+third_party/icu/source/common/unicode",
535 "+third_party/icu/source/i18n/unicode",
536 "+third_party/leveldatabase",
537 "+third_party/libxml/chromium/xml_writer.h",
538 "+third_party/mozilla", # Mozilla interface headers.
539 "+third_party/ocmock/gtest_support.h",
540 "+third_party/protobuf/src/google/protobuf",
542 "+third_party/smhasher",
543 "+third_party/sqlite",
546 # No inclusion of WebKit from the browser, other than the ones in
547 # WebKit/public/{mojom,common}.
548 # TODO(crbug.com/1008303) clarify dependency and remove or move these individual headers
549 # into public/common.
550 "-third_party/blink",
551 "+third_party/blink/public/common",
552 "+third_party/blink/public/mojom",
553 "+third_party/blink/public/public_buildflags.h",
556 specific_include_rules = {
558 # Android instrumentation tests depend on the whole app.
560 "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
561 "+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
563 '.*TestUtils\.java': [
564 "+chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java",
565 "+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
567 "platform_util_linux.cc": [
568 # The following is used to call the org.freedesktop.FileManager1
569 # DBus interface to highlight a file within its parent folder
575 # TODO(estade): the message center is initialized and shut down here, but it
576 # should be the responsibility of code in chrome/browser/notifications/
577 "browser_process_impl.cc": [
578 "+ui/message_center/message_center.h",
580 "input_method_engine.cc": [
581 # For GetVirtualKeyboardController.
582 "+ash/keyboard/ui/keyboard_ui_controller.h",
584 "chrome_browsing_data_remover_delegate_unittest.cc": [
585 "+services/network/network_context.h",
586 "+services/network/network_service.h",
588 "chrome_authenticator_request_delegate_unittest\.cc": [
589 "+third_party/microsoft_webauthn/webauthn.h",
591 "chrome_content_browser_client_receiver_bindings\.cc" : [
592 "+chrome/browser/performance_manager/mechanisms/userspace_swap_chromeos.h",
594 "chrome_content_browser_client\.cc" : [
595 "+content/public/browser/tts_controller.h",
597 "chrome_navigation_browsertest.cc" : [
598 "+content/common/content_navigation_policy.h",
600 "about_flags\.cc" : [
601 "+mojo/core/embedder/features.h",
602 "+pdf/pdf_features.h",
603 "+sandbox/policy/features.h",
605 "dbus_memory_pressure_evaluator_linux(_unittest)?\.(cc|h)" : [
608 "browsing_data_model_browsertest.cc" : [
609 "+components/services/storage/shared_storage/shared_storage_manager.h",
611 "render_view_context_menu_browsertest.cc" : [
612 "+third_party/libwebp/src/src/webp/decode.h",
614 "webauth_interactive_uitest.cc": [
617 "shared_storage_browsertest.cc": [
618 "+components/services/storage/shared_storage/shared_storage_manager.h",