diff options
author | grunell@chromium.org <grunell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-27 14:42:49 +0000 |
---|---|---|
committer | grunell@chromium.org <grunell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-27 14:42:49 +0000 |
commit | 54b362c8539bdc59e1dc0df75220e4789ff5221c (patch) | |
tree | ac2c70f6b948dfe3528513aa6a4c57ea3e649519 | |
parent | cbbc00ce20033de0a7c405d1d2cdb51f7a4de3b2 (diff) | |
download | chromium_src-54b362c8539bdc59e1dc0df75220e4789ff5221c.zip chromium_src-54b362c8539bdc59e1dc0df75220e4789ff5221c.tar.gz chromium_src-54b362c8539bdc59e1dc0df75220e4789ff5221c.tar.bz2 |
Forwarding app URL to handler host for WebRTC logs.
BUG=229829
Review URL: https://chromiumcodereview.appspot.com/15875005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202426 0039d316-1c4b-4281-b951-d872f2087c98
7 files changed, 23 insertions, 11 deletions
diff --git a/content/browser/renderer_host/media/webrtc_logging_handler_host.cc b/content/browser/renderer_host/media/webrtc_logging_handler_host.cc index c1b2534..10e2101 100644 --- a/content/browser/renderer_host/media/webrtc_logging_handler_host.cc +++ b/content/browser/renderer_host/media/webrtc_logging_handler_host.cc @@ -42,7 +42,8 @@ bool WebRtcLoggingHandlerHost::OnMessageReceived(const IPC::Message& message, return handled; } -void WebRtcLoggingHandlerHost::OnOpenLog(const std::string& app_session_id) { +void WebRtcLoggingHandlerHost::OnOpenLog(const std::string& app_session_id, + const std::string& app_url) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); DCHECK(!base::SharedMemory::IsHandleValid(shared_memory_.handle())); @@ -60,6 +61,7 @@ void WebRtcLoggingHandlerHost::OnOpenLog(const std::string& app_session_id) { } app_session_id_ = app_session_id; + app_url_ = app_url; Send(new WebRtcLoggingMsg_LogOpened(foreign_memory_handle, kWebRtcLogSize)); } diff --git a/content/browser/renderer_host/media/webrtc_logging_handler_host.h b/content/browser/renderer_host/media/webrtc_logging_handler_host.h index 2e5e33b..7ab7fba 100644 --- a/content/browser/renderer_host/media/webrtc_logging_handler_host.h +++ b/content/browser/renderer_host/media/webrtc_logging_handler_host.h @@ -30,10 +30,11 @@ class WebRtcLoggingHandlerHost : public BrowserMessageFilter { virtual ~WebRtcLoggingHandlerHost(); - void OnOpenLog(const std::string& app_session_id); + void OnOpenLog(const std::string& app_session_id, const std::string& app_url); base::SharedMemory shared_memory_; std::string app_session_id_; + std::string app_url_; DISALLOW_COPY_AND_ASSIGN(WebRtcLoggingHandlerHost); }; diff --git a/content/common/media/webrtc_logging_messages.h b/content/common/media/webrtc_logging_messages.h index 70bab5a..8e893ab 100644 --- a/content/common/media/webrtc_logging_messages.h +++ b/content/common/media/webrtc_logging_messages.h @@ -13,8 +13,9 @@ // Messages sent from the renderer to the browser. // Request to open a log. -IPC_MESSAGE_CONTROL1(WebRtcLoggingMsg_OpenLog, - std::string /* app_session_id */) +IPC_MESSAGE_CONTROL2(WebRtcLoggingMsg_OpenLog, + std::string /* app_session_id */, + std::string /* app_url */) // Messages sent from the browser to the renderer. diff --git a/content/renderer/media/media_stream_dependency_factory.cc b/content/renderer/media/media_stream_dependency_factory.cc index 5b9d022..a0f8468 100644 --- a/content/renderer/media/media_stream_dependency_factory.cc +++ b/content/renderer/media/media_stream_dependency_factory.cc @@ -30,6 +30,8 @@ #include "third_party/WebKit/Source/Platform/chromium/public/WebMediaStream.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebMediaStreamSource.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebMediaStreamTrack.h" +#include "third_party/WebKit/Source/Platform/chromium/public/WebURL.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" #if defined(USE_OPENSSL) @@ -508,13 +510,15 @@ MediaStreamDependencyFactory::CreatePeerConnection( optional_constraints.FindFirst(kWebRtcLoggingConstraint, &constraint_value)) { webrtc_log_open_ = true; + std::string url = web_frame->document().url().spec(); RenderThreadImpl::current()->GetIOMessageLoopProxy()->PostTask( FROM_HERE, base::Bind( &MediaStreamDependencyFactory::CreateWebRtcLoggingHandler, base::Unretained(this), RenderThreadImpl::current()->webrtc_logging_message_filter(), - constraint_value)); + constraint_value, + url)); } scoped_refptr<P2PPortAllocatorFactory> pa_factory = @@ -789,10 +793,11 @@ void MediaStreamDependencyFactory::CleanupPeerConnectionFactory() { void MediaStreamDependencyFactory::CreateWebRtcLoggingHandler( WebRtcLoggingMessageFilter* filter, - const std::string& app_session_id) { + const std::string& app_session_id, + const std::string& app_url) { WebRtcLoggingHandlerImpl* handler = new WebRtcLoggingHandlerImpl(filter->io_message_loop()); - filter->InitLogging(handler, app_session_id); + filter->InitLogging(handler, app_session_id, app_url); } } // namespace content diff --git a/content/renderer/media/media_stream_dependency_factory.h b/content/renderer/media/media_stream_dependency_factory.h index 026208a..9009959 100644 --- a/content/renderer/media/media_stream_dependency_factory.h +++ b/content/renderer/media/media_stream_dependency_factory.h @@ -197,7 +197,8 @@ class CONTENT_EXPORT MediaStreamDependencyFactory void CleanupPeerConnectionFactory(); void CreateWebRtcLoggingHandler(WebRtcLoggingMessageFilter* filter, - const std::string& app_session_id); + const std::string& app_session_id, + const std::string& app_url); // We own network_manager_, must be deleted on the worker thread. // The network manager uses |p2p_socket_dispatcher_|. diff --git a/content/renderer/media/webrtc_logging_message_filter.cc b/content/renderer/media/webrtc_logging_message_filter.cc index 45f93f5..155de27 100644 --- a/content/renderer/media/webrtc_logging_message_filter.cc +++ b/content/renderer/media/webrtc_logging_message_filter.cc @@ -54,11 +54,12 @@ void WebRtcLoggingMessageFilter::OnChannelClosing() { void WebRtcLoggingMessageFilter::InitLogging( WebRtcLoggingHandlerImpl* logging_handler, - const std::string& app_session_id) { + const std::string& app_session_id, + const std::string& app_url) { DCHECK(io_message_loop_->BelongsToCurrentThread()); DCHECK(!logging_handler_); logging_handler_ = logging_handler; - Send(new WebRtcLoggingMsg_OpenLog(app_session_id)); + Send(new WebRtcLoggingMsg_OpenLog(app_session_id, app_url)); } void WebRtcLoggingMessageFilter::OnLogOpened( diff --git a/content/renderer/media/webrtc_logging_message_filter.h b/content/renderer/media/webrtc_logging_message_filter.h index c2a372b..aeb1119 100644 --- a/content/renderer/media/webrtc_logging_message_filter.h +++ b/content/renderer/media/webrtc_logging_message_filter.h @@ -28,7 +28,8 @@ class CONTENT_EXPORT WebRtcLoggingMessageFilter // We take owbership of |logging_handler|. See also comment below. virtual void InitLogging(WebRtcLoggingHandlerImpl* logging_handler, - const std::string& app_session_id); + const std::string& app_session_id, + const std::string& app_url); const scoped_refptr<base::MessageLoopProxy>& io_message_loop() { return io_message_loop_; |