summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-15 23:00:58 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-15 23:00:58 +0000
commitdaeae7290eec8601bfe01aef365f4ca82cda63c5 (patch)
tree63951c8ef6fd3f95c4d6108dcf65be87744a72e9 /webkit/glue
parentdea4a4ea5689cc6dbf1cc44243345382fa41f7f8 (diff)
downloadchromium_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.cc44
-rw-r--r--webkit/glue/webmediaplayer_impl.h2
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);