diff options
Diffstat (limited to 'content/renderer/media/render_media_log.cc')
-rw-r--r-- | content/renderer/media/render_media_log.cc | 28 |
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() {} |