| 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..398ac8eff1743c483bc3e594d7e7cece62ee614c 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,40 @@ ChromeWebRtcLogMessageDelegate::~ChromeWebRtcLogMessageDelegate() {
|
| }
|
|
|
| void ChromeWebRtcLogMessageDelegate::LogMessage(const std::string& message) {
|
| + WebRtcLoggingMessage message_with_timestamp;
|
| + message_with_timestamp.timestamp = base::Time::Now();
|
| + 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));
|
| }
|
| }
|
| }
|
| @@ -78,7 +83,7 @@ void ChromeWebRtcLogMessageDelegate::OnStopLogging() {
|
| void ChromeWebRtcLogMessageDelegate::SendLogBuffer() {
|
| DCHECK(CalledOnValidThread());
|
| if (logging_started_ && message_filter_) {
|
| - message_filter_->AddLogMessage(log_buffer_);
|
| + message_filter_->AddLogMessages(log_buffer_);
|
| last_log_buffer_send_ = base::TimeTicks::Now();
|
| }
|
| log_buffer_.clear();
|
|
|