| Index: chrome/renderer/prerender/prerender_webmediaplayer.cc
|
| diff --git a/chrome/renderer/prerender/prerender_webmediaplayer.cc b/chrome/renderer/prerender/prerender_webmediaplayer.cc
|
| index dd7be9a3a74aacd70d6f7e276c63b8c578969e4b..c81402c35f6f271e6d51594c735e9798686e2228 100644
|
| --- a/chrome/renderer/prerender/prerender_webmediaplayer.cc
|
| +++ b/chrome/renderer/prerender/prerender_webmediaplayer.cc
|
| @@ -4,57 +4,23 @@
|
|
|
| #include "chrome/renderer/prerender/prerender_webmediaplayer.h"
|
|
|
| +#include "base/callback_helpers.h"
|
| #include "chrome/common/prerender_messages.h"
|
| #include "content/public/renderer/render_view.h"
|
| -#include "third_party/WebKit/public/platform/WebURL.h"
|
| -#include "third_party/WebKit/public/web/WebMediaSource.h"
|
| -#include "webkit/renderer/media/webmediaplayer_delegate.h"
|
|
|
| namespace prerender {
|
|
|
| PrerenderWebMediaPlayer::PrerenderWebMediaPlayer(
|
| content::RenderView* render_view,
|
| - WebKit::WebFrame* frame,
|
| - WebKit::WebMediaPlayerClient* client,
|
| - base::WeakPtr<webkit_media::WebMediaPlayerDelegate> delegate,
|
| - const webkit_media::WebMediaPlayerParams& params)
|
| + const base::Closure& closure)
|
| : RenderViewObserver(render_view),
|
| - WebMediaPlayerImpl(frame, client, delegate, params),
|
| is_prerendering_(true),
|
| - url_loaded_(false),
|
| - cors_mode_(CORSModeUnspecified) {
|
| + continue_loading_cb_(closure) {
|
| + DCHECK(!continue_loading_cb_.is_null());
|
| }
|
|
|
| PrerenderWebMediaPlayer::~PrerenderWebMediaPlayer() {}
|
|
|
| -void PrerenderWebMediaPlayer::load(const WebKit::WebURL& url,
|
| - CORSMode cors_mode) {
|
| - DCHECK(!url_loaded_);
|
| - if (is_prerendering_) {
|
| - url_to_load_.reset(new WebKit::WebURL(url));
|
| - media_source_to_load_.reset();
|
| - cors_mode_ = cors_mode;
|
| - return;
|
| - }
|
| - url_loaded_ = true;
|
| - WebMediaPlayerImpl::load(url, cors_mode);
|
| -}
|
| -
|
| -void PrerenderWebMediaPlayer::load(const WebKit::WebURL& url,
|
| - WebKit::WebMediaSource* media_source,
|
| - CORSMode cors_mode) {
|
| - DCHECK(!url_loaded_);
|
| - if (is_prerendering_) {
|
| - url_to_load_.reset(new WebKit::WebURL(url));
|
| - media_source_to_load_.reset(media_source);
|
| - cors_mode_ = cors_mode;
|
| - return;
|
| - }
|
| -
|
| - url_loaded_ = true;
|
| - WebMediaPlayerImpl::load(url, media_source, cors_mode);
|
| -}
|
| -
|
| bool PrerenderWebMediaPlayer::OnMessageReceived(const IPC::Message& message) {
|
| IPC_BEGIN_MESSAGE_MAP(PrerenderWebMediaPlayer, message)
|
| IPC_MESSAGE_HANDLER(PrerenderMsg_SetIsPrerendering, OnSetIsPrerendering)
|
| @@ -72,13 +38,7 @@ void PrerenderWebMediaPlayer::OnSetIsPrerendering(bool is_prerendering) {
|
| return;
|
|
|
| is_prerendering_ = false;
|
| - if (!url_to_load_)
|
| - return;
|
| -
|
| - if (media_source_to_load_)
|
| - load(*url_to_load_, media_source_to_load_.release(), cors_mode_);
|
| - else
|
| - load(*url_to_load_, cors_mode_);
|
| + base::ResetAndReturn(&continue_loading_cb_).Run();
|
| }
|
|
|
| } // namespace prerender
|
|
|