// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "mock_url_request_job_factory.h" #include "base/android/jni_android.h" #include "base/android/jni_string.h" #include "jni/MockUrlRequestJobFactory_jni.h" #include "net/test/url_request/ssl_certificate_error_job.h" #include "net/test/url_request/url_request_failed_job.h" #include "net/test/url_request/url_request_mock_data_job.h" #include "url/gurl.h" namespace cronet { void AddUrlInterceptors(JNIEnv* env, const JavaParamRef& jcaller) { net::URLRequestMockDataJob::AddUrlHandler(); net::URLRequestFailedJob::AddUrlHandler(); net::SSLCertificateErrorJob::AddUrlHandler(); } ScopedJavaLocalRef GetMockUrlWithFailure( JNIEnv* jenv, const JavaParamRef& jcaller, jint jphase, jint jnet_error) { GURL url(net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( static_cast(jphase), static_cast(jnet_error))); return base::android::ConvertUTF8ToJavaString(jenv, url.spec()); } ScopedJavaLocalRef GetMockUrlForData( JNIEnv* jenv, const JavaParamRef& jcaller, const JavaParamRef& jdata, jint jdata_repeat_count) { std::string data(base::android::ConvertJavaStringToUTF8(jenv, jdata)); GURL url(net::URLRequestMockDataJob::GetMockHttpUrl(data, jdata_repeat_count)); return base::android::ConvertUTF8ToJavaString(jenv, url.spec()); } ScopedJavaLocalRef GetMockUrlForSSLCertificateError( JNIEnv* jenv, const JavaParamRef& jcaller) { GURL url(net::SSLCertificateErrorJob::GetMockUrl()); return base::android::ConvertUTF8ToJavaString(jenv, url.spec()); } ScopedJavaLocalRef GetMockUrlForClientCertificateRequest( JNIEnv* jenv, const JavaParamRef& jcaller) { GURL url(net::URLRequestMockDataJob::GetMockUrlForClientCertificateRequest()); return base::android::ConvertUTF8ToJavaString(jenv, url.spec()); } bool RegisterMockUrlRequestJobFactory(JNIEnv* env) { return RegisterNativesImpl(env); } } // namespace cronet