Make //chromeos/dbus a separate component.

This makes //chomroes/dbus a separate component and removes it from
//chromeos. Components that depend on //chromeos/dbus must now depend
on it explicitly. All DBus dependencies have been removed from
//chromeos.

Bug: 863439
Change-Id: Ie6bb0dfe8f9baf17ea6db85c058c3d4fd3e6fe23
Reviewed-on: https://chromium-review.googlesource.com/c/1398782
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621730}
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index 93b9958..4e7cb3a 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -1369,6 +1369,7 @@
     # TODO(stevenjb): Investigate whether this is OK. https://crbug.com/644336.
     "//chromeos/audio",
     "//chromeos/components/multidevice/logging",
+    "//chromeos/dbus",
     "//chromeos/dbus:power_manager_proto",
     "//chromeos/dbus/services:services",
     "//chromeos/services/assistant/public:feature_flags",
@@ -1555,6 +1556,7 @@
 
     # TODO(stevenjb): Investigate whether this is OK. https://crbug.com/644336.
     "//chromeos/audio",
+    "//chromeos/dbus",
     "//components/discardable_memory/public/interfaces",
     "//components/services/font:lib",
     "//components/services/font/public/interfaces",
@@ -1927,11 +1929,11 @@
     "//base/test:test_support",
     "//chromeos",
     "//chromeos:test_support",
-    "//chromeos:test_support_without_gmock",
 
     # TODO(stevenjb): Investigate whether this is OK. https://crbug.com/644336.
     "//chromeos/audio",
     "//chromeos/dbus:power_manager_proto",
+    "//chromeos/dbus:test_support",
     "//chromeos/services/assistant:test_support",
     "//chromeos/services/multidevice_setup/public/cpp:test_support",
     "//chromeos/services/multidevice_setup/public/mojom",
@@ -2201,10 +2203,10 @@
     "//base/test:test_support",
     "//cc:test_support",
     "//chromeos",
-    "//chromeos:test_support_without_gmock",
 
     # TODO(stevenjb): Investigate whether this is OK. https://crbug.com/644336.
     "//chromeos/audio",
+    "//chromeos/dbus:test_support",
     "//components/account_id",
     "//components/prefs:test_support",
     "//components/user_manager:user_manager",
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index 5fe73c4..d3925c73 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -79,6 +79,7 @@
     "//chrome/services/diagnosticsd/public/mojom",
     "//chrome/services/file_util/public/cpp",
     "//chromeos",
+    "//chromeos:policy_certificate_provider",
     "//chromeos/assistant:buildflags",
     "//chromeos/attestation",
     "//chromeos/audio",
@@ -89,6 +90,7 @@
     "//chromeos/components/proximity_auth",
     "//chromeos/components/tether",
     "//chromeos/cryptohome",
+    "//chromeos/dbus",
     "//chromeos/dbus:attestation_proto",
     "//chromeos/dbus:authpolicy_proto",
     "//chromeos/dbus:biod_proto",
@@ -2069,6 +2071,7 @@
     "//chromeos",
     "//chromeos/components/drivefs",
     "//chromeos/components/drivefs:test_support",
+    "//chromeos/dbus",
     "//components/crx_file",
     "//components/drive",
     "//components/policy/proto",
@@ -2508,6 +2511,7 @@
     "//chrome/common",
     "//chromeos/components/multidevice:test_support",
     "//chromeos/components/tether:test_support",
+    "//chromeos/dbus",
     "//chromeos/dbus:login_manager_proto",
     "//chromeos/dbus/services:test_support",
     "//chromeos/ime:gencode",
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
index fdaadcd..635e58d 100644
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -958,6 +958,7 @@
       "//chromeos/attestation",
       "//chromeos/components/proximity_auth",
       "//chromeos/cryptohome",
+      "//chromeos/dbus",
       "//chromeos/disks",
       "//chromeos/login/login_state",
       "//chromeos/services/ime/public/mojom",
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index b160621..e42a5f0 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -384,7 +384,6 @@
     "//chrome/common",
     "//chrome/common/net",
     "//chrome/installer/util:with_no_strings",
-    "//chromeos/assistant:buildflags",
     "//components/about_ui",
     "//components/account_id",
     "//components/app_modal",
@@ -1739,6 +1738,7 @@
       "//ash/public/cpp/resources:ash_public_unscaled_resources",
       "//ash/public/cpp/vector_icons",
       "//chrome/browser/chromeos",
+      "//chromeos/assistant:buildflags",
       "//chromeos/audio",
       "//chromeos/components/multidevice",
       "//chromeos/components/multidevice/debug_webui",
@@ -1746,6 +1746,7 @@
       "//chromeos/components/proximity_auth",
       "//chromeos/components/tether",
       "//chromeos/cryptohome",
+      "//chromeos/dbus",
       "//chromeos/dbus:cryptohome_proto",
       "//chromeos/login/auth",
       "//chromeos/login/login_state",
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 54841f9..d8528be 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -5037,7 +5037,8 @@
         "//ash/public/interfaces:test_interfaces",
         "//chrome/browser/chromeos:test_support",
         "//chrome/browser/media/router:test_support",
-        "//chromeos",
+        "//chromeos:test_support",
+        "//chromeos/dbus:test_support",
         "//mojo/core/embedder",
       ]
 
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn
index 0b41110..f528bd2 100644
--- a/chromeos/BUILD.gn
+++ b/chromeos/BUILD.gn
@@ -29,28 +29,20 @@
   public_deps = [
     ":chromeos_constants",
     ":chromeos_export",
-    ":policy_certificate_provider",
     ":tools",
-    "//chromeos/dbus",
     "//chromeos/geolocation",
     "//chromeos/network",
     "//chromeos/settings",
     "//chromeos/timezone",
-    "//dbus",
   ]
   deps = [
     ":account_manager_proto",
     "//base",
     "//base:i18n",
-    "//base/third_party/dynamic_annotations",
-    "//components/account_id",
     "//components/device_event_log",
-    "//components/policy:cloud_policy_proto_generated_compile",
     "//components/policy/proto",
     "//components/pref_registry",
     "//components/prefs",
-    "//components/user_manager",
-    "//crypto:platform",
     "//google_apis",
     "//services/network/public/cpp:cpp",
     "//third_party/protobuf:protobuf_lite",
@@ -194,7 +186,6 @@
     "//chromeos/disks:test_support",
     "//chromeos/login/auth:test_support",
     "//chromeos/login/login_state:test_support",
-    "//components/account_id",
     "//google_apis",
     "//net:test_support",
     "//services/network:test_support",
@@ -221,13 +212,6 @@
   ]
 }
 
-static_library("test_support_without_gmock") {
-  testonly = true
-  public_deps = [
-    "//chromeos/dbus",
-  ]
-}
-
 test("chromeos_unittests") {
   configs += [
     "//build/config/linux/dbus",
@@ -236,15 +220,11 @@
   deps = [
     ":chromeos_buildflags",
     ":test_support",
-    ":test_support_without_gmock",
     "//base/test:test_support",
     "//chromeos/attestation:unit_tests",
     "//chromeos/audio:unit_tests",
     "//chromeos/cryptohome:unit_tests",
-    "//chromeos/dbus:authpolicy_proto",
-    "//chromeos/dbus:cryptohome_proto",
-    "//chromeos/dbus:dbus",
-    "//chromeos/dbus:power_manager_proto",
+    "//chromeos/dbus:test_support",
     "//chromeos/dbus:unit_tests",
     "//chromeos/dbus/services:unit_tests",
     "//chromeos/disks:unit_tests",
@@ -256,14 +236,11 @@
     "//chromeos/settings:unit_tests",
     "//chromeos/timezone:unit_tests",
     "//chromeos/tpm:unit_tests",
-    "//components/account_id",
     "//components/onc",
     "//components/policy:generated",
     "//components/policy/proto",
     "//components/prefs:test_support",
     "//components/proxy_config",
-    "//crypto",
-    "//crypto:test_support",
     "//dbus:test_support",
     "//google_apis",
     "//mojo/core/embedder",
diff --git a/chromeos/attestation/BUILD.gn b/chromeos/attestation/BUILD.gn
index e0e9af3..ad87f91 100644
--- a/chromeos/attestation/BUILD.gn
+++ b/chromeos/attestation/BUILD.gn
@@ -45,7 +45,7 @@
     ":test_support",
     "//base/test:test_support",
     "//chromeos/cryptohome:test_support",
-    "//chromeos/dbus",
+    "//chromeos/dbus:test_support",
     "//components/account_id",
     "//testing/gmock",
     "//testing/gtest",
diff --git a/chromeos/audio/BUILD.gn b/chromeos/audio/BUILD.gn
index 9a715c2..ba05a60 100644
--- a/chromeos/audio/BUILD.gn
+++ b/chromeos/audio/BUILD.gn
@@ -36,7 +36,7 @@
     ":audio",
     "//base/test:test_support",
     "//chromeos:chromeos_constants",
-    "//chromeos/dbus",
+    "//chromeos/dbus:test_support",
     "//components/prefs:test_support",
     "//media/base:video_facing",
     "//testing/gtest",
diff --git a/chromeos/components/drivefs/BUILD.gn b/chromeos/components/drivefs/BUILD.gn
index e269090..94ca6b5d 100644
--- a/chromeos/components/drivefs/BUILD.gn
+++ b/chromeos/components/drivefs/BUILD.gn
@@ -20,6 +20,7 @@
     "//base",
     "//chromeos",
     "//chromeos/components/drivefs/mojom",
+    "//chromeos/dbus",
     "//chromeos/disks",
     "//components/account_id",
     "//components/drive",
@@ -46,6 +47,7 @@
     "//base",
     "//chromeos",
     "//chromeos/components/drivefs/mojom",
+    "//chromeos/dbus",
     "//net",
   ]
 }
diff --git a/chromeos/components/multidevice/BUILD.gn b/chromeos/components/multidevice/BUILD.gn
index 5908836..ce4a26a 100644
--- a/chromeos/components/multidevice/BUILD.gn
+++ b/chromeos/components/multidevice/BUILD.gn
@@ -31,6 +31,7 @@
     "//base:i18n",
     "//chromeos",
     "//chromeos/components/multidevice/logging",
+    "//chromeos/dbus",
     "//chromeos/services/device_sync/proto",
     "//chromeos/services/device_sync/proto:util",
     "//components/prefs",
diff --git a/chromeos/components/proximity_auth/BUILD.gn b/chromeos/components/proximity_auth/BUILD.gn
index 517adba..51d7e85 100644
--- a/chromeos/components/proximity_auth/BUILD.gn
+++ b/chromeos/components/proximity_auth/BUILD.gn
@@ -55,6 +55,7 @@
     "//chromeos/components/multidevice",
     "//chromeos/components/multidevice/logging",
     "//chromeos/components/proximity_auth/public/interfaces",
+    "//chromeos/dbus",
     "//chromeos/services/multidevice_setup/public/cpp",
     "//chromeos/services/multidevice_setup/public/cpp:prefs",
     "//chromeos/services/secure_channel/public/cpp/client",
@@ -119,6 +120,7 @@
     "//chromeos/components/multidevice",
     "//chromeos/components/multidevice:test_support",
     "//chromeos/components/multidevice/logging",
+    "//chromeos/dbus",
     "//chromeos/services/multidevice_setup/public/cpp:prefs",
     "//chromeos/services/multidevice_setup/public/cpp:test_support",
     "//chromeos/services/secure_channel:test_support",
diff --git a/chromeos/components/tether/BUILD.gn b/chromeos/components/tether/BUILD.gn
index fe99100..f7fc2a1 100644
--- a/chromeos/components/tether/BUILD.gn
+++ b/chromeos/components/tether/BUILD.gn
@@ -119,6 +119,7 @@
     "//chromeos",
     "//chromeos/components/multidevice/logging",
     "//chromeos/components/tether/proto",
+    "//chromeos/dbus",
     "//chromeos/login/login_state",
     "//chromeos/services/device_sync/public/cpp",
     "//chromeos/services/multidevice_setup/public/cpp:cpp",
@@ -266,6 +267,7 @@
     "//chromeos/components/multidevice",
     "//chromeos/components/multidevice:test_support",
     "//chromeos/components/tether/proto",
+    "//chromeos/dbus:test_support",
     "//chromeos/login/login_state",
     "//chromeos/services/device_sync:test_support",
     "//chromeos/services/device_sync/public/cpp",
diff --git a/chromeos/cryptohome/BUILD.gn b/chromeos/cryptohome/BUILD.gn
index abaed15..74aa37c 100644
--- a/chromeos/cryptohome/BUILD.gn
+++ b/chromeos/cryptohome/BUILD.gn
@@ -59,7 +59,7 @@
     ":test_support",
     "//base",
     "//base/test:test_support",
-    "//chromeos/dbus",
+    "//chromeos/dbus:test_support",
     "//chromeos/login/auth:challenge_response_key",
     "//testing/gtest:gtest",
   ]
diff --git a/chromeos/dbus/BUILD.gn b/chromeos/dbus/BUILD.gn
index 869d52a5..3978a5f6 100644
--- a/chromeos/dbus/BUILD.gn
+++ b/chromeos/dbus/BUILD.gn
@@ -2,13 +2,13 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//build/config/chromeos/rules.gni")
 import("//testing/test.gni")
 import("//third_party/protobuf/proto_library.gni")
 
 assert(is_chromeos, "Non-Chrome-OS builds must not depend on //chromeos")
 
-source_set("dbus") {
+component("dbus") {
+  output_name = "chromeos_dbus"  # Avoid conflict with //dbus
   defines = [ "IS_CHROMEOS_DBUS_IMPL" ]
   public_deps = [
     ":constants",
@@ -237,7 +237,7 @@
 }
 
 source_set("constants") {
-  configs += [ "//chromeos:chromeos_implementation" ]
+  defines = [ "IS_CHROMEOS_DBUS_IMPL" ]
   deps = [
     "//base",
   ]
@@ -252,12 +252,14 @@
 source_set("test_support") {
   testonly = true
   configs += [ "//build/config/linux/dbus" ]
-  deps = [
-    ":biod_proto",
+  public_deps = [
     ":dbus",
-    "//base",
     "//dbus",
     "//dbus:test_support",
+  ]
+  deps = [
+    ":biod_proto",
+    "//base",
     "//testing/gmock",
     "//testing/gtest",
   ]
diff --git a/chromeos/dbus/fake_session_manager_client.h b/chromeos/dbus/fake_session_manager_client.h
index c136189b..fb331ea 100644
--- a/chromeos/dbus/fake_session_manager_client.h
+++ b/chromeos/dbus/fake_session_manager_client.h
@@ -11,6 +11,7 @@
 
 #include "base/callback_forward.h"
 #include "base/compiler_specific.h"
+#include "base/component_export.h"
 #include "base/macros.h"
 #include "base/observer_list.h"
 #include "base/time/time.h"
@@ -21,7 +22,8 @@
 
 // A fake implementation of session_manager. Accepts policy blobs to be set and
 // returns them unmodified.
-class FakeSessionManagerClient : public SessionManagerClient {
+class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeSessionManagerClient
+    : public SessionManagerClient {
  public:
   enum class PolicyStorageType {
     kOnDisk,    // Store policy in regular files on disk. Usually used for
diff --git a/chromeos/dbus/fake_update_engine_client.h b/chromeos/dbus/fake_update_engine_client.h
index b17c3af..e60a1b4 100644
--- a/chromeos/dbus/fake_update_engine_client.h
+++ b/chromeos/dbus/fake_update_engine_client.h
@@ -7,6 +7,7 @@
 
 #include <string>
 
+#include "base/component_export.h"
 #include "base/containers/queue.h"
 #include "chromeos/dbus/update_engine_client.h"
 
@@ -16,7 +17,8 @@
 // use set_update_engine_client_status() to set a fake last Status and
 // GetLastStatus() returns the fake with no modification. Other methods do
 // nothing.
-class FakeUpdateEngineClient : public UpdateEngineClient {
+class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeUpdateEngineClient
+    : public UpdateEngineClient {
  public:
   FakeUpdateEngineClient();
   ~FakeUpdateEngineClient() override;
diff --git a/chromeos/disks/BUILD.gn b/chromeos/disks/BUILD.gn
index 28757a2f..2cee8ce2 100644
--- a/chromeos/disks/BUILD.gn
+++ b/chromeos/disks/BUILD.gn
@@ -32,8 +32,8 @@
   deps = [
     "//base",
     "//base/test:test_support",
-    "//chromeos/dbus",
     "//chromeos/dbus:power_manager_proto",
+    "//chromeos/dbus:test_support",
     "//testing/gmock",
     "//testing/gtest",
   ]
@@ -50,8 +50,8 @@
     ":test_support",
     "//base/test:test_support",
     "//chromeos:chromeos_constants",
-    "//chromeos/dbus",
     "//chromeos/dbus:power_manager_proto",
+    "//chromeos/dbus:test_support",
     "//testing/gmock",
     "//testing/gtest",
   ]
diff --git a/chromeos/login/auth/BUILD.gn b/chromeos/login/auth/BUILD.gn
index 9609ef14..07d3cdbd 100644
--- a/chromeos/login/auth/BUILD.gn
+++ b/chromeos/login/auth/BUILD.gn
@@ -111,8 +111,8 @@
     "//base",
     "//base:i18n",
     "//chromeos:chromeos_constants",
-    "//chromeos/dbus",
     "//chromeos/dbus:authpolicy_proto",
+    "//chromeos/dbus:test_support",
     "//testing/gmock",
     "//testing/gtest",
     "//third_party/icu",
diff --git a/chromeos/network/BUILD.gn b/chromeos/network/BUILD.gn
index 9ffe5ad..73d3e75 100644
--- a/chromeos/network/BUILD.gn
+++ b/chromeos/network/BUILD.gn
@@ -172,7 +172,7 @@
     "//chromeos:chromeos_constants",
     "//chromeos:policy_certificate_provider",
     "//chromeos:test_support_source_set",
-    "//chromeos/dbus",
+    "//chromeos/dbus:test_support",
     "//chromeos/login/login_state",
     "//components/onc",
     "//components/prefs",
diff --git a/chromeos/services/assistant/BUILD.gn b/chromeos/services/assistant/BUILD.gn
index df67cec..fdee4d8 100644
--- a/chromeos/services/assistant/BUILD.gn
+++ b/chromeos/services/assistant/BUILD.gn
@@ -36,6 +36,7 @@
     "//build/util:webkit_version",
     "//chromeos",
     "//chromeos/assistant:buildflags",
+    "//chromeos/dbus",
     "//components/account_id",
     "//services/device/public/mojom",
     "//services/identity/public/mojom",
@@ -123,6 +124,7 @@
     "//base",
     "//base/test:test_support",
     "//chromeos",
+    "//chromeos/dbus",
     "//chromeos/services/assistant/public/mojom",
     "//mojo/public/cpp/bindings:bindings",
     "//services/device/public/mojom",
diff --git a/chromeos/services/device_sync/BUILD.gn b/chromeos/services/device_sync/BUILD.gn
index eab6038..069023a 100644
--- a/chromeos/services/device_sync/BUILD.gn
+++ b/chromeos/services/device_sync/BUILD.gn
@@ -154,9 +154,9 @@
     ":test_support",
     "//base",
     "//base/test:test_support",
-    "//chromeos",
     "//chromeos/components/multidevice",
     "//chromeos/components/multidevice:test_support",
+    "//chromeos/dbus:test_support",
     "//chromeos/services/device_sync/proto:util",
     "//chromeos/services/device_sync/public/cpp:test_support",
     "//chromeos/services/device_sync/public/cpp:unit_tests",
diff --git a/chromeos/services/machine_learning/public/cpp/BUILD.gn b/chromeos/services/machine_learning/public/cpp/BUILD.gn
index 868c98e..543738a4 100644
--- a/chromeos/services/machine_learning/public/cpp/BUILD.gn
+++ b/chromeos/services/machine_learning/public/cpp/BUILD.gn
@@ -12,6 +12,7 @@
   deps = [
     "//base",
     "//chromeos",
+    "//chromeos/dbus",
     "//chromeos/services/machine_learning/public/mojom",
   ]
 }
@@ -25,6 +26,7 @@
     ":cpp",
     "//base/test:test_support",
     "//chromeos",
+    "//chromeos/dbus",
     "//chromeos/services/machine_learning/public/mojom",
     "//mojo/core/embedder",
     "//mojo/public/cpp/bindings",
diff --git a/chromeos/tpm/BUILD.gn b/chromeos/tpm/BUILD.gn
index a4262c9..2956e3b 100644
--- a/chromeos/tpm/BUILD.gn
+++ b/chromeos/tpm/BUILD.gn
@@ -39,8 +39,8 @@
     "//base/test:test_support",
     "//chromeos:chromeos_constants",
     "//chromeos/cryptohome:test_support",
-    "//chromeos/dbus",
     "//chromeos/dbus:cryptohome_proto",
+    "//chromeos/dbus:test_support",
     "//components/policy/proto",
     "//google_apis",
     "//testing/gtest",
diff --git a/components/arc/BUILD.gn b/components/arc/BUILD.gn
index 91adbfb..bdcd8260 100644
--- a/components/arc/BUILD.gn
+++ b/components/arc/BUILD.gn
@@ -81,6 +81,7 @@
     "//base",
     "//chromeos",
     "//chromeos/audio",
+    "//chromeos/dbus",
     "//chromeos/dbus:login_manager_proto",
     "//chromeos/dbus:power_manager_proto",
     "//chromeos/disks",
@@ -185,6 +186,7 @@
     "//base",
     "//chromeos",
     "//chromeos/cryptohome",
+    "//chromeos/dbus",
     "//chromeos/dbus:login_manager_proto",
     "//components/account_id",
     "//components/keyed_service/content",
@@ -323,9 +325,9 @@
     "//base",
     "//base/test:test_support",
     "//chromeos",
-    "//chromeos:test_support_without_gmock",
     "//chromeos/cryptohome:test_support",
     "//chromeos/dbus:power_manager_proto",
+    "//chromeos/dbus:test_support",
     "//chromeos/disks:test_support",
     "//components/account_id",
     "//components/keyed_service/content",
diff --git a/components/metrics/BUILD.gn b/components/metrics/BUILD.gn
index 1b8eb957..8e787c7 100644
--- a/components/metrics/BUILD.gn
+++ b/components/metrics/BUILD.gn
@@ -423,7 +423,10 @@
   }
 
   if (is_chromeos) {
-    deps += [ "//chromeos" ]
+    deps += [
+      "//chromeos",
+      "//chromeos/dbus",
+    ]
   }
 
   # iOS is not supported by the profiler and the ios-simulator bot chokes on
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index e5277ca..26af24a 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -2415,6 +2415,7 @@
       "//chromeos",
       "//chromeos/assistant:buildflags",
       "//chromeos/audio",
+      "//chromeos/dbus",
       "//chromeos/dbus:power_manager_proto",
       "//components/session_manager/core",
     ]
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index c80a9a4..9331f852 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -440,6 +440,7 @@
   if (is_chromeos) {
     deps += [
       "//chromeos",
+      "//chromeos/dbus",
       "//services/ws/test_ws:lib",
       "//services/ws/test_ws:mojom",
       "//ui/wm:test_support",
diff --git a/device/BUILD.gn b/device/BUILD.gn
index d94ffdcb..7d0b01d 100644
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -213,7 +213,6 @@
     deps += [
       "//chromeos",
       "//chromeos:test_support",
-      "//chromeos:test_support_without_gmock",
     ]
   }
 
diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn
index 851b4f3..238a8ab14 100644
--- a/device/bluetooth/BUILD.gn
+++ b/device/bluetooth/BUILD.gn
@@ -234,7 +234,10 @@
   }
 
   if (is_chromeos) {
-    deps += [ "//chromeos" ]
+    deps += [
+      "//chromeos",
+      "//chromeos/dbus",
+    ]
   }
 
   if (is_mac) {
diff --git a/device/usb/BUILD.gn b/device/usb/BUILD.gn
index 3248fe6b4..cccf4e8 100644
--- a/device/usb/BUILD.gn
+++ b/device/usb/BUILD.gn
@@ -122,6 +122,7 @@
   if (is_chromeos) {
     deps += [
       "//chromeos",
+      "//chromeos/dbus",
       "//dbus",
     ]
   }
diff --git a/device/usb/mojo/BUILD.gn b/device/usb/mojo/BUILD.gn
index d175ad4..2102e69 100644
--- a/device/usb/mojo/BUILD.gn
+++ b/device/usb/mojo/BUILD.gn
@@ -25,6 +25,6 @@
   ]
 
   if (is_chromeos) {
-    deps += [ "//chromeos/dbus:dbus" ]
+    deps += [ "//chromeos/dbus" ]
   }
 }
diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
index d6b0fe3..13cd7d8 100644
--- a/extensions/browser/BUILD.gn
+++ b/extensions/browser/BUILD.gn
@@ -508,6 +508,7 @@
       "//chromeos/audio",
       "//chromeos/dbus:media_perception_proto",
       "//chromeos/dbus:power_manager_proto",
+      "//chromeos/dbus:test_support",
       "//chromeos/login/login_state",
     ]
   }
@@ -695,6 +696,7 @@
     deps += [
       "//chromeos:test_support",
       "//chromeos/dbus:media_perception_proto",
+      "//chromeos/dbus:test_support",
       "//chromeos/login/login_state",
       "//components/feedback",
       "//extensions/shell:app_shell_lib",
diff --git a/extensions/browser/api/BUILD.gn b/extensions/browser/api/BUILD.gn
index 19acd3d4..855f389 100644
--- a/extensions/browser/api/BUILD.gn
+++ b/extensions/browser/api/BUILD.gn
@@ -143,6 +143,7 @@
 
     deps += [
       "//chromeos",
+      "//chromeos/dbus",
       "//chromeos/dbus:media_perception_proto",
       "//chromeos/login/login_state",
       "//chromeos/services/media_perception/public/mojom",
diff --git a/extensions/shell/BUILD.gn b/extensions/shell/BUILD.gn
index f1f731f..7a5a2980 100644
--- a/extensions/shell/BUILD.gn
+++ b/extensions/shell/BUILD.gn
@@ -229,6 +229,7 @@
     deps += [
       "//chromeos",
       "//chromeos/audio",
+      "//chromeos/dbus",
       "//chromeos/disks",
       "//chromeos/login/login_state",
       "//ui/chromeos",
@@ -354,9 +355,9 @@
       "browser/shell_screen_unittest.cc",
     ]
     deps += [
-      "//chromeos",
-      "//chromeos:test_support_without_gmock",
+      "//chromeos:test_support",
       "//chromeos/audio",
+      "//chromeos/dbus:test_support",
     ]
   }
 
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
index d987050..9dc0255a 100644
--- a/media/audio/BUILD.gn
+++ b/media/audio/BUILD.gn
@@ -273,8 +273,8 @@
     ]
     configs += [ ":libcras" ]
     deps += [
-      "//chromeos",
       "//chromeos/audio",
+      "//chromeos/dbus",
     ]
   }
 
@@ -435,8 +435,8 @@
 
     if (!is_chromecast) {
       deps += [
-        "//chromeos",
         "//chromeos/audio",
+        "//chromeos/dbus:test_support",
       ]
     }
 
diff --git a/media/capture/BUILD.gn b/media/capture/BUILD.gn
index 5c1939b0..d361a79 100644
--- a/media/capture/BUILD.gn
+++ b/media/capture/BUILD.gn
@@ -268,7 +268,7 @@
     public_deps += [ "//media/capture/video/chromeos/public" ]
     deps += [
       "//build/config/linux/libdrm",
-      "//chromeos:chromeos",
+      "//chromeos/dbus",
       "//media/capture/video/chromeos/mojo:cros_camera",
       "//third_party/libsync",
     ]
@@ -281,6 +281,7 @@
     ]
   }
 }
+
 source_set("test_support") {
   testonly = true
 
@@ -392,7 +393,7 @@
     ]
     deps += [
       "//build/config/linux/libdrm",
-      "//chromeos:chromeos",
+      "//chromeos/dbus:test_support",
       "//media/capture/video/chromeos/mojo:cros_camera",
       "//mojo/core/embedder",
       "//third_party/libsync",
diff --git a/rlz/BUILD.gn b/rlz/BUILD.gn
index 99c8263..558a9309 100644
--- a/rlz/BUILD.gn
+++ b/rlz/BUILD.gn
@@ -92,7 +92,10 @@
       ]
     }
     if (is_chromeos) {
-      deps += [ "//chromeos" ]
+      deps += [
+        "//chromeos",
+        "//chromeos/dbus",
+      ]
     }
 
     if (is_mac) {
@@ -160,7 +163,10 @@
       "//third_party/zlib",
     ]
     if (is_chromeos) {
-      deps += [ "//chromeos" ]
+      deps += [
+        "//chromeos:test_support",
+        "//chromeos/dbus:test_support",
+      ]
     }
   }
 }
diff --git a/services/device/BUILD.gn b/services/device/BUILD.gn
index ae1b02b..fea7588c 100644
--- a/services/device/BUILD.gn
+++ b/services/device/BUILD.gn
@@ -145,8 +145,8 @@
   if (is_chromeos) {
     sources += [ "fingerprint/fingerprint_chromeos_unittest.cc" ]
     deps += [
-      "//chromeos",
-      "//dbus",
+      "//chromeos:test_support",
+      "//chromeos/dbus:test_support",
       "//services/device/bluetooth:bluetooth_system_tests",
       "//services/device/fingerprint",
       "//third_party/protobuf:protobuf_lite",
diff --git a/services/device/battery/BUILD.gn b/services/device/battery/BUILD.gn
index 6e86ac3..b383dc8 100644
--- a/services/device/battery/BUILD.gn
+++ b/services/device/battery/BUILD.gn
@@ -42,7 +42,7 @@
     if (is_chromeos) {
       configs += [ "//build/config/linux/dbus" ]
       deps += [
-        "//chromeos:chromeos",
+        "//chromeos/dbus",
         "//chromeos/dbus:power_manager_proto",
       ]
       sources -= [
diff --git a/services/device/fingerprint/BUILD.gn b/services/device/fingerprint/BUILD.gn
index da55b12..6a6335d1 100644
--- a/services/device/fingerprint/BUILD.gn
+++ b/services/device/fingerprint/BUILD.gn
@@ -25,7 +25,7 @@
       "fingerprint_chromeos.h",
     ]
     deps += [
-      "//chromeos",
+      "//chromeos/dbus",
       "//dbus",
       "//third_party/protobuf:protobuf_lite",
     ]
diff --git a/services/device/hid/BUILD.gn b/services/device/hid/BUILD.gn
index 2725e6e..196c395 100644
--- a/services/device/hid/BUILD.gn
+++ b/services/device/hid/BUILD.gn
@@ -52,7 +52,7 @@
   }
 
   if (is_chromeos) {
-    deps += [ "//chromeos" ]
+    deps += [ "//chromeos/dbus" ]
   }
 
   if (is_win) {
diff --git a/services/device/media_transfer_protocol/BUILD.gn b/services/device/media_transfer_protocol/BUILD.gn
index 8b23da5..37c0f7b 100644
--- a/services/device/media_transfer_protocol/BUILD.gn
+++ b/services/device/media_transfer_protocol/BUILD.gn
@@ -38,7 +38,7 @@
     ":mtp_file_entry_proto",
     ":mtp_storage_info_proto",
     "//base",
-    "//chromeos",
+    "//chromeos/dbus",
     "//dbus",
   ]
 }
diff --git a/services/device/serial/BUILD.gn b/services/device/serial/BUILD.gn
index 428194e..9497766 100644
--- a/services/device/serial/BUILD.gn
+++ b/services/device/serial/BUILD.gn
@@ -65,10 +65,7 @@
     }
 
     if (is_chromeos) {
-      deps += [
-        "//chromeos",
-        "//dbus",
-      ]
+      deps += [ "//chromeos/dbus" ]
     }
 
     if (is_mac) {
diff --git a/services/device/wake_lock/power_save_blocker/BUILD.gn b/services/device/wake_lock/power_save_blocker/BUILD.gn
index 6877315..788bb49 100644
--- a/services/device/wake_lock/power_save_blocker/BUILD.gn
+++ b/services/device/wake_lock/power_save_blocker/BUILD.gn
@@ -70,7 +70,7 @@
 
   if (is_chromeos) {
     deps += [
-      "//chromeos",
+      "//chromeos/dbus",
       "//chromeos/dbus:power_manager_proto",
     ]
   }
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index bca0714..6509aacf 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -515,7 +515,10 @@
   }
 
   if (is_chromeos) {
-    deps += [ "//chromeos" ]
+    deps += [
+      "//chromeos",
+      "//chromeos/dbus",
+    ]
     sources -= [ "idle/idle_linux.cc" ]
   }
 
diff --git a/ui/chromeos/BUILD.gn b/ui/chromeos/BUILD.gn
index 695c81d..d1075fc 100644
--- a/ui/chromeos/BUILD.gn
+++ b/ui/chromeos/BUILD.gn
@@ -29,7 +29,8 @@
   deps = [
     "//base",
     "//base/third_party/dynamic_annotations",
-    "//chromeos:chromeos",
+    "//chromeos",
+    "//chromeos/dbus",
     "//chromeos/dbus:power_manager_proto",
     "//components/device_event_log",
     "//components/onc",