diff options
author | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-15 23:00:58 +0000 |
---|---|---|
committer | fischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-15 23:00:58 +0000 |
commit | daeae7290eec8601bfe01aef365f4ca82cda63c5 (patch) | |
tree | 63951c8ef6fd3f95c4d6108dcf65be87744a72e9 /webkit/glue | |
parent | dea4a4ea5689cc6dbf1cc44243345382fa41f7f8 (diff) | |
download | chromium_src-daeae7290eec8601bfe01aef365f4ca82cda63c5.zip chromium_src-daeae7290eec8601bfe01aef365f4ca82cda63c5.tar.gz chromium_src-daeae7290eec8601bfe01aef365f4ca82cda63c5.tar.bz2 |
Only report Media.AcceleratedCompositingActive for video-having playbacks.
Added Media.URLScheme histogram.
BUG=none
TEST=manual observation of chrome://histograms/Media
Review URL: http://codereview.chromium.org/8468011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110201 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/webmediaplayer_impl.cc | 44 | ||||
-rw-r--r-- | webkit/glue/webmediaplayer_impl.h | 2 |
2 files changed, 44 insertions, 2 deletions
diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc index 01ddcc0..94642d4 100644 --- a/webkit/glue/webmediaplayer_impl.cc +++ b/webkit/glue/webmediaplayer_impl.cc @@ -120,6 +120,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( delegate_(delegate), media_stream_client_(media_stream_client), media_log_(media_log), + is_accelerated_compositing_active_(false), incremented_externally_allocated_memory_(false) { // Saves the current message loop. DCHECK(!main_loop_); @@ -152,8 +153,8 @@ bool WebMediaPlayerImpl::Initialize( AsWeakPtr())); } - UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", - frame->view()->isAcceleratedCompositingActive()); + is_accelerated_compositing_active_ = + frame->view()->isAcceleratedCompositingActive(); pipeline_ = new media::PipelineImpl(pipeline_message_loop, media_log_); @@ -237,10 +238,44 @@ WebMediaPlayerImpl::~WebMediaPlayerImpl() { } } +namespace { + +// Helper enum for reporting scheme histograms. +enum URLSchemeForHistogram { + kUnknownURLScheme, + kMissingURLScheme, + kHttpURLScheme, + kHttpsURLScheme, + kFtpURLScheme, + kChromeExtensionURLScheme, + kJavascriptURLScheme, + kFileURLScheme, + kBlobURLScheme, + kDataURLScheme, + kMaxURLScheme = kDataURLScheme // Must be equal to highest enum value. +}; + +URLSchemeForHistogram URLScheme(const GURL& url) { + if (!url.has_scheme()) return kMissingURLScheme; + if (url.SchemeIs("http")) return kHttpURLScheme; + if (url.SchemeIs("https")) return kHttpsURLScheme; + if (url.SchemeIs("ftp")) return kFtpURLScheme; + if (url.SchemeIs("chrome-extension")) return kChromeExtensionURLScheme; + if (url.SchemeIs("javascript")) return kJavascriptURLScheme; + if (url.SchemeIs("file")) return kFileURLScheme; + if (url.SchemeIs("blob")) return kBlobURLScheme; + if (url.SchemeIs("data")) return kDataURLScheme; + return kUnknownURLScheme; +} + +} // anonymous namespace + void WebMediaPlayerImpl::load(const WebKit::WebURL& url) { DCHECK_EQ(main_loop_, MessageLoop::current()); DCHECK(proxy_); + UMA_HISTOGRAM_ENUMERATION("Media.URLScheme", URLScheme(url), kMaxURLScheme); + if (media_stream_client_) { bool has_video = false; bool has_audio = false; @@ -708,6 +743,11 @@ 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_); + } + if (pipeline_->IsLoaded()) { SetNetworkState(WebKit::WebMediaPlayer::Loaded); } diff --git a/webkit/glue/webmediaplayer_impl.h b/webkit/glue/webmediaplayer_impl.h index 3acaa6f..ac573d9 100644 --- a/webkit/glue/webmediaplayer_impl.h +++ b/webkit/glue/webmediaplayer_impl.h @@ -267,6 +267,8 @@ class WebMediaPlayerImpl scoped_refptr<media::MediaLog> media_log_; + bool is_accelerated_compositing_active_; + bool incremented_externally_allocated_memory_; DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |