summaryrefslogtreecommitdiffstats
path: root/content/renderer/media/render_media_log.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/media/render_media_log.cc')
-rw-r--r--content/renderer/media/render_media_log.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/content/renderer/media/render_media_log.cc b/content/renderer/media/render_media_log.cc
new file mode 100644
index 0000000..988a006
--- /dev/null
+++ b/content/renderer/media/render_media_log.cc
@@ -0,0 +1,28 @@
+// Copyright (c) 2011 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 "content/renderer/media/render_media_log.h"
+
+#include "base/message_loop_proxy.h"
+#include "content/common/view_messages.h"
+#include "content/renderer/render_thread.h"
+
+RenderMediaLog::RenderMediaLog()
+ : render_loop_(base::MessageLoopProxy::CreateForCurrentThread()) {
+ DCHECK(RenderThread::current()) <<
+ "RenderMediaLog must be constructed on the render thread";
+}
+
+void RenderMediaLog::AddEvent(media::MediaLogEvent* event) {
+ scoped_ptr<media::MediaLogEvent> e(event);
+
+ if (RenderThread::current()) {
+ RenderThread::current()->Send(new ViewHostMsg_MediaLogEvent(*e));
+ } else {
+ render_loop_->PostTask(FROM_HERE,
+ NewRunnableMethod(this, &RenderMediaLog::AddEvent, e.release()));
+ }
+}
+
+RenderMediaLog::~RenderMediaLog() {}