Plugin Power Saver: Implement size-based heuristic for peripheral content.

Restricts Plugin Power Saver to small content that's cross-origin.

Also handles the temporary whitelist for cross-origin as described by
thestig@ in the design doc.

Design doc: http://goo.gl/iDix3p

BUG=403800

Review URL: https://codereview.chromium.org/680193002

Cr-Commit-Position: refs/heads/master@{#302466}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 07142af..e502796 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -57,6 +57,7 @@
 class JavaScriptDialogManager;
 class ManifestManagerHost;
 class MidiDispatcherHost;
+class PluginContentOriginWhitelist;
 class PowerSaveBlocker;
 class RenderViewHost;
 class RenderViewHostDelegateView;
@@ -1163,6 +1164,11 @@
   // NULL otherwise.
   scoped_ptr<BrowserPluginGuest> browser_plugin_guest_;
 
+#if defined(ENABLE_PLUGINS)
+  // Manages the whitelist of plugin content origins exempt from power saving.
+  scoped_ptr<PluginContentOriginWhitelist> plugin_content_origin_whitelist_;
+#endif
+
   // This must be at the end, or else we might get notifications and use other
   // member variables that are gone.
   NotificationRegistrar registrar_;