Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1022)

Unified Diff: content/browser/media/media_internals_proxy.cc

Issue 12153002: Move chrome://media-internals to content. This allows us to hide implementation details from the pu… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/media/media_internals_proxy.cc
===================================================================
--- content/browser/media/media_internals_proxy.cc (revision 179909)
+++ content/browser/media/media_internals_proxy.cc (working copy)
@@ -2,20 +2,18 @@
// 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/media_internals_proxy.h"
+#include "content/browser/media/media_internals_proxy.h"
#include "base/bind.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/io_thread.h"
-#include "chrome/browser/media/media_internals.h"
-#include "chrome/browser/net/chrome_net_log.h"
-#include "chrome/browser/ui/webui/media/media_internals_handler.h"
+#include "base/message_loop.h"
+#include "content/browser/media/media_internals_handler.h"
+#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_ui.h"
-using content::BrowserThread;
+namespace content {
static const int kMediaInternalsProxyEventDelayMilliseconds = 100;
@@ -28,18 +26,16 @@
};
MediaInternalsProxy::MediaInternalsProxy() {
- io_thread_ = g_browser_process->io_thread();
- registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED,
- content::NotificationService::AllBrowserContextsAndSources());
+ registrar_.Add(this, NOTIFICATION_RENDERER_PROCESS_TERMINATED,
+ NotificationService::AllBrowserContextsAndSources());
}
void MediaInternalsProxy::Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
+ const NotificationSource& source,
+ const NotificationDetails& details) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK_EQ(type, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED);
- content::RenderProcessHost* process =
- content::Source<content::RenderProcessHost>(source).ptr();
+ DCHECK_EQ(type, NOTIFICATION_RENDERER_PROCESS_TERMINATED);
+ RenderProcessHost* process = Source<RenderProcessHost>(source).ptr();
CallJavaScriptFunctionOnUIThread("media.onRendererTerminated",
base::Value::CreateIntegerValue(process->GetID()));
}
@@ -121,15 +117,22 @@
void MediaInternalsProxy::ObserveMediaInternalsOnIOThread() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- MediaInternals::GetInstance()->AddObserver(this);
- io_thread_->net_log()->AddThreadSafeObserver(this,
- net::NetLog::LOG_ALL_BUT_BYTES);
+ update_callback_ = base::Bind(&MediaInternalsProxy::OnUpdate,
+ base::Unretained(this));
+ MediaInternals::GetInstance()->AddUpdateCallback(update_callback_);
+ if (GetContentClient()->browser()->GetNetLog()) {
+ net::NetLog* net_log = GetContentClient()->browser()->GetNetLog();
+ net_log->AddThreadSafeObserver(this, net::NetLog::LOG_ALL_BUT_BYTES);
+ }
}
void MediaInternalsProxy::StopObservingMediaInternalsOnIOThread() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- MediaInternals::GetInstance()->RemoveObserver(this);
- io_thread_->net_log()->RemoveThreadSafeObserver(this);
+ MediaInternals::GetInstance()->RemoveUpdateCallback(update_callback_);
+ if (GetContentClient()->browser()->GetNetLog()) {
+ net::NetLog* net_log = GetContentClient()->browser()->GetNetLog();
+ net_log->RemoveThreadSafeObserver(this);
+ }
}
void MediaInternalsProxy::GetEverythingOnIOThread() {
@@ -173,6 +176,8 @@
scoped_ptr<Value> args_value(args);
std::vector<const Value*> args_vector;
args_vector.push_back(args_value.get());
- string16 update = content::WebUI::GetJavascriptCall(function, args_vector);
+ string16 update = WebUI::GetJavascriptCall(function, args_vector);
UpdateUIOnUIThread(update);
}
+
+} // namespace content

Powered by Google App Engine
This is Rietveld 408576698