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

Side by Side Diff: content/browser/android/service_registry_android_impl.cc

Issue 2105653002: Delete content::ServiceRegistry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ew
Patch Set: . 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/android/service_registry_android_impl.h" 5 #include "content/browser/android/service_registry_android_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "content/public/common/service_registry.h"
14 #include "jni/ServiceRegistry_jni.h" 13 #include "jni/ServiceRegistry_jni.h"
15 #include "mojo/public/cpp/system/message_pipe.h" 14 #include "mojo/public/cpp/system/message_pipe.h"
16 #include "services/shell/public/cpp/interface_provider.h" 15 #include "services/shell/public/cpp/interface_provider.h"
17 #include "services/shell/public/cpp/interface_registry.h" 16 #include "services/shell/public/cpp/interface_registry.h"
18 17
19 using base::android::AttachCurrentThread; 18 using base::android::AttachCurrentThread;
20 using base::android::ConvertJavaStringToUTF8; 19 using base::android::ConvertJavaStringToUTF8;
21 using base::android::ScopedJavaGlobalRef; 20 using base::android::ScopedJavaGlobalRef;
22 21
23 namespace content { 22 namespace content {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 83
85 ScopedJavaGlobalRef<jobject> j_scoped_service_registry; 84 ScopedJavaGlobalRef<jobject> j_scoped_service_registry;
86 j_scoped_service_registry.Reset(env, j_service_registry); 85 j_scoped_service_registry.Reset(env, j_service_registry);
87 86
88 ScopedJavaGlobalRef<jobject> j_scoped_manager; 87 ScopedJavaGlobalRef<jobject> j_scoped_manager;
89 j_scoped_manager.Reset(env, j_manager); 88 j_scoped_manager.Reset(env, j_manager);
90 89
91 ScopedJavaGlobalRef<jobject> j_scoped_factory; 90 ScopedJavaGlobalRef<jobject> j_scoped_factory;
92 j_scoped_factory.Reset(env, j_factory); 91 j_scoped_factory.Reset(env, j_factory);
93 92
94 if (interface_registry_) { 93 interface_registry_->AddInterface(
95 interface_registry_->AddInterface( 94 name, base::Bind(&CreateImplAndAttach, j_scoped_service_registry,
96 name, base::Bind(&CreateImplAndAttach, j_scoped_service_registry, 95 j_scoped_manager, j_scoped_factory),
97 j_scoped_manager, j_scoped_factory), 96 nullptr);
98 nullptr);
99 } else if (service_registry_) {
100 service_registry_->AddService(
101 name, base::Bind(&CreateImplAndAttach, j_scoped_service_registry,
102 j_scoped_manager, j_scoped_factory),
103 nullptr);
104 } else {
105 NOTREACHED();
106 }
107 } 97 }
108 98
109 void ServiceRegistryAndroidImpl::RemoveService( 99 void ServiceRegistryAndroidImpl::RemoveService(
110 JNIEnv* env, 100 JNIEnv* env,
111 const JavaParamRef<jobject>& j_service_registry, 101 const JavaParamRef<jobject>& j_service_registry,
112 const JavaParamRef<jstring>& j_name) { 102 const JavaParamRef<jstring>& j_name) {
113 std::string name(ConvertJavaStringToUTF8(env, j_name)); 103 std::string name(ConvertJavaStringToUTF8(env, j_name));
114 if (interface_registry_) 104 interface_registry_->RemoveInterface(name);
115 interface_registry_->RemoveInterface(name);
116 else if (service_registry_)
117 service_registry_->RemoveService(name);
118 else
119 NOTREACHED();
120 } 105 }
121 106
122 void ServiceRegistryAndroidImpl::ConnectToRemoteService( 107 void ServiceRegistryAndroidImpl::ConnectToRemoteService(
123 JNIEnv* env, 108 JNIEnv* env,
124 const JavaParamRef<jobject>& j_service_registry, 109 const JavaParamRef<jobject>& j_service_registry,
125 const JavaParamRef<jstring>& j_name, 110 const JavaParamRef<jstring>& j_name,
126 jint j_handle) { 111 jint j_handle) {
127 std::string name(ConvertJavaStringToUTF8(env, j_name)); 112 std::string name(ConvertJavaStringToUTF8(env, j_name));
128 mojo::ScopedMessagePipeHandle handle((mojo::MessagePipeHandle(j_handle))); 113 mojo::ScopedMessagePipeHandle handle((mojo::MessagePipeHandle(j_handle)));
129 if (remote_interfaces_) 114 remote_interfaces_->GetInterface(name, std::move(handle));
130 remote_interfaces_->GetInterface(name, std::move(handle));
131 else if (service_registry_)
132 service_registry_->ConnectToRemoteService(name, std::move(handle));
133 else
134 NOTREACHED();
135 } 115 }
136 116
137 } // namespace content 117 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/service_registry_android_impl.h ('k') | content/browser/renderer_host/render_process_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698