summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-17 22:25:52 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-17 22:25:52 +0000
commit04adfd4b3b342286cc3eb465be2186b0f9dd9e6d (patch)
tree625d8a969911d0380e82773bcd11d80eeab86d2f /chrome
parentaf980cd76492b99636b5abe05f126aa0ecab6c24 (diff)
downloadchromium_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.cc16
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);
}