diff options
author | cevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-14 20:46:43 +0000 |
---|---|---|
committer | cevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-14 20:46:43 +0000 |
commit | 81f5486a2aa70e059a76b6e0851bb55b2e3daf53 (patch) | |
tree | 7f4cfe90cbdacd3e179ec17012028d3ce223467a /chrome/renderer | |
parent | 7284a4e6d60eb4cd59fff8923b1a616bde1d50c2 (diff) | |
download | chromium_src-81f5486a2aa70e059a76b6e0851bb55b2e3daf53.zip chromium_src-81f5486a2aa70e059a76b6e0851bb55b2e3daf53.tar.gz chromium_src-81f5486a2aa70e059a76b6e0851bb55b2e3daf53.tar.bz2 |
Collect stats on how often we decline to use the plug-in type="mime/blah"
attribute and instead derive a MIME type based on the URL path.
BUG=75070
Review URL: http://codereview.chromium.org/7346042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92597 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/chrome_content_renderer_client.cc | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index fb387f7..8a26de0 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -99,6 +99,17 @@ using WebKit::WebVector; namespace { +// Constants for UMA statistic collection. +static const char kPluginTypeMismatch[] = "Plugin.PluginTypeMismatch"; +static const char kApplicationOctetStream[] = "application/octet-stream"; +enum { + PLUGIN_TYPE_MISMATCH_NONE = 0, + PLUGIN_TYPE_MISMATCH_ORIG_EMPTY, + PLUGIN_TYPE_MISMATCH_ORIG_OCTETSTREAM, + PLUGIN_TYPE_MISMATCH_ORIG_OTHER, + PLUGIN_TYPE_MISMATCH_NUM_EVENTS, +}; + static void AppendParams(const std::vector<string16>& additional_names, const std::vector<string16>& additional_values, WebVector<WebString>* existing_names, @@ -256,16 +267,34 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( CommandLine* cmd = CommandLine::ForCurrentProcess(); webkit::npapi::WebPluginInfo info; GURL url(original_params.url); + std::string orig_mime_type = original_params.mimeType.utf8(); std::string actual_mime_type; render_view->Send(new ViewHostMsg_GetPluginInfo( render_view->routing_id(), url, frame->top()->document().url(), - original_params.mimeType.utf8(), &found, &info, &actual_mime_type)); + orig_mime_type, &found, &info, &actual_mime_type)); if (!found) return NULL; if (!webkit::npapi::IsPluginEnabled(info)) return NULL; + if (orig_mime_type == actual_mime_type) + UMA_HISTOGRAM_ENUMERATION(kPluginTypeMismatch, + PLUGIN_TYPE_MISMATCH_NONE, + PLUGIN_TYPE_MISMATCH_NUM_EVENTS); + else if (orig_mime_type.empty()) + UMA_HISTOGRAM_ENUMERATION(kPluginTypeMismatch, + PLUGIN_TYPE_MISMATCH_ORIG_EMPTY, + PLUGIN_TYPE_MISMATCH_NUM_EVENTS); + else if (orig_mime_type == kApplicationOctetStream) + UMA_HISTOGRAM_ENUMERATION(kPluginTypeMismatch, + PLUGIN_TYPE_MISMATCH_ORIG_OCTETSTREAM, + PLUGIN_TYPE_MISMATCH_NUM_EVENTS); + else + UMA_HISTOGRAM_ENUMERATION(kPluginTypeMismatch, + PLUGIN_TYPE_MISMATCH_ORIG_OTHER, + PLUGIN_TYPE_MISMATCH_NUM_EVENTS); + const webkit::npapi::PluginGroup* group = webkit::npapi::PluginList::Singleton()->GetPluginGroup(info); DCHECK(group != NULL); |