| Index: webkit/glue/webmediaplayer_impl.cc
|
| diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc
|
| index 01ddcc06c9191fef3966592df87892058792b880..94642d4b7f807769eae729a77d13cd813b3f1370 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);
|
| }
|
|
|