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 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
257 return GetNetworkTaskRunner()->BelongsToCurrentThread(); | 257 return GetNetworkTaskRunner()->BelongsToCurrentThread(); |
258 } | 258 } |
259 | 259 |
260 scoped_refptr<base::SingleThreadTaskRunner> | 260 scoped_refptr<base::SingleThreadTaskRunner> |
261 CronetURLRequestContextAdapter::GetNetworkTaskRunner() const { | 261 CronetURLRequestContextAdapter::GetNetworkTaskRunner() const { |
262 return network_thread_->task_runner(); | 262 return network_thread_->task_runner(); |
263 } | 263 } |
264 | 264 |
265 void CronetURLRequestContextAdapter::StartNetLogToFile(JNIEnv* env, | 265 void CronetURLRequestContextAdapter::StartNetLogToFile(JNIEnv* env, |
266 jobject jcaller, | 266 jobject jcaller, |
267 jstring jfile_name) { | 267 jstring jfile_name, |
268 jboolean jlog_all) { | |
268 PostTaskToNetworkThread( | 269 PostTaskToNetworkThread( |
269 FROM_HERE, | 270 FROM_HERE, |
270 base::Bind( | 271 base::Bind( |
271 &CronetURLRequestContextAdapter::StartNetLogToFileOnNetworkThread, | 272 &CronetURLRequestContextAdapter::StartNetLogToFileOnNetworkThread, |
272 base::Unretained(this), | 273 base::Unretained(this), |
273 base::android::ConvertJavaStringToUTF8(env, jfile_name))); | 274 base::android::ConvertJavaStringToUTF8(env, jfile_name), jlog_all)); |
274 } | 275 } |
275 | 276 |
276 void CronetURLRequestContextAdapter::StopNetLog(JNIEnv* env, jobject jcaller) { | 277 void CronetURLRequestContextAdapter::StopNetLog(JNIEnv* env, jobject jcaller) { |
277 PostTaskToNetworkThread( | 278 PostTaskToNetworkThread( |
278 FROM_HERE, | 279 FROM_HERE, |
279 base::Bind(&CronetURLRequestContextAdapter::StopNetLogOnNetworkThread, | 280 base::Bind(&CronetURLRequestContextAdapter::StopNetLogOnNetworkThread, |
280 base::Unretained(this))); | 281 base::Unretained(this))); |
281 } | 282 } |
282 | 283 |
283 void CronetURLRequestContextAdapter::StartNetLogToFileOnNetworkThread( | 284 void CronetURLRequestContextAdapter::StartNetLogToFileOnNetworkThread( |
284 const std::string& file_name) { | 285 const std::string& file_name, bool log_all) { |
285 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); | 286 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); |
286 DCHECK(is_context_initialized_); | 287 DCHECK(is_context_initialized_); |
287 DCHECK(context_); | 288 DCHECK(context_); |
288 // Do nothing if already logging to a file. | 289 // Do nothing if already logging to a file. |
289 if (net_log_logger_) | 290 if (net_log_logger_) |
290 return; | 291 return; |
291 base::FilePath file_path(file_name); | 292 base::FilePath file_path(file_name); |
292 base::ScopedFILE file(base::OpenFile(file_path, "w")); | 293 base::ScopedFILE file(base::OpenFile(file_path, "w")); |
293 if (!file) | 294 if (!file) |
294 return; | 295 return; |
295 | 296 |
296 net_log_logger_.reset(new net::NetLogLogger()); | 297 net_log_logger_.reset(new net::NetLogLogger()); |
298 if (log_all) | |
299 net_log_logger_->set_log_level(net::NetLog::LogLevel::LOG_ALL); | |
eroman
2015/04/17 21:35:10
Note that I am changing this to set_capture_mode()
kallasjoki
2015/05/06 13:58:56
Acknowledged.
| |
297 net_log_logger_->StartObserving(context_->net_log(), file.Pass(), nullptr, | 300 net_log_logger_->StartObserving(context_->net_log(), file.Pass(), nullptr, |
298 context_.get()); | 301 context_.get()); |
299 } | 302 } |
300 | 303 |
301 void CronetURLRequestContextAdapter::StopNetLogOnNetworkThread() { | 304 void CronetURLRequestContextAdapter::StopNetLogOnNetworkThread() { |
302 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); | 305 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); |
303 if (net_log_logger_) { | 306 if (net_log_logger_) { |
304 net_log_logger_->StopObserving(context_.get()); | 307 net_log_logger_->StopObserving(context_.get()); |
305 net_log_logger_.reset(); | 308 net_log_logger_.reset(); |
306 } | 309 } |
(...skipping 17 matching lines...) Expand all Loading... | |
324 } | 327 } |
325 | 328 |
326 static jint SetMinLogLevel(JNIEnv* env, jclass jcaller, jint jlog_level) { | 329 static jint SetMinLogLevel(JNIEnv* env, jclass jcaller, jint jlog_level) { |
327 jint old_log_level = static_cast<jint>(logging::GetMinLogLevel()); | 330 jint old_log_level = static_cast<jint>(logging::GetMinLogLevel()); |
328 // MinLogLevel is global, shared by all URLRequestContexts. | 331 // MinLogLevel is global, shared by all URLRequestContexts. |
329 logging::SetMinLogLevel(static_cast<int>(jlog_level)); | 332 logging::SetMinLogLevel(static_cast<int>(jlog_level)); |
330 return old_log_level; | 333 return old_log_level; |
331 } | 334 } |
332 | 335 |
333 } // namespace cronet | 336 } // namespace cronet |
OLD | NEW |