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

Side by Side Diff: components/cronet/android/cronet_upload_data_stream_delegate.cc

Issue 1124333003: Rename CronetUploadDataStreamAdapter to CronetUploadDataStream. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync Created 5 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/cronet/android/cronet_upload_data_stream_delegate.h" 5 #include "components/cronet/android/cronet_upload_data_stream_delegate.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 11 matching lines...) Expand all
22 CronetUploadDataStreamDelegate::CronetUploadDataStreamDelegate( 22 CronetUploadDataStreamDelegate::CronetUploadDataStreamDelegate(
23 JNIEnv* env, 23 JNIEnv* env,
24 jobject jupload_data_stream) { 24 jobject jupload_data_stream) {
25 jupload_data_stream_.Reset(env, jupload_data_stream); 25 jupload_data_stream_.Reset(env, jupload_data_stream);
26 } 26 }
27 27
28 CronetUploadDataStreamDelegate::~CronetUploadDataStreamDelegate() { 28 CronetUploadDataStreamDelegate::~CronetUploadDataStreamDelegate() {
29 } 29 }
30 30
31 void CronetUploadDataStreamDelegate::InitializeOnNetworkThread( 31 void CronetUploadDataStreamDelegate::InitializeOnNetworkThread(
32 base::WeakPtr<CronetUploadDataStreamAdapter> adapter) { 32 base::WeakPtr<CronetUploadDataStream> upload_data_stream) {
33 DCHECK(!adapter_); 33 DCHECK(!upload_data_stream_);
34 DCHECK(!network_task_runner_.get()); 34 DCHECK(!network_task_runner_.get());
35 35
36 adapter_ = adapter; 36 upload_data_stream_ = upload_data_stream;
37 network_task_runner_ = base::MessageLoopProxy::current(); 37 network_task_runner_ = base::MessageLoopProxy::current();
38 DCHECK(network_task_runner_); 38 DCHECK(network_task_runner_);
39 } 39 }
40 40
41 void CronetUploadDataStreamDelegate::Read(net::IOBuffer* buffer, int buf_len) { 41 void CronetUploadDataStreamDelegate::Read(net::IOBuffer* buffer, int buf_len) {
42 DCHECK(adapter_); 42 DCHECK(upload_data_stream_);
43 DCHECK(network_task_runner_); 43 DCHECK(network_task_runner_);
44 DCHECK(network_task_runner_->BelongsToCurrentThread()); 44 DCHECK(network_task_runner_->BelongsToCurrentThread());
45 DCHECK_GT(buf_len, 0); 45 DCHECK_GT(buf_len, 0);
46 DCHECK(!buffer_.get()); 46 DCHECK(!buffer_.get());
47 buffer_ = buffer; 47 buffer_ = buffer;
48 48
49 // TODO(mmenke): Consider preserving the java buffer across reads, when the 49 // TODO(mmenke): Consider preserving the java buffer across reads, when the
50 // IOBuffer's data pointer and its length are unchanged. 50 // IOBuffer's data pointer and its length are unchanged.
51 JNIEnv* env = base::android::AttachCurrentThread(); 51 JNIEnv* env = base::android::AttachCurrentThread();
52 base::android::ScopedJavaLocalRef<jobject> java_buffer( 52 base::android::ScopedJavaLocalRef<jobject> java_buffer(
53 env, env->NewDirectByteBuffer(buffer->data(), buf_len)); 53 env, env->NewDirectByteBuffer(buffer->data(), buf_len));
54 Java_CronetUploadDataStream_readData(env, jupload_data_stream_.obj(), 54 Java_CronetUploadDataStream_readData(env, jupload_data_stream_.obj(),
55 java_buffer.obj()); 55 java_buffer.obj());
56 } 56 }
57 57
58 void CronetUploadDataStreamDelegate::Rewind() { 58 void CronetUploadDataStreamDelegate::Rewind() {
59 DCHECK(adapter_); 59 DCHECK(upload_data_stream_);
60 DCHECK(network_task_runner_->BelongsToCurrentThread()); 60 DCHECK(network_task_runner_->BelongsToCurrentThread());
61 61
62 JNIEnv* env = base::android::AttachCurrentThread(); 62 JNIEnv* env = base::android::AttachCurrentThread();
63 Java_CronetUploadDataStream_rewind(env, jupload_data_stream_.obj()); 63 Java_CronetUploadDataStream_rewind(env, jupload_data_stream_.obj());
64 } 64 }
65 65
66 void CronetUploadDataStreamDelegate::OnAdapterDestroyed() { 66 void CronetUploadDataStreamDelegate::OnUploadDataStreamDestroyed() {
67 // If the CronetUploadDataStreamAdapter was never initialized, |adapter_| 67 // If CronetUploadDataStream::InitInternal was never called,
68 // and |network_task_runner_| will be NULL. 68 // |upload_data_stream_| and |network_task_runner_| will be NULL.
69 DCHECK(!network_task_runner_ || 69 DCHECK(!network_task_runner_ ||
70 network_task_runner_->BelongsToCurrentThread()); 70 network_task_runner_->BelongsToCurrentThread());
71 71
72 JNIEnv* env = base::android::AttachCurrentThread(); 72 JNIEnv* env = base::android::AttachCurrentThread();
73 Java_CronetUploadDataStream_onAdapterDestroyed(env, 73 Java_CronetUploadDataStream_onUploadDataStreamDestroyed(
74 jupload_data_stream_.obj()); 74 env, jupload_data_stream_.obj());
75 } 75 }
76 76
77 void CronetUploadDataStreamDelegate::OnReadSucceeded(JNIEnv* env, 77 void CronetUploadDataStreamDelegate::OnReadSucceeded(JNIEnv* env,
78 jobject jcaller, 78 jobject jcaller,
79 int bytes_read, 79 int bytes_read,
80 bool final_chunk) { 80 bool final_chunk) {
81 DCHECK(!network_task_runner_->BelongsToCurrentThread()); 81 DCHECK(!network_task_runner_->BelongsToCurrentThread());
82 DCHECK(bytes_read > 0 || (final_chunk && bytes_read == 0)); 82 DCHECK(bytes_read > 0 || (final_chunk && bytes_read == 0));
83 83
84 buffer_ = nullptr; 84 buffer_ = nullptr;
85 network_task_runner_->PostTask( 85 network_task_runner_->PostTask(
86 FROM_HERE, base::Bind(&CronetUploadDataStreamAdapter::OnReadSuccess, 86 FROM_HERE, base::Bind(&CronetUploadDataStream::OnReadSuccess,
87 adapter_, bytes_read, final_chunk)); 87 upload_data_stream_, bytes_read, final_chunk));
88 } 88 }
89 89
90 void CronetUploadDataStreamDelegate::OnRewindSucceeded(JNIEnv* env, 90 void CronetUploadDataStreamDelegate::OnRewindSucceeded(JNIEnv* env,
91 jobject jcaller) { 91 jobject jcaller) {
92 DCHECK(!network_task_runner_->BelongsToCurrentThread()); 92 DCHECK(!network_task_runner_->BelongsToCurrentThread());
93 93
94 network_task_runner_->PostTask( 94 network_task_runner_->PostTask(
95 FROM_HERE, 95 FROM_HERE,
96 base::Bind(&CronetUploadDataStreamAdapter::OnRewindSuccess, adapter_)); 96 base::Bind(&CronetUploadDataStream::OnRewindSuccess,
97 upload_data_stream_));
97 } 98 }
98 99
99 bool CronetUploadDataStreamDelegateRegisterJni(JNIEnv* env) { 100 bool CronetUploadDataStreamDelegateRegisterJni(JNIEnv* env) {
100 return RegisterNativesImpl(env); 101 return RegisterNativesImpl(env);
101 } 102 }
102 103
103 static jlong AttachUploadDataToRequest(JNIEnv* env, 104 static jlong AttachUploadDataToRequest(JNIEnv* env,
104 jobject jupload_data_stream, 105 jobject jupload_data_stream,
105 jlong jcronet_url_request_adapter, 106 jlong jcronet_url_request_adapter,
106 jlong jlength) { 107 jlong jlength) {
107 CronetURLRequestAdapter* request_adapter = 108 CronetURLRequestAdapter* request_adapter =
108 reinterpret_cast<CronetURLRequestAdapter*>(jcronet_url_request_adapter); 109 reinterpret_cast<CronetURLRequestAdapter*>(jcronet_url_request_adapter);
109 DCHECK(request_adapter != nullptr); 110 DCHECK(request_adapter != nullptr);
110 111
111 CronetUploadDataStreamDelegate* delegate = 112 CronetUploadDataStreamDelegate* delegate =
112 new CronetUploadDataStreamDelegate(env, jupload_data_stream); 113 new CronetUploadDataStreamDelegate(env, jupload_data_stream);
113 114
114 scoped_ptr<CronetUploadDataStreamAdapter> upload_adapter( 115 scoped_ptr<CronetUploadDataStream> upload_data_stream(
115 new CronetUploadDataStreamAdapter(delegate, jlength)); 116 new CronetUploadDataStream(delegate, jlength));
116 117
117 request_adapter->SetUpload(upload_adapter.Pass()); 118 request_adapter->SetUpload(upload_data_stream.Pass());
118 119
119 return reinterpret_cast<jlong>(delegate); 120 return reinterpret_cast<jlong>(delegate);
120 } 121 }
121 122
122 static jlong CreateDelegateForTesting(JNIEnv* env, 123 static jlong CreateDelegateForTesting(JNIEnv* env,
123 jobject jupload_data_stream) { 124 jobject jupload_data_stream) {
124 CronetUploadDataStreamDelegate* delegate = 125 CronetUploadDataStreamDelegate* delegate =
125 new CronetUploadDataStreamDelegate(env, jupload_data_stream); 126 new CronetUploadDataStreamDelegate(env, jupload_data_stream);
126 return reinterpret_cast<jlong>(delegate); 127 return reinterpret_cast<jlong>(delegate);
127 } 128 }
128 129
129 static jlong CreateAdapterForTesting(JNIEnv* env, 130 static jlong CreateUploadDataStreamForTesting(JNIEnv* env,
130 jobject jupload_data_stream, 131 jobject jupload_data_stream,
131 jlong jlength, 132 jlong jlength,
132 jlong jdelegate) { 133 jlong jdelegate) {
133 CronetUploadDataStreamDelegate* delegate = 134 CronetUploadDataStreamDelegate* delegate =
134 reinterpret_cast<CronetUploadDataStreamDelegate*>(jdelegate); 135 reinterpret_cast<CronetUploadDataStreamDelegate*>(jdelegate);
135 CronetUploadDataStreamAdapter* upload_adapter = 136 CronetUploadDataStream* upload_data_stream =
136 new CronetUploadDataStreamAdapter(delegate, jlength); 137 new CronetUploadDataStream(delegate, jlength);
137 return reinterpret_cast<jlong>(upload_adapter); 138 return reinterpret_cast<jlong>(upload_data_stream);
138 } 139 }
139 140
140 static void DestroyDelegate(JNIEnv* env, 141 static void DestroyDelegate(JNIEnv* env,
141 jclass jcronet_url_request_adapter, 142 jclass jcronet_url_request_adapter,
142 jlong jupload_data_stream_delegate) { 143 jlong jupload_data_stream_delegate) {
143 CronetUploadDataStreamDelegate* delegate = 144 CronetUploadDataStreamDelegate* delegate =
144 reinterpret_cast<CronetUploadDataStreamDelegate*>( 145 reinterpret_cast<CronetUploadDataStreamDelegate*>(
145 jupload_data_stream_delegate); 146 jupload_data_stream_delegate);
146 DCHECK(delegate != nullptr); 147 DCHECK(delegate != nullptr);
147 delete delegate; 148 delete delegate;
148 } 149 }
149 150
150 } // namespace cronet 151 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698