summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgrunell@chromium.org <grunell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-27 14:42:49 +0000
committergrunell@chromium.org <grunell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-27 14:42:49 +0000
commit54b362c8539bdc59e1dc0df75220e4789ff5221c (patch)
treeac2c70f6b948dfe3528513aa6a4c57ea3e649519
parentcbbc00ce20033de0a7c405d1d2cdb51f7a4de3b2 (diff)
downloadchromium_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
-rw-r--r--content/browser/renderer_host/media/webrtc_logging_handler_host.cc4
-rw-r--r--content/browser/renderer_host/media/webrtc_logging_handler_host.h3
-rw-r--r--content/common/media/webrtc_logging_messages.h5
-rw-r--r--content/renderer/media/media_stream_dependency_factory.cc11
-rw-r--r--content/renderer/media/media_stream_dependency_factory.h3
-rw-r--r--content/renderer/media/webrtc_logging_message_filter.cc5
-rw-r--r--content/renderer/media/webrtc_logging_message_filter.h3
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_;