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

Side by Side Diff: components/cronet/android/test/native_test_server.cc

Issue 1536433002: [Cronet] Get Cronet performance test running again (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "native_test_server.h" 5 #include "native_test_server.h"
6 6
7 #include <string> 7 #include <string>
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"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 new net::test_server::BasicHttpResponse()); 161 new net::test_server::BasicHttpResponse());
162 response->set_content_type("text/plain"); 162 response->set_content_type("text/plain");
163 response->set_content("Sdch is not used.\n"); 163 response->set_content("Sdch is not used.\n");
164 return response.Pass(); 164 return response.Pass();
165 } 165 }
166 166
167 // Unhandled requests result in the Embedded test server sending a 404. 167 // Unhandled requests result in the Embedded test server sending a 404.
168 return scoped_ptr<net::test_server::BasicHttpResponse>(); 168 return scoped_ptr<net::test_server::BasicHttpResponse>();
169 } 169 }
170 170
171 void RegisterHostResolverProcHelper( 171 void RegisterHostResolverProcHelper(net::URLRequestContext* url_request_context,
172 net::URLRequestContext* url_request_context) { 172 const std::string& destination) {
xunjieli 2015/12/17 21:42:23 nit: document what |destination| is.
pauljensen 2015/12/18 14:26:08 Done.
173 net::HostResolverImpl* resolver = 173 net::HostResolverImpl* resolver =
174 static_cast<net::HostResolverImpl*>(url_request_context->host_resolver()); 174 static_cast<net::HostResolverImpl*>(url_request_context->host_resolver());
175 scoped_refptr<net::RuleBasedHostResolverProc> proc = 175 scoped_refptr<net::RuleBasedHostResolverProc> proc =
176 new net::RuleBasedHostResolverProc(NULL); 176 new net::RuleBasedHostResolverProc(NULL);
177 proc->AddRule(kFakeSdchDomain, "127.0.0.1"); 177 proc->AddRule(kFakeSdchDomain, destination);
178 proc->AddRule(kFakeQuicDomain, "127.0.0.1"); 178 proc->AddRule(kFakeQuicDomain, destination);
179 resolver->set_proc_params_for_test( 179 resolver->set_proc_params_for_test(
180 net::HostResolverImpl::ProcTaskParams(proc.get(), 1u)); 180 net::HostResolverImpl::ProcTaskParams(proc.get(), 1u));
181 JNIEnv* env = base::android::AttachCurrentThread(); 181 JNIEnv* env = base::android::AttachCurrentThread();
182 Java_NativeTestServer_onHostResolverProcRegistered(env); 182 Java_NativeTestServer_onHostResolverProcRegistered(env);
183 } 183 }
184 184
185 void RegisterHostResolverProcOnNetworkThread( 185 void RegisterHostResolverProcOnNetworkThread(
186 CronetURLRequestContextAdapter* context_adapter) { 186 CronetURLRequestContextAdapter* context_adapter,
187 RegisterHostResolverProcHelper(context_adapter->GetURLRequestContext()); 187 const std::string& destination) {
188 RegisterHostResolverProcHelper(context_adapter->GetURLRequestContext(),
189 destination);
188 } 190 }
189 191
190 // TODO(xunjieli): Delete this once legacy API is removed. 192 // TODO(xunjieli): Delete this once legacy API is removed.
191 void RegisterHostResolverProcOnNetworkThreadLegacyAPI( 193 void RegisterHostResolverProcOnNetworkThreadLegacyAPI(
192 URLRequestContextAdapter* context_adapter) { 194 URLRequestContextAdapter* context_adapter,
193 RegisterHostResolverProcHelper(context_adapter->GetURLRequestContext()); 195 const std::string& destination) {
196 RegisterHostResolverProcHelper(context_adapter->GetURLRequestContext(),
197 destination);
194 } 198 }
195 199
196 } // namespace 200 } // namespace
197 201
198 jboolean StartNativeTestServer(JNIEnv* env, 202 jboolean StartNativeTestServer(JNIEnv* env,
199 const JavaParamRef<jclass>& jcaller, 203 const JavaParamRef<jclass>& jcaller,
200 const JavaParamRef<jstring>& jtest_files_root) { 204 const JavaParamRef<jstring>& jtest_files_root) {
201 // Shouldn't happen. 205 // Shouldn't happen.
202 if (g_test_server) 206 if (g_test_server)
203 return false; 207 return false;
204 g_test_server = new net::EmbeddedTestServer(); 208 g_test_server = new net::EmbeddedTestServer();
205 g_test_server->RegisterRequestHandler( 209 g_test_server->RegisterRequestHandler(
206 base::Bind(&NativeTestServerRequestHandler)); 210 base::Bind(&NativeTestServerRequestHandler));
207 g_test_server->RegisterRequestHandler(base::Bind(&SdchRequestHandler)); 211 g_test_server->RegisterRequestHandler(base::Bind(&SdchRequestHandler));
208 base::FilePath test_files_root( 212 base::FilePath test_files_root(
209 base::android::ConvertJavaStringToUTF8(env, jtest_files_root)); 213 base::android::ConvertJavaStringToUTF8(env, jtest_files_root));
210 214
211 // Add a third handler for paths that NativeTestServerRequestHandler does not 215 // Add a third handler for paths that NativeTestServerRequestHandler does not
212 // handle. 216 // handle.
213 g_test_server->ServeFilesFromDirectory(test_files_root); 217 g_test_server->ServeFilesFromDirectory(test_files_root);
214 return g_test_server->Start(); 218 return g_test_server->Start();
215 } 219 }
216 220
217 void RegisterHostResolverProc(JNIEnv* env, 221 void RegisterHostResolverProc(JNIEnv* env,
218 const JavaParamRef<jclass>& jcaller, 222 const JavaParamRef<jclass>& jcaller,
219 jlong jadapter, 223 jlong jadapter,
220 jboolean jlegacy_api) { 224 jboolean jlegacy_api,
225 const JavaParamRef<jstring>& jdestination) {
226 std::string destination(
227 base::android::ConvertJavaStringToUTF8(env, jdestination));
221 if (jlegacy_api == JNI_TRUE) { 228 if (jlegacy_api == JNI_TRUE) {
222 URLRequestContextAdapter* context_adapter = 229 URLRequestContextAdapter* context_adapter =
223 reinterpret_cast<URLRequestContextAdapter*>(jadapter); 230 reinterpret_cast<URLRequestContextAdapter*>(jadapter);
224 context_adapter->PostTaskToNetworkThread( 231 context_adapter->PostTaskToNetworkThread(
225 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThreadLegacyAPI, 232 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThreadLegacyAPI,
226 base::Unretained(context_adapter))); 233 base::Unretained(context_adapter), destination));
227 } else { 234 } else {
228 CronetURLRequestContextAdapter* context_adapter = 235 CronetURLRequestContextAdapter* context_adapter =
229 reinterpret_cast<CronetURLRequestContextAdapter*>(jadapter); 236 reinterpret_cast<CronetURLRequestContextAdapter*>(jadapter);
230 context_adapter->PostTaskToNetworkThread( 237 context_adapter->PostTaskToNetworkThread(
231 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThread, 238 FROM_HERE, base::Bind(&RegisterHostResolverProcOnNetworkThread,
232 base::Unretained(context_adapter))); 239 base::Unretained(context_adapter), destination));
233 } 240 }
234 } 241 }
235 242
236 void ShutdownNativeTestServer(JNIEnv* env, 243 void ShutdownNativeTestServer(JNIEnv* env,
237 const JavaParamRef<jclass>& jcaller) { 244 const JavaParamRef<jclass>& jcaller) {
238 if (!g_test_server) 245 if (!g_test_server)
239 return; 246 return;
240 delete g_test_server; 247 delete g_test_server;
241 g_test_server = NULL; 248 g_test_server = NULL;
242 } 249 }
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 #else 326 #else
320 return JNI_FALSE; 327 return JNI_FALSE;
321 #endif 328 #endif
322 } 329 }
323 330
324 bool RegisterNativeTestServer(JNIEnv* env) { 331 bool RegisterNativeTestServer(JNIEnv* env) {
325 return RegisterNativesImpl(env); 332 return RegisterNativesImpl(env);
326 } 333 }
327 334
328 } // namespace cronet 335 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698