Chromium Code Reviews| 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 ab0212949f54ab8b8919fab25b5b128df0a4146d..83c4ce520c720ee87c16d484741cea222ee314f2 100644 |
| --- a/chrome/renderer/chrome_content_renderer_client.cc |
| +++ b/chrome/renderer/chrome_content_renderer_client.cc |
| @@ -269,6 +269,45 @@ void IsGuestViewApiAvailableToScriptContext( |
| #endif |
| #if defined(ENABLE_PLUGINS) |
| +// Presence of the poster param within plugin object tags. |
| +// These numeric values are used in UMA logs; do not change them. |
| +enum PosterParamPresence { |
| + POSTER_PRESENCE_NO_PARAM_PPS_DISABLED = 0, |
| + POSTER_PRESENCE_NO_PARAM_PPS_ENABLED = 1, |
| + POSTER_PRESENCE_PARAM_EXISTS_PPS_DISABLED = 2, |
| + POSTER_PRESENCE_PARAM_EXISTS_PPS_ENABLED = 3, |
| + POSTER_PRESENCE_NUM_ITEMS |
| +}; |
| + |
| +const char kPluginPowerSaverPosterParamPresenceHistogram[] = |
| + "Plugin.PowerSaver.PosterParamPresence"; |
| + |
| +void RecordPosterParamPresence(int presence) { |
|
sky
2015/02/20 18:12:26
int->PosterParamPresence ?
tommycli
2015/02/20 18:17:03
Done.
|
| + UMA_HISTOGRAM_ENUMERATION(kPluginPowerSaverPosterParamPresenceHistogram, |
| + presence, POSTER_PRESENCE_NUM_ITEMS); |
| +} |
| + |
| +void TrackPosterParamPresence(const blink::WebPluginParams& params, |
| + bool power_saver_enabled) { |
| + DCHECK_EQ(params.attributeNames.size(), params.attributeValues.size()); |
| + |
| + for (size_t i = 0; i < params.attributeNames.size(); ++i) { |
| + if (params.attributeNames[i].utf8() == "poster") { |
| + if (power_saver_enabled) |
| + RecordPosterParamPresence(POSTER_PRESENCE_PARAM_EXISTS_PPS_ENABLED); |
| + else |
| + RecordPosterParamPresence(POSTER_PRESENCE_PARAM_EXISTS_PPS_DISABLED); |
| + |
| + return; |
| + } |
| + } |
| + |
| + if (power_saver_enabled) |
| + RecordPosterParamPresence(POSTER_PRESENCE_NO_PARAM_PPS_ENABLED); |
| + else |
| + RecordPosterParamPresence(POSTER_PRESENCE_NO_PARAM_PPS_DISABLED); |
| +} |
| + |
| GURL GetPluginInstancePosterImage(const blink::WebPluginParams& params, |
| const GURL& page_base_url) { |
| DCHECK_EQ(params.attributeNames.size(), params.attributeValues.size()); |
| @@ -807,6 +846,9 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
| bool blocked_for_background_tab = |
| render_frame->IsHidden() && power_saver_enabled; |
| + if (info.name == ASCIIToUTF16(content::kFlashPluginName)) |
| + TrackPosterParamPresence(params, power_saver_enabled); |
| + |
| GURL poster_url; |
| if (power_saver_enabled) { |
| poster_url = |