Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(473)

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 942673002: Plugin Power Saver: Add Poster Param metric. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..631eafe0f3297fc03ce934fdef150c56fc9433ce 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(PosterParamPresence presence) {
+ 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 =
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698