Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(994)

Unified Diff: components/arc/arc_bridge_service_impl.cc

Issue 2138513002: arc: Use the new InstanceHolder for unittests (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@bridge_refactor_first
Patch Set: git cl lint Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/arc/arc_bridge_service_impl.h ('k') | components/arc/test/fake_app_instance.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/arc_bridge_service_impl.cc
diff --git a/components/arc/arc_bridge_service_impl.cc b/components/arc/arc_bridge_service_impl.cc
index a5c49456f4e0c3c40b13e3b1f6f86628fa3974aa..3c4f408374a9b8e08a7ca6cf1c0ca719d18ef444 100644
--- a/components/arc/arc_bridge_service_impl.cc
+++ b/components/arc/arc_bridge_service_impl.cc
@@ -170,7 +170,139 @@ void ArcBridgeServiceImpl::OnChannelClosed() {
instance_ptr_.reset();
if (binding_.is_bound())
binding_.Close();
- CloseAllChannels();
+
+ // Call all the error handlers of all the channels to both close the channel
+ // and notify any observers that the channel is closed.
+ app_.CloseChannel();
+ audio_.CloseChannel();
+ auth_.CloseChannel();
+ bluetooth_.CloseChannel();
+ clipboard_.CloseChannel();
+ crash_collector_.CloseChannel();
+ file_system_.CloseChannel();
+ ime_.CloseChannel();
+ intent_helper_.CloseChannel();
+ metrics_.CloseChannel();
+ net_.CloseChannel();
+ notifications_.CloseChannel();
+ obb_mounter_.CloseChannel();
+ policy_.CloseChannel();
+ power_.CloseChannel();
+ process_.CloseChannel();
+ storage_manager_.CloseChannel();
+ video_.CloseChannel();
+ window_manager_.CloseChannel();
+}
+
+void ArcBridgeServiceImpl::OnAppInstanceReady(mojom::AppInstancePtr app_ptr) {
hidehiko 2016/07/12 18:27:36 As you moved ABHost to Impl, could you also extrac
Luis Héctor Chávez 2016/07/12 18:34:06 I prefer to work on it separately to land this tod
Luis Héctor Chávez 2016/07/12 22:14:29 Wait, but that wouldn't work: the InstanceHolder i
hidehiko 2016/07/13 08:08:12 You can touch them via SetInstance().
+ DCHECK(CalledOnValidThread());
+ app_.OnInstanceReady(std::move(app_ptr));
+}
+
+void ArcBridgeServiceImpl::OnAudioInstanceReady(
+ mojom::AudioInstancePtr audio_ptr) {
+ DCHECK(CalledOnValidThread());
+ audio_.OnInstanceReady(std::move(audio_ptr));
+}
+
+void ArcBridgeServiceImpl::OnAuthInstanceReady(
+ mojom::AuthInstancePtr auth_ptr) {
+ DCHECK(CalledOnValidThread());
+ auth_.OnInstanceReady(std::move(auth_ptr));
+}
+
+void ArcBridgeServiceImpl::OnBluetoothInstanceReady(
+ mojom::BluetoothInstancePtr bluetooth_ptr) {
+ DCHECK(CalledOnValidThread());
+ bluetooth_.OnInstanceReady(std::move(bluetooth_ptr));
+}
+
+void ArcBridgeServiceImpl::OnClipboardInstanceReady(
+ mojom::ClipboardInstancePtr clipboard_ptr) {
+ DCHECK(CalledOnValidThread());
+ clipboard_.OnInstanceReady(std::move(clipboard_ptr));
+}
+
+void ArcBridgeServiceImpl::OnCrashCollectorInstanceReady(
+ mojom::CrashCollectorInstancePtr crash_collector_ptr) {
+ DCHECK(CalledOnValidThread());
+ crash_collector_.OnInstanceReady(std::move(crash_collector_ptr));
+}
+
+void ArcBridgeServiceImpl::OnFileSystemInstanceReady(
+ mojom::FileSystemInstancePtr file_system_ptr) {
+ DCHECK(CalledOnValidThread());
+ file_system_.OnInstanceReady(std::move(file_system_ptr));
+}
+
+void ArcBridgeServiceImpl::OnImeInstanceReady(mojom::ImeInstancePtr ime_ptr) {
+ DCHECK(CalledOnValidThread());
+ ime_.OnInstanceReady(std::move(ime_ptr));
+}
+
+void ArcBridgeServiceImpl::OnIntentHelperInstanceReady(
+ mojom::IntentHelperInstancePtr intent_helper_ptr) {
+ DCHECK(CalledOnValidThread());
+ intent_helper_.OnInstanceReady(std::move(intent_helper_ptr));
+}
+
+void ArcBridgeServiceImpl::OnMetricsInstanceReady(
+ mojom::MetricsInstancePtr metrics_ptr) {
+ DCHECK(CalledOnValidThread());
+ metrics_.OnInstanceReady(std::move(metrics_ptr));
+}
+
+void ArcBridgeServiceImpl::OnNetInstanceReady(mojom::NetInstancePtr net_ptr) {
+ DCHECK(CalledOnValidThread());
+ net_.OnInstanceReady(std::move(net_ptr));
+}
+
+void ArcBridgeServiceImpl::OnNotificationsInstanceReady(
+ mojom::NotificationsInstancePtr notifications_ptr) {
+ DCHECK(CalledOnValidThread());
+ notifications_.OnInstanceReady(std::move(notifications_ptr));
+}
+
+void ArcBridgeServiceImpl::OnObbMounterInstanceReady(
+ mojom::ObbMounterInstancePtr obb_mounter_ptr) {
+ DCHECK(CalledOnValidThread());
+ obb_mounter_.OnInstanceReady(std::move(obb_mounter_ptr));
+}
+
+void ArcBridgeServiceImpl::OnPolicyInstanceReady(
+ mojom::PolicyInstancePtr policy_ptr) {
+ DCHECK(CalledOnValidThread());
+ policy_.OnInstanceReady(std::move(policy_ptr));
+}
+
+void ArcBridgeServiceImpl::OnPowerInstanceReady(
+ mojom::PowerInstancePtr power_ptr) {
+ DCHECK(CalledOnValidThread());
+ power_.OnInstanceReady(std::move(power_ptr));
+}
+
+void ArcBridgeServiceImpl::OnProcessInstanceReady(
+ mojom::ProcessInstancePtr process_ptr) {
+ DCHECK(CalledOnValidThread());
+ process_.OnInstanceReady(std::move(process_ptr));
+}
+
+void ArcBridgeServiceImpl::OnStorageManagerInstanceReady(
+ mojom::StorageManagerInstancePtr storage_manager_ptr) {
+ DCHECK(CalledOnValidThread());
+ storage_manager_.OnInstanceReady(std::move(storage_manager_ptr));
+}
+
+void ArcBridgeServiceImpl::OnVideoInstanceReady(
+ mojom::VideoInstancePtr video_ptr) {
+ DCHECK(CalledOnValidThread());
+ video_.OnInstanceReady(std::move(video_ptr));
+}
+
+void ArcBridgeServiceImpl::OnWindowManagerInstanceReady(
+ mojom::WindowManagerInstancePtr window_manager_ptr) {
+ DCHECK(CalledOnValidThread());
+ window_manager_.OnInstanceReady(std::move(window_manager_ptr));
}
} // namespace arc
« no previous file with comments | « components/arc/arc_bridge_service_impl.h ('k') | components/arc/test/fake_app_instance.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698