| Index: webkit/glue/webmediaplayer_impl.cc | 
| diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc | 
| index 098cd6132406a8be9cb264364fc687b9cf6717bf..61bb454353d0a6cd5e03493b1e6727f4719e5456 100644 | 
| --- a/webkit/glue/webmediaplayer_impl.cc | 
| +++ b/webkit/glue/webmediaplayer_impl.cc | 
| @@ -33,6 +33,7 @@ | 
| using WebKit::WebCanvas; | 
| using WebKit::WebRect; | 
| using WebKit::WebSize; | 
| +using media::PipelineStatus; | 
|  | 
| namespace { | 
|  | 
| @@ -171,29 +172,31 @@ void WebMediaPlayerImpl::Proxy::Detach() { | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineInitializationCallback() { | 
| -  render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, | 
| -      &WebMediaPlayerImpl::Proxy::PipelineInitializationTask)); | 
| +void WebMediaPlayerImpl::Proxy::PipelineInitializationCallback( | 
| +    PipelineStatus status) { | 
| +  render_loop_->PostTask(FROM_HERE, NewRunnableMethod( | 
| +      this, &WebMediaPlayerImpl::Proxy::PipelineInitializationTask, status)); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineSeekCallback() { | 
| -  render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, | 
| -      &WebMediaPlayerImpl::Proxy::PipelineSeekTask)); | 
| +void WebMediaPlayerImpl::Proxy::PipelineSeekCallback(PipelineStatus status) { | 
| +  render_loop_->PostTask(FROM_HERE, NewRunnableMethod( | 
| +      this, &WebMediaPlayerImpl::Proxy::PipelineSeekTask, status)); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineEndedCallback() { | 
| -  render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, | 
| -      &WebMediaPlayerImpl::Proxy::PipelineEndedTask)); | 
| +void WebMediaPlayerImpl::Proxy::PipelineEndedCallback(PipelineStatus status) { | 
| +  render_loop_->PostTask(FROM_HERE, NewRunnableMethod( | 
| +      this, &WebMediaPlayerImpl::Proxy::PipelineEndedTask, status)); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineErrorCallback() { | 
| -  render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, | 
| -      &WebMediaPlayerImpl::Proxy::PipelineErrorTask)); | 
| +void WebMediaPlayerImpl::Proxy::PipelineErrorCallback(PipelineStatus error) { | 
| +  DCHECK_NE(error, media::PIPELINE_OK); | 
| +  render_loop_->PostTask(FROM_HERE, NewRunnableMethod( | 
| +      this, &WebMediaPlayerImpl::Proxy::PipelineErrorTask, error)); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::NetworkEventCallback() { | 
| -  render_loop_->PostTask(FROM_HERE, NewRunnableMethod(this, | 
| -      &WebMediaPlayerImpl::Proxy::NetworkEventTask)); | 
| +void WebMediaPlayerImpl::Proxy::NetworkEventCallback(PipelineStatus status) { | 
| +  render_loop_->PostTask(FROM_HERE, NewRunnableMethod( | 
| +      this, &WebMediaPlayerImpl::Proxy::NetworkEventTask, status)); | 
| } | 
|  | 
| void WebMediaPlayerImpl::Proxy::AddDataSource(WebDataSource* data_source) { | 
| @@ -213,38 +216,39 @@ void WebMediaPlayerImpl::Proxy::RepaintTask() { | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineInitializationTask() { | 
| +void WebMediaPlayerImpl::Proxy::PipelineInitializationTask( | 
| +    PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == render_loop_); | 
| if (webmediaplayer_) { | 
| -    webmediaplayer_->OnPipelineInitialize(); | 
| +    webmediaplayer_->OnPipelineInitialize(status); | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineSeekTask() { | 
| +void WebMediaPlayerImpl::Proxy::PipelineSeekTask(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == render_loop_); | 
| if (webmediaplayer_) { | 
| -    webmediaplayer_->OnPipelineSeek(); | 
| +    webmediaplayer_->OnPipelineSeek(status); | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineEndedTask() { | 
| +void WebMediaPlayerImpl::Proxy::PipelineEndedTask(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == render_loop_); | 
| if (webmediaplayer_) { | 
| -    webmediaplayer_->OnPipelineEnded(); | 
| +    webmediaplayer_->OnPipelineEnded(status); | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::PipelineErrorTask() { | 
| +void WebMediaPlayerImpl::Proxy::PipelineErrorTask(PipelineStatus error) { | 
| DCHECK(MessageLoop::current() == render_loop_); | 
| if (webmediaplayer_) { | 
| -    webmediaplayer_->OnPipelineError(); | 
| +    webmediaplayer_->OnPipelineError(error); | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::Proxy::NetworkEventTask() { | 
| +void WebMediaPlayerImpl::Proxy::NetworkEventTask(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == render_loop_); | 
| if (webmediaplayer_) { | 
| -    webmediaplayer_->OnNetworkEvent(); | 
| +    webmediaplayer_->OnNetworkEvent(status); | 
| } | 
| } | 
|  | 
| @@ -744,9 +748,9 @@ void WebMediaPlayerImpl::Repaint() { | 
| GetClient()->repaint(); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::OnPipelineInitialize() { | 
| +void WebMediaPlayerImpl::OnPipelineInitialize(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == main_loop_); | 
| -  if (pipeline_->GetError() == media::PIPELINE_OK) { | 
| +  if (status == media::PIPELINE_OK) { | 
| // Only keep one time range starting from 0. | 
| WebKit::WebTimeRanges new_buffered(static_cast<size_t>(1)); | 
| new_buffered[0].start = 0.0f; | 
| @@ -763,7 +767,7 @@ void WebMediaPlayerImpl::OnPipelineInitialize() { | 
| SetNetworkState(WebKit::WebMediaPlayer::Loaded); | 
| } | 
| } else { | 
| -    // TODO(hclam): should use pipeline_->GetError() to determine the state | 
| +    // TODO(hclam): should use |status| to determine the state | 
| // properly and reports error using MediaError. | 
| // WebKit uses FormatError to indicate an error for bogus URL or bad file. | 
| // Since we are at the initialization stage we can safely treat every error | 
| @@ -775,9 +779,9 @@ void WebMediaPlayerImpl::OnPipelineInitialize() { | 
| Repaint(); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::OnPipelineSeek() { | 
| +void WebMediaPlayerImpl::OnPipelineSeek(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == main_loop_); | 
| -  if (pipeline_->GetError() == media::PIPELINE_OK) { | 
| +  if (status == media::PIPELINE_OK) { | 
| // Update our paused time. | 
| if (paused_) { | 
| paused_time_ = pipeline_->GetCurrentTime(); | 
| @@ -789,17 +793,20 @@ void WebMediaPlayerImpl::OnPipelineSeek() { | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::OnPipelineEnded() { | 
| +void WebMediaPlayerImpl::OnPipelineEnded(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == main_loop_); | 
| -  if (pipeline_->GetError() == media::PIPELINE_OK) { | 
| +  if (status == media::PIPELINE_OK) { | 
| GetClient()->timeChanged(); | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::OnPipelineError() { | 
| +void WebMediaPlayerImpl::OnPipelineError(PipelineStatus error) { | 
| DCHECK(MessageLoop::current() == main_loop_); | 
| -  switch (pipeline_->GetError()) { | 
| +  switch (error) { | 
| case media::PIPELINE_OK: | 
| +      LOG(DFATAL) << "PIPELINE_OK isn't an error!"; | 
| +      break; | 
| + | 
| case media::PIPELINE_ERROR_INITIALIZATION_FAILED: | 
| case media::PIPELINE_ERROR_REQUIRED_FILTER_MISSING: | 
| case media::PIPELINE_ERROR_COULD_NOT_RENDER: | 
| @@ -830,9 +837,9 @@ void WebMediaPlayerImpl::OnPipelineError() { | 
| Repaint(); | 
| } | 
|  | 
| -void WebMediaPlayerImpl::OnNetworkEvent() { | 
| +void WebMediaPlayerImpl::OnNetworkEvent(PipelineStatus status) { | 
| DCHECK(MessageLoop::current() == main_loop_); | 
| -  if (pipeline_->GetError() == media::PIPELINE_OK) { | 
| +  if (status == media::PIPELINE_OK) { | 
| if (pipeline_->IsNetworkActive()) { | 
| SetNetworkState(WebKit::WebMediaPlayer::Loading); | 
| } else { | 
| @@ -892,7 +899,7 @@ void WebMediaPlayerImpl::Destroy() { | 
| } | 
| } | 
|  | 
| -void WebMediaPlayerImpl::PipelineStoppedCallback() { | 
| +void WebMediaPlayerImpl::PipelineStoppedCallback(PipelineStatus status) { | 
| pipeline_stopped_.Signal(); | 
| } | 
|  | 
|  |