[M120 Migration]Fix for crash during chrome exit
[platform/framework/web/chromium-efl.git] / chrome / browser / DEPS
1 include_rules = [
2   "+apps",
3   "+cc/input/browser_controls_state.h",
4   "+cc/metrics",
5   "+cc/paint",
6   "+cc/test",
7
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",
14
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",
20   "+chrome/app",
21   "+chrome/credential_provider/common",
22   "+chrome/grit",
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",
38   "+chromeos",
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.
44   "+components/arc",
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",
58   "+components/base32",
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",
84   "+components/cbor",
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",
94   "+components/color",
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",
120   "+components/dbus",
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",
138   "+components/drive",
139   "+components/embedder_support",
140   "+components/encrypted_messages",
141   "+components/enterprise",
142   "+components/environment_integrity/android",
143   "+components/error_page/content/browser",
144   "+components/exo",
145   "+components/external_intents",
146   "+components/favicon_base",
147   "+components/favicon/android",
148   "+components/favicon/content",
149   "+components/favicon/core",
150   "+components/feature_engagement",
151   "+components/feed",
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",
161   "+components/grit",
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",
187   "+components/lens",
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",
195   "+components/login",
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",
201   "+components/manta",
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",
234   "+components/onc",
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",
269   "+components/prefs",
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",
288   "+components/rlz",
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",
331   "+components/soda",
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",
348   "+components/sync",
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",
367   "+components/ukm",
368   "+components/undo",
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",
395   "+components/zoom",
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",
400   "+courgette",
401   "+device/base",
402   "+device/bluetooth",
403   "+device/fido/features.h",
404   "+device/gamepad/public/cpp",
405   "+device/vr/buildflags/buildflags.h",
406   "+device/vr/public",
407   "+extensions/browser",
408   "+extensions/common",
409   "+extensions/components/javascript_dialog_extensions_client",
410   "+extensions/buildflags",
411   "+extensions/grit",
412   "+extensions/test",
413   "+google_apis",
414   "+google_update",
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
420   "+media/cdm",
421   "+media/gpu/buildflags.h",
422   "+media/remoting/device_capability_checker.h",
423   "+media/capture",
424   "+media/midi",  # For midi switches
425   "+media/mojo",  # For mojo media services.
426   "+media/renderers",
427   "+media/webrtc",  # For webrtc media switches.
428   "+mojo/core/embedder",
429   "+ppapi/c",  # For various types.
430   "+ppapi/host",
431   "+ppapi/proxy",
432   "+ppapi/shared_impl",
433   "+remoting/host/chromeos/features.h",
434   "+rlz",
435   "+sandbox/mac",
436   "+sandbox/win/src",
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",
461   "+services/strings",
462   "+services/tracing/public/cpp",
463   "+services/video_capture/public",
464   "+services/viz/public",
465   "+services/viz/privileged",
466   "+skia/ext",
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",
477
478   # Code under //ash should be accessed via its public API. See //ash/README.md.
479   "-ash",
480   "+ash/components/arc",
481   "+ash/constants",
482   "+ash/keyboard/ui/grit",
483   "+ash/keyboard/ui/resources",
484   "+ash/public",
485   "+ash/webui",
486
487   # The message center should only be accessed through
488   # //chrome/browser/notifications.
489   "-ui/message_center",
490   "+ui/message_center/public",
491
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",
497
498   # Unsafe to use from //chrome, see http://goo.gl/QQG5wo
499   "-content/public/test/test_browser_context.h",
500
501   "+storage/browser",
502   "+storage/common",
503
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",
518
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",
523
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",
527
528   # ASK TEXT-TO-SPEECH content/browser/speech/OWNERS BEFORE OVERRIDING THIS IN A
529   # SUBDIRECTORY.
530   "-content/public/browser/tts_controller.h",
531
532   # Other libraries.
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",
541   "+third_party/re2",
542   "+third_party/smhasher",
543   "+third_party/sqlite",
544   "+third_party/zlib",
545
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",
554 ]
555
556 specific_include_rules = {
557   '.*Test\.java': [
558     # Android instrumentation tests depend on the whole app.
559     "+chrome/android",
560     "+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
561     "+chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java",
562   ],
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",
566     ],
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
570     "+dbus"
571   ],
572   "exo_parts\.cc": [
573     "+ash/shell.h",
574   ],
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",
579   ],
580   "input_method_engine.cc": [
581     # For GetVirtualKeyboardController.
582     "+ash/keyboard/ui/keyboard_ui_controller.h",
583   ],
584   "chrome_browsing_data_remover_delegate_unittest.cc": [
585     "+services/network/network_context.h",
586     "+services/network/network_service.h",
587   ],
588   "chrome_authenticator_request_delegate_unittest\.cc": [
589     "+third_party/microsoft_webauthn/webauthn.h",
590   ],
591   "chrome_content_browser_client_receiver_bindings\.cc" : [
592     "+chrome/browser/performance_manager/mechanisms/userspace_swap_chromeos.h",
593   ],
594   "chrome_content_browser_client\.cc" : [
595     "+content/public/browser/tts_controller.h",
596   ],
597   "chrome_navigation_browsertest.cc" : [
598     "+content/common/content_navigation_policy.h",
599   ],
600   "about_flags\.cc" : [
601     "+mojo/core/embedder/features.h",
602     "+pdf/pdf_features.h",
603     "+sandbox/policy/features.h",
604   ],
605   "dbus_memory_pressure_evaluator_linux(_unittest)?\.(cc|h)" : [
606     "+dbus",
607   ],
608   "browsing_data_model_browsertest.cc" : [
609     "+components/services/storage/shared_storage/shared_storage_manager.h",
610   ],
611   "render_view_context_menu_browsertest.cc" : [
612     "+third_party/libwebp/src/src/webp/decode.h",
613   ],
614   "webauth_interactive_uitest.cc": [
615     "+device/fido",
616   ],
617   "shared_storage_browsertest.cc": [
618     "+components/services/storage/shared_storage/shared_storage_manager.h",
619   ],
620 }