diff options
author | mmenke <mmenke@chromium.org> | 2015-05-29 11:00:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-29 18:00:50 +0000 |
commit | 17f6e2780427d6567ba9eeb63a7c2fefaec6bfcb (patch) | |
tree | f6d030650648ab2cb29677d989ddcbd8bed6fff3 /components/cronet | |
parent | 278ba16ea277753f370236aefd4c6a7236097bbf (diff) | |
download | chromium_src-17f6e2780427d6567ba9eeb63a7c2fefaec6bfcb.zip chromium_src-17f6e2780427d6567ba9eeb63a7c2fefaec6bfcb.tar.gz chromium_src-17f6e2780427d6567ba9eeb63a7c2fefaec6bfcb.tar.bz2 |
Rename CronetUploadDataStreamDelegate to CronetUploadDataStreamAdapter
This is much more consistent with naming elsewhere in Cronet.
BUG=481119
Review URL: https://codereview.chromium.org/1156323002
Cr-Commit-Position: refs/heads/master@{#332008}
Diffstat (limited to 'components/cronet')
-rw-r--r-- | components/cronet/android/cronet_library_loader.cc | 6 | ||||
-rw-r--r-- | components/cronet/android/cronet_upload_data_stream_adapter.cc (renamed from components/cronet/android/cronet_upload_data_stream_delegate.cc) | 72 | ||||
-rw-r--r-- | components/cronet/android/cronet_upload_data_stream_adapter.h (renamed from components/cronet/android/cronet_upload_data_stream_delegate.h) | 24 | ||||
-rw-r--r-- | components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java | 87 | ||||
-rw-r--r-- | components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java | 8 | ||||
-rw-r--r-- | components/cronet/cronet_static.gypi | 4 |
6 files changed, 103 insertions, 98 deletions
diff --git a/components/cronet/android/cronet_library_loader.cc b/components/cronet/android/cronet_library_loader.cc index fa8ecdb..b1d4542 100644 --- a/components/cronet/android/cronet_library_loader.cc +++ b/components/cronet/android/cronet_library_loader.cc @@ -18,7 +18,7 @@ #include "components/cronet/android/chromium_url_request.h" #include "components/cronet/android/chromium_url_request_context.h" #include "components/cronet/android/cronet_histogram_manager.h" -#include "components/cronet/android/cronet_upload_data_stream_delegate.h" +#include "components/cronet/android/cronet_upload_data_stream_adapter.h" #include "components/cronet/android/cronet_url_request_adapter.h" #include "components/cronet/android/cronet_url_request_context_adapter.h" #include "jni/CronetLibraryLoader_jni.h" @@ -41,8 +41,8 @@ const base::android::RegistrationMethod kCronetRegisteredMethods[] = { {"ChromiumUrlRequestContext", ChromiumUrlRequestContextRegisterJni}, {"CronetHistogramManager", CronetHistogramManagerRegisterJni}, {"CronetLibraryLoader", RegisterNativesImpl}, - {"CronetUploadDataStreamDelegate", - CronetUploadDataStreamDelegateRegisterJni}, + {"CronetUploadDataStreamAdapter", + CronetUploadDataStreamAdapterRegisterJni}, {"CronetUrlRequestAdapter", CronetUrlRequestAdapterRegisterJni}, {"CronetUrlRequestContextAdapter", CronetUrlRequestContextAdapterRegisterJni}, diff --git a/components/cronet/android/cronet_upload_data_stream_delegate.cc b/components/cronet/android/cronet_upload_data_stream_adapter.cc index 9a8f61b..cdaf6bb 100644 --- a/components/cronet/android/cronet_upload_data_stream_delegate.cc +++ b/components/cronet/android/cronet_upload_data_stream_adapter.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "components/cronet/android/cronet_upload_data_stream_delegate.h" +#include "components/cronet/android/cronet_upload_data_stream_adapter.h" #include <string> @@ -15,20 +15,18 @@ #include "components/cronet/android/cronet_url_request_adapter.h" #include "jni/CronetUploadDataStream_jni.h" -using base::android::ConvertUTF8ToJavaString; - namespace cronet { -CronetUploadDataStreamDelegate::CronetUploadDataStreamDelegate( +CronetUploadDataStreamAdapter::CronetUploadDataStreamAdapter( JNIEnv* env, jobject jupload_data_stream) { jupload_data_stream_.Reset(env, jupload_data_stream); } -CronetUploadDataStreamDelegate::~CronetUploadDataStreamDelegate() { +CronetUploadDataStreamAdapter::~CronetUploadDataStreamAdapter() { } -void CronetUploadDataStreamDelegate::InitializeOnNetworkThread( +void CronetUploadDataStreamAdapter::InitializeOnNetworkThread( base::WeakPtr<CronetUploadDataStream> upload_data_stream) { DCHECK(!upload_data_stream_); DCHECK(!network_task_runner_.get()); @@ -38,7 +36,7 @@ void CronetUploadDataStreamDelegate::InitializeOnNetworkThread( DCHECK(network_task_runner_); } -void CronetUploadDataStreamDelegate::Read(net::IOBuffer* buffer, int buf_len) { +void CronetUploadDataStreamAdapter::Read(net::IOBuffer* buffer, int buf_len) { DCHECK(upload_data_stream_); DCHECK(network_task_runner_); DCHECK(network_task_runner_->BelongsToCurrentThread()); @@ -55,7 +53,7 @@ void CronetUploadDataStreamDelegate::Read(net::IOBuffer* buffer, int buf_len) { java_buffer.obj()); } -void CronetUploadDataStreamDelegate::Rewind() { +void CronetUploadDataStreamAdapter::Rewind() { DCHECK(upload_data_stream_); DCHECK(network_task_runner_->BelongsToCurrentThread()); @@ -63,7 +61,7 @@ void CronetUploadDataStreamDelegate::Rewind() { Java_CronetUploadDataStream_rewind(env, jupload_data_stream_.obj()); } -void CronetUploadDataStreamDelegate::OnUploadDataStreamDestroyed() { +void CronetUploadDataStreamAdapter::OnUploadDataStreamDestroyed() { // If CronetUploadDataStream::InitInternal was never called, // |upload_data_stream_| and |network_task_runner_| will be NULL. DCHECK(!network_task_runner_ || @@ -74,10 +72,10 @@ void CronetUploadDataStreamDelegate::OnUploadDataStreamDestroyed() { env, jupload_data_stream_.obj()); } -void CronetUploadDataStreamDelegate::OnReadSucceeded(JNIEnv* env, - jobject jcaller, - int bytes_read, - bool final_chunk) { +void CronetUploadDataStreamAdapter::OnReadSucceeded(JNIEnv* env, + jobject jcaller, + int bytes_read, + bool final_chunk) { DCHECK(!network_task_runner_->BelongsToCurrentThread()); DCHECK(bytes_read > 0 || (final_chunk && bytes_read == 0)); @@ -87,8 +85,8 @@ void CronetUploadDataStreamDelegate::OnReadSucceeded(JNIEnv* env, upload_data_stream_, bytes_read, final_chunk)); } -void CronetUploadDataStreamDelegate::OnRewindSucceeded(JNIEnv* env, - jobject jcaller) { +void CronetUploadDataStreamAdapter::OnRewindSucceeded(JNIEnv* env, + jobject jcaller) { DCHECK(!network_task_runner_->BelongsToCurrentThread()); network_task_runner_->PostTask( @@ -97,7 +95,7 @@ void CronetUploadDataStreamDelegate::OnRewindSucceeded(JNIEnv* env, upload_data_stream_)); } -bool CronetUploadDataStreamDelegateRegisterJni(JNIEnv* env) { +bool CronetUploadDataStreamAdapterRegisterJni(JNIEnv* env) { return RegisterNativesImpl(env); } @@ -109,43 +107,43 @@ static jlong AttachUploadDataToRequest(JNIEnv* env, reinterpret_cast<CronetURLRequestAdapter*>(jcronet_url_request_adapter); DCHECK(request_adapter != nullptr); - CronetUploadDataStreamDelegate* delegate = - new CronetUploadDataStreamDelegate(env, jupload_data_stream); + CronetUploadDataStreamAdapter* adapter = + new CronetUploadDataStreamAdapter(env, jupload_data_stream); scoped_ptr<CronetUploadDataStream> upload_data_stream( - new CronetUploadDataStream(delegate, jlength)); + new CronetUploadDataStream(adapter, jlength)); request_adapter->SetUpload(upload_data_stream.Pass()); - return reinterpret_cast<jlong>(delegate); + return reinterpret_cast<jlong>(adapter); } -static jlong CreateDelegateForTesting(JNIEnv* env, - jobject jupload_data_stream) { - CronetUploadDataStreamDelegate* delegate = - new CronetUploadDataStreamDelegate(env, jupload_data_stream); - return reinterpret_cast<jlong>(delegate); +static jlong CreateAdapterForTesting(JNIEnv* env, + jobject jupload_data_stream) { + CronetUploadDataStreamAdapter* adapter = + new CronetUploadDataStreamAdapter(env, jupload_data_stream); + return reinterpret_cast<jlong>(adapter); } static jlong CreateUploadDataStreamForTesting(JNIEnv* env, jobject jupload_data_stream, jlong jlength, - jlong jdelegate) { - CronetUploadDataStreamDelegate* delegate = - reinterpret_cast<CronetUploadDataStreamDelegate*>(jdelegate); + jlong jadapter) { + CronetUploadDataStreamAdapter* adapter = + reinterpret_cast<CronetUploadDataStreamAdapter*>(jadapter); CronetUploadDataStream* upload_data_stream = - new CronetUploadDataStream(delegate, jlength); + new CronetUploadDataStream(adapter, jlength); return reinterpret_cast<jlong>(upload_data_stream); } -static void DestroyDelegate(JNIEnv* env, - jclass jcronet_url_request_adapter, - jlong jupload_data_stream_delegate) { - CronetUploadDataStreamDelegate* delegate = - reinterpret_cast<CronetUploadDataStreamDelegate*>( - jupload_data_stream_delegate); - DCHECK(delegate != nullptr); - delete delegate; +static void DestroyAdapter(JNIEnv* env, + jclass jcronet_url_request_adapter, + jlong jupload_data_stream_adapter) { + CronetUploadDataStreamAdapter* adapter = + reinterpret_cast<CronetUploadDataStreamAdapter*>( + jupload_data_stream_adapter); + DCHECK(adapter != nullptr); + delete adapter; } } // namespace cronet diff --git a/components/cronet/android/cronet_upload_data_stream_delegate.h b/components/cronet/android/cronet_upload_data_stream_adapter.h index f0cda52..fa47a85 100644 --- a/components/cronet/android/cronet_upload_data_stream_delegate.h +++ b/components/cronet/android/cronet_upload_data_stream_adapter.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef COMPONENTS_CRONET_ANDROID_CRONET_UPLOAD_DATA_STREAM_DELEGATE_H_ -#define COMPONENTS_CRONET_ANDROID_CRONET_UPLOAD_DATA_STREAM_DELEGATE_H_ +#ifndef COMPONENTS_CRONET_ANDROID_CRONET_UPLOAD_DATA_STREAM_ADAPTER_H_ +#define COMPONENTS_CRONET_ANDROID_CRONET_UPLOAD_DATA_STREAM_ADAPTER_H_ #include <jni.h> @@ -20,22 +20,22 @@ class SingleThreadTaskRunner; namespace cronet { -// The Delegate holds onto a reference to the IOBuffer that is currently being +// The Adapter holds onto a reference to the IOBuffer that is currently being // written to in Java, so may not be deleted until any read operation in Java // has completed. // -// The Delegate is owned by the Java CronetUploadDataStream, and also owns a -// reference to it. The Delegate is only destroyed after the net::URLRequest +// The Adapter is owned by the Java CronetUploadDataStream, and also owns a +// reference to it. The Adapter is only destroyed after the net::URLRequest // destroys the C++ CronetUploadDataStream and the Java CronetUploadDataStream // has no read operation pending, at which point it also releases its reference // to the Java CronetUploadDataStream. // -// Failures don't go through the delegate, but directly to the Java request +// Failures don't go back through the Adapter, but directly to the Java request // object, since normally reads aren't allowed to fail during an upload. -class CronetUploadDataStreamDelegate : public CronetUploadDataStream::Delegate { +class CronetUploadDataStreamAdapter : public CronetUploadDataStream::Delegate { public: - CronetUploadDataStreamDelegate(JNIEnv* env, jobject jupload_data_stream); - ~CronetUploadDataStreamDelegate() override; + CronetUploadDataStreamAdapter(JNIEnv* env, jobject jupload_data_stream); + ~CronetUploadDataStreamAdapter() override; // CronetUploadDataStream::Delegate implementation. Called on network thread. void InitializeOnNetworkThread( @@ -64,12 +64,12 @@ class CronetUploadDataStreamDelegate : public CronetUploadDataStream::Delegate { // received. scoped_refptr<net::IOBuffer> buffer_; - DISALLOW_COPY_AND_ASSIGN(CronetUploadDataStreamDelegate); + DISALLOW_COPY_AND_ASSIGN(CronetUploadDataStreamAdapter); }; // Explicitly register static JNI functions. -bool CronetUploadDataStreamDelegateRegisterJni(JNIEnv* env); +bool CronetUploadDataStreamAdapterRegisterJni(JNIEnv* env); } // namespace cronet -#endif // COMPONENTS_CRONET_ANDROID_CRONET_UPLOAD_DATA_STREAM_DELEGATE_H_ +#endif // COMPONENTS_CRONET_ANDROID_CRONET_UPLOAD_DATA_STREAM_ADAPTER_H_ diff --git a/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java b/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java index 99ccb23..fa5ea8c 100644 --- a/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java +++ b/components/cronet/android/java/src/org/chromium/net/CronetUploadDataStream.java @@ -13,7 +13,14 @@ import java.util.concurrent.Executor; import java.util.concurrent.RejectedExecutionException; /** - * Pass an upload body to a UrlRequest using an UploadDataProvider. + * CronetUploadDataStream handles communication between an upload body + * encapsulated in the embedder's {@link UploadDataSink} and a C++ + * UploadDataStreamAdapter, which it owns. It's attached to a {@link + * CronetURLRequest}'s during the construction of request's native C++ objects + * on the network thread, though it's created on one of the embedder's threads. + * It is called by the UploadDataStreamAdapter on the network thread, but calls + * into the UploadDataSink and the UploadDataStreamAdapter on the Executor + * passed into its constructor. */ @JNINamespace("cronet") final class CronetUploadDataStream implements UploadDataSink { @@ -29,7 +36,7 @@ final class CronetUploadDataStream implements UploadDataSink { public void run() { synchronized (mLock) { if (mReading || mRewinding || mByteBuffer == null - || mUploadDataStreamDelegate == 0) { + || mUploadDataStreamAdapter == 0) { throw new IllegalStateException( "Unexpected readData call."); } @@ -48,19 +55,19 @@ final class CronetUploadDataStream implements UploadDataSink { // call to mDataProvider.read until onError or onReadSucceeded. private ByteBuffer mByteBuffer = null; - // Lock that protects all subsequent variables. The delegate has to be + // Lock that protects all subsequent variables. The adapter has to be // protected to ensure safe shutdown, mReading and mRewinding are protected // to robustly detect getting read/rewind results more often than expected. private final Object mLock = new Object(); - // Native delegate object, owned by the CronetUploadDataStream. It's only + // Native adapter object, owned by the CronetUploadDataStream. It's only // deleted after the native UploadDataStream object is destroyed. All access - // to the delegate is synchronized, for safe usage and cleanup. - private long mUploadDataStreamDelegate = 0; + // to the adapter is synchronized, for safe usage and cleanup. + private long mUploadDataStreamAdapter = 0; private boolean mReading = false; private boolean mRewinding = false; - private boolean mDestroyDelegatePostponed = false; + private boolean mDestroyAdapterPostponed = false; /** * Constructs a CronetUploadDataStream. @@ -99,7 +106,7 @@ final class CronetUploadDataStream implements UploadDataSink { public void run() { synchronized (mLock) { if (mReading || mRewinding - || mUploadDataStreamDelegate == 0) { + || mUploadDataStreamAdapter == 0) { throw new IllegalStateException( "Unexpected rewind call."); } @@ -117,8 +124,8 @@ final class CronetUploadDataStream implements UploadDataSink { /** * Called when the native UploadDataStream is destroyed. At this point, - * the native delegate needs to be destroyed, but only after any pending - * read operation completes, as the delegate owns the read buffer. + * the native adapter needs to be destroyed, but only after any pending + * read operation completes, as the adapter owns the read buffer. */ @SuppressWarnings("unused") @CalledByNative @@ -126,7 +133,7 @@ final class CronetUploadDataStream implements UploadDataSink { Runnable task = new Runnable() { @Override public void run() { - destroyDelegate(); + destroyAdapter(); } }; @@ -146,7 +153,7 @@ final class CronetUploadDataStream implements UploadDataSink { mReading = false; mRewinding = false; mByteBuffer = null; - destroyDelegateIfPostponed(); + destroyAdapterIfPostponed(); } // Just fail the request - simpler to fail directly, and @@ -171,12 +178,12 @@ final class CronetUploadDataStream implements UploadDataSink { mByteBuffer = null; mReading = false; - destroyDelegateIfPostponed(); + destroyAdapterIfPostponed(); // Request may been canceled already. - if (mUploadDataStreamDelegate == 0) { + if (mUploadDataStreamAdapter == 0) { return; } - nativeOnReadSucceeded(mUploadDataStreamDelegate, bytesRead, + nativeOnReadSucceeded(mUploadDataStreamAdapter, bytesRead, lastChunk); } } @@ -200,10 +207,10 @@ final class CronetUploadDataStream implements UploadDataSink { } mRewinding = false; // Request may been canceled already. - if (mUploadDataStreamDelegate == 0) { + if (mUploadDataStreamAdapter == 0) { return; } - nativeOnRewindSucceeded(mUploadDataStreamDelegate); + nativeOnRewindSucceeded(mUploadDataStreamAdapter); } } @@ -218,7 +225,7 @@ final class CronetUploadDataStream implements UploadDataSink { } /** - * Post task to application Executor. + * Posts task to application Executor. */ private void postTaskToExecutor(Runnable task) { try { @@ -231,38 +238,38 @@ final class CronetUploadDataStream implements UploadDataSink { } /** - * The delegate is owned by the CronetUploadDataStream, so it can be + * The adapter is owned by the CronetUploadDataStream, so it can be * destroyed safely when there is no pending read; however, destruction is * initiated by the destruction of the native UploadDataStream. */ - private void destroyDelegate() { + private void destroyAdapter() { synchronized (mLock) { if (mReading) { - // Wait for the read to complete before destroy the delegate. - mDestroyDelegatePostponed = true; + // Wait for the read to complete before destroy the adapter. + mDestroyAdapterPostponed = true; return; } - if (mUploadDataStreamDelegate == 0) { + if (mUploadDataStreamAdapter == 0) { return; } - nativeDestroyDelegate(mUploadDataStreamDelegate); - mUploadDataStreamDelegate = 0; + nativeDestroyAdapter(mUploadDataStreamAdapter); + mUploadDataStreamAdapter = 0; } } /** - * Destroy the native delegate if the destruction is postponed due to a + * Destroys the native adapter if the destruction is postponed due to a * pending read, which has since completed. Caller needs to be on executor * thread. */ - private void destroyDelegateIfPostponed() { + private void destroyAdapterIfPostponed() { synchronized (mLock) { if (mReading) { throw new IllegalStateException( "Method should not be called when read has not completed."); } - if (mDestroyDelegatePostponed) { - destroyDelegate(); + if (mDestroyAdapterPostponed) { + destroyAdapter(); } } } @@ -276,38 +283,38 @@ final class CronetUploadDataStream implements UploadDataSink { */ void attachToRequest(CronetUrlRequest request, long requestAdapter) { mRequest = request; - mUploadDataStreamDelegate = + mUploadDataStreamAdapter = nativeAttachUploadDataToRequest(requestAdapter, mLength); } /** - * Creates a native CronetUploadDataStreamDelegate and + * Creates a native CronetUploadDataStreamAdapter and * CronetUploadDataStream for testing. * @return the address of the native CronetUploadDataStream object. */ public long createUploadDataStreamForTesting() { - mUploadDataStreamDelegate = nativeCreateDelegateForTesting(); + mUploadDataStreamAdapter = nativeCreateAdapterForTesting(); return nativeCreateUploadDataStreamForTesting(mLength, - mUploadDataStreamDelegate); + mUploadDataStreamAdapter); } - // Native methods are implemented in upload_data_stream.cc. + // Native methods are implemented in upload_data_stream_adapter.cc. private native long nativeAttachUploadDataToRequest(long urlRequestAdapter, long length); - private native long nativeCreateDelegateForTesting(); + private native long nativeCreateAdapterForTesting(); private native long nativeCreateUploadDataStreamForTesting(long length, - long delegate); + long adapter); - @NativeClassQualifiedName("CronetUploadDataStreamDelegate") + @NativeClassQualifiedName("CronetUploadDataStreamAdapter") private native void nativeOnReadSucceeded(long nativePtr, int bytesRead, boolean finalChunk); - @NativeClassQualifiedName("CronetUploadDataStreamDelegate") + @NativeClassQualifiedName("CronetUploadDataStreamAdapter") private native void nativeOnRewindSucceeded(long nativePtr); - private static native void nativeDestroyDelegate( - long uploadDataStreamDelegate); + private static native void nativeDestroyAdapter( + long uploadDataStreamAdapter); } diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java index 8f0b6a5..9e300cf 100644 --- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java +++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java @@ -242,8 +242,8 @@ public class CronetUploadTest extends CronetTestBase { // Destroy the C++ TestUploadDataStreamHandler. The handler will then // destroy the C++ CronetUploadDataStream it owns on the network thread. // That will result in calling the Java CronetUploadDataSteam's - // onCanceled() method on its executor thread, which will then destroy - // the CronetUploadDataStreamDelegate. + // onUploadDataStreamDestroyed() method on its executor thread, which + // will then destroy the CronetUploadDataStreamAdapter. mHandler.destroyNativeObjects(); // Make the read complete should not encounter a crash. @@ -286,8 +286,8 @@ public class CronetUploadTest extends CronetTestBase { // Destroy the C++ TestUploadDataStreamHandler. The handler will then // destroy the C++ CronetUploadDataStream it owns on the network thread. // That will result in calling the Java CronetUploadDataSteam's - // onCanceled() method on its executor thread, which will then destroy - // the CronetUploadDataStreamDelegate. + // onUploadDataStreamDestroyed() method on its executor thread, which + // will then destroy the CronetUploadDataStreamAdapter. mHandler.destroyNativeObjects(); // Signal rewind completes, and wait for init to complete. diff --git a/components/cronet/cronet_static.gypi b/components/cronet/cronet_static.gypi index bad92fb..b04f778 100644 --- a/components/cronet/cronet_static.gypi +++ b/components/cronet/cronet_static.gypi @@ -29,8 +29,8 @@ 'android/cronet_library_loader.h', 'android/cronet_upload_data_stream.cc', 'android/cronet_upload_data_stream.h', - 'android/cronet_upload_data_stream_delegate.cc', - 'android/cronet_upload_data_stream_delegate.h', + 'android/cronet_upload_data_stream_adapter.cc', + 'android/cronet_upload_data_stream_adapter.h', 'android/cronet_url_request_adapter.cc', 'android/cronet_url_request_adapter.h', 'android/cronet_url_request_context_adapter.cc', |