diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-17 22:25:52 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-17 22:25:52 +0000 |
commit | 04adfd4b3b342286cc3eb465be2186b0f9dd9e6d (patch) | |
tree | 625d8a969911d0380e82773bcd11d80eeab86d2f /chrome | |
parent | af980cd76492b99636b5abe05f126aa0ecab6c24 (diff) | |
download | chromium_src-04adfd4b3b342286cc3eb465be2186b0f9dd9e6d.zip chromium_src-04adfd4b3b342286cc3eb465be2186b0f9dd9e6d.tar.gz chromium_src-04adfd4b3b342286cc3eb465be2186b0f9dd9e6d.tar.bz2 |
Fix a bug in WebMediaPlayerDelegateImpl that stalls video playback
NotifyWebMediaPlayerTask is not calling WebMediaPlayerDelegateImpl::DidTask
so new tasks are never scheduled. Also Changed NotifyWebMediaPlayerTask a bit
so it can call DidTask.
Review URL: http://codereview.chromium.org/48093
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11918 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/renderer/webmediaplayer_delegate_impl.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/chrome/renderer/webmediaplayer_delegate_impl.cc b/chrome/renderer/webmediaplayer_delegate_impl.cc index 78dcd4c..e860a0d 100644 --- a/chrome/renderer/webmediaplayer_delegate_impl.cc +++ b/chrome/renderer/webmediaplayer_delegate_impl.cc @@ -14,23 +14,24 @@ class NotifyWebMediaPlayerTask : public CancelableTask { public: - NotifyWebMediaPlayerTask(webkit_glue::WebMediaPlayer* web_media_player, + NotifyWebMediaPlayerTask(WebMediaPlayerDelegateImpl* delegate, WebMediaPlayerMethod method) - : web_media_player_(web_media_player), + : delegate_(delegate), method_(method) {} virtual void Run() { - if (web_media_player_) { - (web_media_player_->*(method_))(); + if (delegate_) { + (delegate_->web_media_player()->*(method_))(); + delegate_->DidTask(this); } } virtual void Cancel() { - web_media_player_ = NULL; + delegate_ = NULL; } private: - webkit_glue::WebMediaPlayer* web_media_player_; + WebMediaPlayerDelegateImpl* delegate_; WebMediaPlayerMethod method_; DISALLOW_COPY_AND_ASSIGN(NotifyWebMediaPlayerTask); @@ -356,8 +357,7 @@ void WebMediaPlayerDelegateImpl::PostTask(int index, AutoLock auto_lock(task_lock_); if(!tasks_[index]) { - CancelableTask* task = new NotifyWebMediaPlayerTask(web_media_player_, - method); + CancelableTask* task = new NotifyWebMediaPlayerTask(this, method); tasks_[index] = task; main_loop_->PostTask(FROM_HERE, task); } |