summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorcevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-14 20:46:43 +0000
committercevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-14 20:46:43 +0000
commit81f5486a2aa70e059a76b6e0851bb55b2e3daf53 (patch)
tree7f4cfe90cbdacd3e179ec17012028d3ce223467a /chrome/renderer
parent7284a4e6d60eb4cd59fff8923b1a616bde1d50c2 (diff)
downloadchromium_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.cc31
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);