| Index: content/browser/media/media_web_contents_observer.cc
|
| diff --git a/content/browser/media/media_web_contents_observer.cc b/content/browser/media/media_web_contents_observer.cc
|
| index 1123974df7b63597f042420cbbd1bdb681a89175..c5892428ade30f1815b064bdf7bc38fca2e93901 100644
|
| --- a/content/browser/media/media_web_contents_observer.cc
|
| +++ b/content/browser/media/media_web_contents_observer.cc
|
| @@ -14,6 +14,7 @@
|
| #include "content/common/media/media_player_delegate_messages.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "media/base/bind_to_current_loop.h"
|
| #include "ipc/ipc_message_macros.h"
|
|
|
| namespace content {
|
| @@ -87,13 +88,40 @@ void MediaWebContentsObserver::WasHidden() {
|
| video_power_save_blocker_.reset();
|
| }
|
|
|
| +// static
|
| +void MediaWebContentsObserver::WaitForAudioFocusAsync(
|
| + int render_process_id,
|
| + int render_frame_id,
|
| + const base::Closure& focus_cb) {
|
| + if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI, FROM_HERE,
|
| + base::Bind(&MediaWebContentsObserver::WaitForAudioFocusAsync,
|
| + render_process_id, render_frame_id,
|
| + media::BindToCurrentLoop(focus_cb)));
|
| + return;
|
| + }
|
| + WebContents* web_contents = WebContents::FromRenderFrameHost(
|
| + RenderFrameHost::FromID(render_process_id, render_frame_id));
|
| + if (!web_contents)
|
| + return;
|
| + MediaWebContentsObserver* p_this = static_cast<WebContentsImpl*>(web_contents)
|
| + ->media_web_contents_observer();
|
| + p_this->WaitForAudioFocusAsyncInternal(render_frame_id, focus_cb);
|
| +}
|
| +
|
| +void MediaWebContentsObserver::WaitForAudioFocusAsyncInternal(
|
| + int render_frame_id,
|
| + const base::Closure& focus_cb) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| void MediaWebContentsObserver::OnMediaDestroyed(
|
| RenderFrameHost* render_frame_host,
|
| int delegate_id) {
|
| OnMediaPaused(render_frame_host, delegate_id, true);
|
| }
|
|
|
| -
|
| void MediaWebContentsObserver::OnMediaPaused(RenderFrameHost* render_frame_host,
|
| int delegate_id,
|
| bool reached_end_of_stream) {
|
|
|