Chromium Code Reviews| Index: chrome/browser/ui/webui/media/webrtc_internals_message_handler.cc |
| diff --git a/chrome/browser/ui/webui/media/webrtc_internals_message_handler.cc b/chrome/browser/ui/webui/media/webrtc_internals_message_handler.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f2f4803dd28606503f6880c220ab79f1448095c1 |
| --- /dev/null |
| +++ b/chrome/browser/ui/webui/media/webrtc_internals_message_handler.cc |
| @@ -0,0 +1,39 @@ |
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/ui/webui/media/webrtc_internals_message_handler.h" |
| + |
| +#include "chrome/browser/media/chrome_webrtc_internals.h" |
| +#include "content/public/browser/browser_thread.h" |
| +#include "content/public/browser/render_view_host.h" |
| +#include "content/public/browser/web_contents.h" |
| +#include "content/public/browser/web_ui.h" |
| + |
| +using content::BrowserThread; |
| +using media::ChromeWebRTCInternals; |
| + |
| +WebRTCInternalsMessageHandler::WebRTCInternalsMessageHandler() { |
| + ChromeWebRTCInternals::GetInstance()->AddObserver(this); |
| +} |
| + |
| +WebRTCInternalsMessageHandler::~WebRTCInternalsMessageHandler() { |
| + ChromeWebRTCInternals::GetInstance()->RemoveObserver(this); |
| +} |
| + |
| +void WebRTCInternalsMessageHandler::RegisterMessages() { |
| +} |
| + |
| +void WebRTCInternalsMessageHandler::OnUpdate(const std::string& command, |
| + const base::Value* args) { |
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + std::vector<const Value*> args_vector; |
| + args_vector.push_back(args); |
| + string16 update = content::WebUI::GetJavascriptCall(command, args_vector); |
| + |
| + // Don't try to execute JavaScript in a RenderView that no longer exists. |
|
jam
2013/01/18 18:27:33
nit: this comment is just explainging what the cod
jiayl
2013/01/18 19:20:00
Done.
|
| + content::RenderViewHost* host = |
| + web_ui()->GetWebContents()->GetRenderViewHost(); |
| + if (host) |
| + host->ExecuteJavascriptInWebFrame(string16(), update); |
| +} |