Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index ca5b06b68576d4b1a475ac824db48af0f95cf6d6..c8cf95bc1c4989f9139ac58f7c8cf98f9aafc124 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -185,6 +185,20 @@ using extensions::Extension; |
namespace { |
+enum YouTubeRewriteStatus { |
+ SUCCESS = 0, |
+ SUCCESS_PARAMS_REWRITE = 1, |
+ SUCCESS_ENABLEJSAPI = 2, |
+ FAILURE_ENABLEJSAPI = 3, |
+ NUM_PLUGIN_ERROR // should be kept last |
+}; |
+ |
+const char kFlashYouTubeRewriteUMA[] = "Plugin.Flash.YouTubeRewrite"; |
+ |
+void RecordYouTubeRewriteUMA(int status, int max) { |
+ UMA_HISTOGRAM_ENUMERATION(kFlashYouTubeRewriteUMA, status, max); |
+} |
+ |
// Whitelist PPAPI for Android Runtime for Chromium. (See crbug.com/383937) |
#if defined(ENABLE_PLUGINS) |
const char* const kPredefinedAllowedCameraDeviceOrigins[] = { |
@@ -1433,8 +1447,10 @@ GURL ChromeContentRendererClient::OverrideFlashEmbedWithHTML(const GURL& url) { |
// We don't modify any URLs that contain the enablejsapi=1 parameter |
// since the page may be interacting with the YouTube Flash player in |
// Javascript and we don't want to break working content. |
- if (corrected_url.query().find("enablejsapi=1") != std::string::npos) |
+ if (corrected_url.query().find("enablejsapi=1") != std::string::npos) { |
+ RecordYouTubeRewriteUMA(FAILURE_ENABLEJSAPI, NUM_PLUGIN_ERROR); |
return GURL(); |
+ } |
// Change the path to use the YouTube HTML5 API |
std::string path = corrected_url.path(); |
@@ -1443,5 +1459,7 @@ GURL ChromeContentRendererClient::OverrideFlashEmbedWithHTML(const GURL& url) { |
url::Replacements<char> r; |
r.SetPath(path.c_str(), url::Component(0, path.length())); |
+ RecordYouTubeRewriteUMA(invalid_url ? SUCCESS_PARAMS_REWRITE : SUCCESS, |
+ NUM_PLUGIN_ERROR); |
return corrected_url.ReplaceComponents(r); |
} |