diff options
Diffstat (limited to 'chromium/content/browser/media/webrtc_internals_message_handler.cc')
-rw-r--r-- | chromium/content/browser/media/webrtc_internals_message_handler.cc | 61 |
1 files changed, 35 insertions, 26 deletions
diff --git a/chromium/content/browser/media/webrtc_internals_message_handler.cc b/chromium/content/browser/media/webrtc_internals_message_handler.cc index 8cf85790286..bffd5098bfa 100644 --- a/chromium/content/browser/media/webrtc_internals_message_handler.cc +++ b/chromium/content/browser/media/webrtc_internals_message_handler.cc @@ -7,8 +7,8 @@ #include "content/browser/media/webrtc_internals.h" #include "content/common/media/peer_connection_tracker_messages.h" #include "content/public/browser/browser_thread.h" +#include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" -#include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_ui.h" @@ -23,29 +23,25 @@ WebRTCInternalsMessageHandler::~WebRTCInternalsMessageHandler() { } void WebRTCInternalsMessageHandler::RegisterMessages() { - web_ui()->RegisterMessageCallback("getAllUpdates", - base::Bind(&WebRTCInternalsMessageHandler::OnGetAllUpdates, - base::Unretained(this))); - web_ui()->RegisterMessageCallback("getAllStats", base::Bind(&WebRTCInternalsMessageHandler::OnGetAllStats, base::Unretained(this))); - web_ui()->RegisterMessageCallback("startRtpRecording", - base::Bind(&WebRTCInternalsMessageHandler::OnStartRtpRecording, - base::Unretained(this))); + web_ui()->RegisterMessageCallback("enableAecRecording", + base::Bind(&WebRTCInternalsMessageHandler::OnSetAecRecordingEnabled, + base::Unretained(this), true)); - web_ui()->RegisterMessageCallback("stopRtpRecording", - base::Bind(&WebRTCInternalsMessageHandler::OnStopRtpRecording, - base::Unretained(this))); -} + web_ui()->RegisterMessageCallback("disableAecRecording", + base::Bind(&WebRTCInternalsMessageHandler::OnSetAecRecordingEnabled, + base::Unretained(this), false)); -void WebRTCInternalsMessageHandler::OnGetAllUpdates( - const base::ListValue* list) { - WebRTCInternals::GetInstance()->SendAllUpdates(); + web_ui()->RegisterMessageCallback("finishedDOMLoad", + base::Bind(&WebRTCInternalsMessageHandler::OnDOMLoadDone, + base::Unretained(this))); } -void WebRTCInternalsMessageHandler::OnGetAllStats(const base::ListValue* list) { +void WebRTCInternalsMessageHandler::OnGetAllStats( + const base::ListValue* /* unused_list */) { for (RenderProcessHost::iterator i( content::RenderProcessHost::AllHostsIterator()); !i.IsAtEnd(); i.Advance()) { @@ -53,26 +49,39 @@ void WebRTCInternalsMessageHandler::OnGetAllStats(const base::ListValue* list) { } } -void WebRTCInternalsMessageHandler::OnStartRtpRecording( - const base::ListValue* list) { - WebRTCInternals::GetInstance()->StartRtpRecording(); +void WebRTCInternalsMessageHandler::OnSetAecRecordingEnabled( + bool enable, const base::ListValue* /* unused_list */) { + if (enable) + WebRTCInternals::GetInstance()->EnableAecDump(web_ui()->GetWebContents()); + else + WebRTCInternals::GetInstance()->DisableAecDump(); } -void WebRTCInternalsMessageHandler::OnStopRtpRecording( - const base::ListValue* list) { - WebRTCInternals::GetInstance()->StopRtpRecording(); +void WebRTCInternalsMessageHandler::OnDOMLoadDone( + const base::ListValue* /* unused_list */) { + WebRTCInternals::GetInstance()->UpdateObserver(this); + + if (WebRTCInternals::GetInstance()->aec_dump_enabled()) { + std::vector<const base::Value*> args_vector; + base::string16 script = WebUI::GetJavascriptCall("setAecRecordingEnabled", + args_vector); + RenderFrameHost* host = web_ui()->GetWebContents()->GetMainFrame(); + if (host) + host->ExecuteJavaScript(script); + } } void WebRTCInternalsMessageHandler::OnUpdate(const std::string& command, - const base::Value* args) { + const base::Value* args) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); std::vector<const base::Value*> args_vector; - args_vector.push_back(args); + if (args) + args_vector.push_back(args); base::string16 update = WebUI::GetJavascriptCall(command, args_vector); - RenderViewHost* host = web_ui()->GetWebContents()->GetRenderViewHost(); + RenderFrameHost* host = web_ui()->GetWebContents()->GetMainFrame(); if (host) - host->ExecuteJavascriptInWebFrame(base::string16(), update); + host->ExecuteJavaScript(update); } } // namespace content |