Chromium Code Reviews| Index: components/plugins/renderer/plugin_placeholder.cc |
| diff --git a/components/plugins/renderer/plugin_placeholder.cc b/components/plugins/renderer/plugin_placeholder.cc |
| index 09b27381df3ff2c32097bcb84d1534c5205f8d0b..ab6078c8c7a9dd97f6482742c8bbbb896e57bc93 100644 |
| --- a/components/plugins/renderer/plugin_placeholder.cc |
| +++ b/components/plugins/renderer/plugin_placeholder.cc |
| @@ -68,7 +68,8 @@ PluginPlaceholder::PluginPlaceholder(content::RenderFrame* render_frame, |
| is_blocked_for_background_tab_(false), |
| is_blocked_for_prerendering_(false), |
| is_blocked_for_power_saver_poster_(false), |
| - power_saver_mode_(content::RenderFrame::POWER_SAVER_MODE_ESSENTIAL), |
| + power_saver_mode_( |
| + content::PluginInstanceThrottler::POWER_SAVER_MODE_ESSENTIAL), |
| allow_loading_(false), |
| hidden_(false), |
| finished_loading_(false), |
| @@ -79,7 +80,8 @@ PluginPlaceholder::~PluginPlaceholder() {} |
| #if defined(ENABLE_PLUGINS) |
| void PluginPlaceholder::DisablePowerSaverForInstance() { |
| - power_saver_mode_ = content::RenderFrame::POWER_SAVER_MODE_ESSENTIAL; |
| + power_saver_mode_ = |
| + content::PluginInstanceThrottler::POWER_SAVER_MODE_ESSENTIAL; |
| if (is_blocked_for_power_saver_poster_) { |
| is_blocked_for_power_saver_poster_ = false; |
| if (!LoadingBlocked()) |
| @@ -247,11 +249,20 @@ void PluginPlaceholder::LoadPlugin() { |
| return; |
| } |
| + scoped_ptr<content::PluginInstanceThrottler> throttler; |
| +#if defined(ENABLE_PLUGINS) |
| + if (power_saver_mode_ != |
| + content::PluginInstanceThrottler::POWER_SAVER_MODE_ESSENTIAL) { |
| + throttler.reset( |
| + content::PluginInstanceThrottler::Create( |
| + render_frame(), plugin_params_.url, power_saver_mode_).release()); |
|
piman
2015/01/14 19:15:43
ditto
tommycli
2015/01/14 19:22:05
Done.
|
| + } |
| +#endif |
| // TODO(mmenke): In the case of prerendering, feed into |
| // ChromeContentRendererClient::CreatePlugin instead, to |
| // reduce the chance of future regressions. |
| WebPlugin* plugin = render_frame()->CreatePlugin( |
| - frame_, plugin_info_, plugin_params_, power_saver_mode_); |
| + frame_, plugin_info_, plugin_params_, throttler.Pass()); |
| ReplacePlugin(plugin); |
| } |