chromeos: Tighten DEPS on //ash in //chrome/browser to support mash
Under mash the code in //ash runs out of process. Code in //chrome/browser
must use the mojo interfaces in //ash/public/interfaces to talk to ash.
We're still in the process of refactoring existing code, but new code
should use the mojo approach. Tighten DEPS on //ash to limit the number
of new references.
Also file bugs to refactor the existing areas.
BUG=678705
TEST=buildtools/checkdeps/checkdeps.py
Review-Url: https://codereview.chromium.org/2891923003
Cr-Commit-Position: refs/heads/master@{#475577}
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index d0c2430..53e7be9 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -1,6 +1,5 @@
include_rules = [
"+apps",
- "+ash",
"+cc/paint",
"+chrome/app",
"+chrome/chrome_watcher",
@@ -61,6 +60,13 @@
"+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/
@@ -79,11 +85,6 @@
"+chrome/browser/ui/views/try_chrome_dialog_view.h",
"+chrome/browser/ui/views/ash/chrome_browser_main_extra_parts_ash.h",
- # Code in chrome should not use ash::SessionStateDelegate and friends.
- # Instead, use SessionManager/UserManager/SessionControllerClient directly
- # since they are part of chrome.
- "-ash/session",
-
# Explicitly disallow using SyncMessageFilter to prevent browser from
# sending synchronous IPC messages on non-UI threads.
"-ipc/ipc_sync_message_filter.h",
@@ -135,3 +136,10 @@
"+third_party/WebKit/public/web/WebTextDirection.h",
"+third_party/WebKit/public/web/window_features.mojom.h",
]
+specific_include_rules = {
+ # TODO(mash): Remove. http://crbug.com/678705
+ "fullscreen_chromeos\.cc": [
+ "+ash/root_window_controller.h",
+ "+ash/shell.h",
+ ]
+}