Index: chrome/renderer/media/webrtc_logging_handler_impl.cc |
diff --git a/content/renderer/media/webrtc_logging_handler_impl.cc b/chrome/renderer/media/webrtc_logging_handler_impl.cc |
similarity index 52% |
rename from content/renderer/media/webrtc_logging_handler_impl.cc |
rename to chrome/renderer/media/webrtc_logging_handler_impl.cc |
index 9581a857d2491f9c9150580a604e447491e7c05c..e34c5a4f1266f6d19e86bdf090c21bd0c9e03771 100644 |
--- a/content/renderer/media/webrtc_logging_handler_impl.cc |
+++ b/chrome/renderer/media/webrtc_logging_handler_impl.cc |
@@ -2,27 +2,40 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/renderer/media/webrtc_logging_handler_impl.h" |
+#include "chrome/renderer/media/webrtc_logging_handler_impl.h" |
#include "base/logging.h" |
#include "base/message_loop_proxy.h" |
-#include "content/common/partial_circular_buffer.h" |
-#include "content/renderer/media/webrtc_logging_message_filter.h" |
-#include "third_party/libjingle/overrides/talk/base/logging.h" |
+#include "chrome/common/partial_circular_buffer.h" |
+#include "chrome/renderer/media/webrtc_logging_message_filter.h" |
-namespace content { |
+namespace chrome { |
WebRtcLoggingHandlerImpl::WebRtcLoggingHandlerImpl( |
- const scoped_refptr<base::MessageLoopProxy>& io_message_loop) |
- : io_message_loop_(io_message_loop) { |
+ const scoped_refptr<base::MessageLoopProxy>& io_message_loop, |
+ WebRtcLoggingMessageFilter* message_filter) |
+ : io_message_loop_(io_message_loop), |
+ message_filter_(message_filter), |
+ log_initialized_(false) { |
+ content::InitWebRtcLoggingDelegate(this); |
} |
WebRtcLoggingHandlerImpl::~WebRtcLoggingHandlerImpl() { |
DCHECK(CalledOnValidThread()); |
} |
+void WebRtcLoggingHandlerImpl::InitLogging(const std::string& app_session_id, |
+ const std::string& app_url) { |
+ DCHECK(CalledOnValidThread()); |
+ |
+ if (!log_initialized_) { |
+ log_initialized_ = true; |
+ message_filter_->InitLogging(app_session_id, app_url); |
+ } |
+} |
+ |
void WebRtcLoggingHandlerImpl::LogMessage(const std::string& message) { |
- if (!io_message_loop_->BelongsToCurrentThread()) { |
+ if (!CalledOnValidThread()) { |
io_message_loop_->PostTask( |
FROM_HERE, base::Bind( |
&WebRtcLoggingHandlerImpl::LogMessage, |
@@ -31,13 +44,16 @@ void WebRtcLoggingHandlerImpl::LogMessage(const std::string& message) { |
return; |
} |
- circular_buffer_->Write(message.c_str(), message.length()); |
- const char eol = '\n'; |
- circular_buffer_->Write(&eol, 1); |
+ if (circular_buffer_) { |
+ circular_buffer_->Write(message.c_str(), message.length()); |
+ const char eol = '\n'; |
+ circular_buffer_->Write(&eol, 1); |
+ } |
} |
void WebRtcLoggingHandlerImpl::OnFilterRemoved() { |
DCHECK(CalledOnValidThread()); |
+ message_filter_ = NULL; |
} |
void WebRtcLoggingHandlerImpl::OnLogOpened( |
@@ -48,11 +64,9 @@ void WebRtcLoggingHandlerImpl::OnLogOpened( |
shared_memory_.reset(new base::SharedMemory(handle, false)); |
CHECK(shared_memory_->Map(length)); |
circular_buffer_.reset( |
- new content::PartialCircularBuffer(shared_memory_->memory(), |
- length, |
- length / 2)); |
- |
- talk_base::InitDiagnosticLoggingDelegate(this); |
+ new chrome::PartialCircularBuffer(shared_memory_->memory(), |
+ length, |
+ length / 2)); |
} |
void WebRtcLoggingHandlerImpl::OnOpenLogFailed() { |
@@ -62,4 +76,4 @@ void WebRtcLoggingHandlerImpl::OnOpenLogFailed() { |
NOTIMPLEMENTED(); |
} |
-} // namespace content |
+} // namespace chrome |