diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-26 19:40:51 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-26 19:40:51 +0000 |
commit | c5b1b642eb2e529679669ce7c454a275191805df (patch) | |
tree | 46a1e1777aae2397087fb8f6351301cf7ae9384f /webkit/media | |
parent | a830b88172bbf4fc48847bd739ac14897346aea3 (diff) | |
download | chromium_src-c5b1b642eb2e529679669ce7c454a275191805df.zip chromium_src-c5b1b642eb2e529679669ce7c454a275191805df.tar.gz chromium_src-c5b1b642eb2e529679669ce7c454a275191805df.tar.bz2 |
Fix reporting of Media.AcceleratedCompositingActive to account for JS-created media elements.
BUG=119722
Review URL: http://codereview.chromium.org/9854029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128975 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/media')
-rw-r--r-- | webkit/media/webmediaplayer_impl.cc | 16 | ||||
-rw-r--r-- | webkit/media/webmediaplayer_impl.h | 4 |
2 files changed, 10 insertions, 10 deletions
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc index c988faa..61b478c 100644 --- a/webkit/media/webmediaplayer_impl.cc +++ b/webkit/media/webmediaplayer_impl.cc @@ -118,7 +118,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( delegate_(delegate), media_stream_client_(media_stream_client), media_log_(media_log), - is_accelerated_compositing_active_(false), + accelerated_compositing_reported_(false), incremented_externally_allocated_memory_(false), audio_source_provider_(audio_source_provider) { media_log_->AddEvent( @@ -139,9 +139,6 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( base::Bind(&WebMediaPlayerImpl::IncrementExternallyAllocatedMemory, AsWeakPtr())); - is_accelerated_compositing_active_ = - frame->view()->isAcceleratedCompositingActive(); - // Also we want to be notified of |main_loop_| destruction. main_loop_->AddDestructionObserver(this); @@ -621,6 +618,11 @@ WebKit::WebVideoFrame* WebMediaPlayerImpl::getCurrentFrame() { void WebMediaPlayerImpl::putCurrentFrame( WebKit::WebVideoFrame* web_video_frame) { + if (!accelerated_compositing_reported_) { + accelerated_compositing_reported_ = true; + UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", + frame_->view()->isAcceleratedCompositingActive()); + } if (web_video_frame) { scoped_refptr<media::VideoFrame> video_frame( WebVideoFrameImpl::toVideoFrame(web_video_frame)); @@ -678,12 +680,8 @@ void WebMediaPlayerImpl::OnPipelineInitialize(PipelineStatus status) { static_cast<float>(pipeline_->GetMediaDuration().InSecondsF()); buffered_.swap(new_buffered); - if (hasVideo()) { - UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", - is_accelerated_compositing_active_); - } else { + if (!hasVideo()) GetClient()->disableAcceleratedCompositing(); - } if (pipeline_->IsLocalSource()) SetNetworkState(WebKit::WebMediaPlayer::Loaded); diff --git a/webkit/media/webmediaplayer_impl.h b/webkit/media/webmediaplayer_impl.h index fea3b92..0d521ef 100644 --- a/webkit/media/webmediaplayer_impl.h +++ b/webkit/media/webmediaplayer_impl.h @@ -274,7 +274,9 @@ class WebMediaPlayerImpl scoped_refptr<media::MediaLog> media_log_; - bool is_accelerated_compositing_active_; + // Since accelerated compositing status is only known after the first layout, + // we delay reporting it to UMA until that time. + bool accelerated_compositing_reported_; bool incremented_externally_allocated_memory_; |