OLD | NEW |
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 "components/cronet/android/cronet_url_request_context_adapter.h" | 5 #include "components/cronet/android/cronet_url_request_context_adapter.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 base::Bind(&CronetURLRequestContextAdapter::StopNetLogOnNetworkThread, | 279 base::Bind(&CronetURLRequestContextAdapter::StopNetLogOnNetworkThread, |
280 base::Unretained(this))); | 280 base::Unretained(this))); |
281 } | 281 } |
282 | 282 |
283 void CronetURLRequestContextAdapter::StartNetLogToFileOnNetworkThread( | 283 void CronetURLRequestContextAdapter::StartNetLogToFileOnNetworkThread( |
284 const std::string& file_name) { | 284 const std::string& file_name) { |
285 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); | 285 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); |
286 DCHECK(is_context_initialized_); | 286 DCHECK(is_context_initialized_); |
287 DCHECK(context_); | 287 DCHECK(context_); |
288 // Do nothing if already logging to a file. | 288 // Do nothing if already logging to a file. |
289 if (net_log_logger_) | 289 if (write_to_file_observer_) |
290 return; | 290 return; |
291 base::FilePath file_path(file_name); | 291 base::FilePath file_path(file_name); |
292 base::ScopedFILE file(base::OpenFile(file_path, "w")); | 292 base::ScopedFILE file(base::OpenFile(file_path, "w")); |
293 if (!file) | 293 if (!file) |
294 return; | 294 return; |
295 | 295 |
296 net_log_logger_.reset(new net::WriteToFileNetLogObserver()); | 296 write_to_file_observer_.reset(new net::WriteToFileNetLogObserver()); |
297 net_log_logger_->StartObserving(context_->net_log(), file.Pass(), nullptr, | 297 write_to_file_observer_->StartObserving(context_->net_log(), file.Pass(), |
298 context_.get()); | 298 nullptr, context_.get()); |
299 } | 299 } |
300 | 300 |
301 void CronetURLRequestContextAdapter::StopNetLogOnNetworkThread() { | 301 void CronetURLRequestContextAdapter::StopNetLogOnNetworkThread() { |
302 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); | 302 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); |
303 if (net_log_logger_) { | 303 if (write_to_file_observer_) { |
304 net_log_logger_->StopObserving(context_.get()); | 304 write_to_file_observer_->StopObserving(context_.get()); |
305 net_log_logger_.reset(); | 305 write_to_file_observer_.reset(); |
306 } | 306 } |
307 } | 307 } |
308 | 308 |
309 // Creates RequestContextAdater if config is valid URLRequestContextConfig, | 309 // Creates RequestContextAdater if config is valid URLRequestContextConfig, |
310 // returns 0 otherwise. | 310 // returns 0 otherwise. |
311 static jlong CreateRequestContextAdapter(JNIEnv* env, | 311 static jlong CreateRequestContextAdapter(JNIEnv* env, |
312 jclass jcaller, | 312 jclass jcaller, |
313 jstring jconfig) { | 313 jstring jconfig) { |
314 std::string config_string = | 314 std::string config_string = |
315 base::android::ConvertJavaStringToUTF8(env, jconfig); | 315 base::android::ConvertJavaStringToUTF8(env, jconfig); |
316 scoped_ptr<URLRequestContextConfig> context_config( | 316 scoped_ptr<URLRequestContextConfig> context_config( |
317 new URLRequestContextConfig()); | 317 new URLRequestContextConfig()); |
318 if (!context_config->LoadFromJSON(config_string)) | 318 if (!context_config->LoadFromJSON(config_string)) |
319 return 0; | 319 return 0; |
320 | 320 |
321 CronetURLRequestContextAdapter* context_adapter = | 321 CronetURLRequestContextAdapter* context_adapter = |
322 new CronetURLRequestContextAdapter(context_config.Pass()); | 322 new CronetURLRequestContextAdapter(context_config.Pass()); |
323 return reinterpret_cast<jlong>(context_adapter); | 323 return reinterpret_cast<jlong>(context_adapter); |
324 } | 324 } |
325 | 325 |
326 static jint SetMinLogLevel(JNIEnv* env, jclass jcaller, jint jlog_level) { | 326 static jint SetMinLogLevel(JNIEnv* env, jclass jcaller, jint jlog_level) { |
327 jint old_log_level = static_cast<jint>(logging::GetMinLogLevel()); | 327 jint old_log_level = static_cast<jint>(logging::GetMinLogLevel()); |
328 // MinLogLevel is global, shared by all URLRequestContexts. | 328 // MinLogLevel is global, shared by all URLRequestContexts. |
329 logging::SetMinLogLevel(static_cast<int>(jlog_level)); | 329 logging::SetMinLogLevel(static_cast<int>(jlog_level)); |
330 return old_log_level; | 330 return old_log_level; |
331 } | 331 } |
332 | 332 |
333 } // namespace cronet | 333 } // namespace cronet |
OLD | NEW |