Chromium Code Reviews| Index: chrome/renderer/media/chrome_webrtc_log_message_delegate.cc |
| diff --git a/chrome/renderer/media/chrome_webrtc_log_message_delegate.cc b/chrome/renderer/media/chrome_webrtc_log_message_delegate.cc |
| index cc09c93321f367e580a935332b31051dc4ea66a9..ea3924d3f241c0164a58cf82941bea28b44a122b 100644 |
| --- a/chrome/renderer/media/chrome_webrtc_log_message_delegate.cc |
| +++ b/chrome/renderer/media/chrome_webrtc_log_message_delegate.cc |
| @@ -7,7 +7,6 @@ |
| #include "base/logging.h" |
| #include "base/message_loop/message_loop_proxy.h" |
| #include "chrome/common/partial_circular_buffer.h" |
| -#include "chrome/renderer/media/webrtc_logging_message_filter.h" |
| ChromeWebRtcLogMessageDelegate::ChromeWebRtcLogMessageDelegate( |
| const scoped_refptr<base::MessageLoopProxy>& io_message_loop, |
| @@ -23,34 +22,41 @@ ChromeWebRtcLogMessageDelegate::~ChromeWebRtcLogMessageDelegate() { |
| } |
| void ChromeWebRtcLogMessageDelegate::LogMessage(const std::string& message) { |
| + WebRtcLoggingMessage message_with_timestamp; |
| + message_with_timestamp.timestamp_ms = base::Time::Now().ToInternalValue() / |
| + base::Time::kMicrosecondsPerMillisecond; |
| + message_with_timestamp.message = message; |
| + |
| io_message_loop_->PostTask( |
| FROM_HERE, base::Bind( |
| &ChromeWebRtcLogMessageDelegate::LogMessageOnIOThread, |
| base::Unretained(this), |
| - message)); |
| + message_with_timestamp)); |
| } |
| void ChromeWebRtcLogMessageDelegate::LogMessageOnIOThread( |
| - const std::string& message) { |
| + const WebRtcLoggingMessage& message) { |
| DCHECK(CalledOnValidThread()); |
| + |
| if (logging_started_ && message_filter_) { |
| if (!log_buffer_.empty()) { |
| // A delayed task has already been posted for sending the buffer contents. |
| // Just add the message to the buffer. |
| - log_buffer_ += "\n" + message; |
| + log_buffer_.push_back(message); |
| + return; |
| + } |
| + |
| + log_buffer_.push_back(message); |
| + |
| + if (base::TimeTicks::Now() - last_log_buffer_send_ > |
| + base::TimeDelta::FromMilliseconds(100)) { |
| + SendLogBuffer(); |
| } else { |
| - if (base::TimeTicks::Now() - last_log_buffer_send_ > |
| - base::TimeDelta::FromMilliseconds(100)) { |
| - log_buffer_ = message; |
| - SendLogBuffer(); |
| - } else { |
| - log_buffer_ = message; |
| - io_message_loop_->PostDelayedTask( |
| - FROM_HERE, |
| - base::Bind(&ChromeWebRtcLogMessageDelegate::SendLogBuffer, |
| - base::Unretained(this)), |
| - base::TimeDelta::FromMilliseconds(200)); |
| - } |
| + io_message_loop_->PostDelayedTask( |
| + FROM_HERE, |
| + base::Bind(&ChromeWebRtcLogMessageDelegate::SendLogBuffer, |
| + base::Unretained(this)), |
| + base::TimeDelta::FromMilliseconds(200)); |
|
dcheng
2014/04/01 23:35:19
Out of scope for this patch, but is base::Unretain
|
| } |
| } |
| } |
| @@ -78,7 +84,7 @@ void ChromeWebRtcLogMessageDelegate::OnStopLogging() { |
| void ChromeWebRtcLogMessageDelegate::SendLogBuffer() { |
| DCHECK(CalledOnValidThread()); |
| if (logging_started_ && message_filter_) { |
|
dcheng
2014/04/01 23:35:19
Nit: This message_filter_ check is not actually ne
jiayl
2014/04/02 00:38:06
It can be null if SendLogBuffer is called from the
|
| - message_filter_->AddLogMessage(log_buffer_); |
| + message_filter_->AddLogMessages(log_buffer_); |
| last_log_buffer_send_ = base::TimeTicks::Now(); |
| } |
| log_buffer_.clear(); |