| 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 8999f1a9b452c07f667f179466926dcf146a70af..ec4c0d63c5aebcf8c33f79a300ff42577c472938 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -768,8 +768,15 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
| PowerSaverInfo power_saver_info =
|
| PowerSaverInfo::Get(render_frame, power_saver_setting_on, params,
|
| info, frame->document().url());
|
| + // Prevent small plugins from loading by using a placeholder until
|
| + // we can determine the unobscured size of the object.
|
| + bool blocked_for_tinyness =
|
| + ChromePluginPlaceholder::IsSmallContentFilterEnabled() &&
|
| + power_saver_info.power_saver_enabled;
|
| +
|
| if (power_saver_info.blocked_for_background_tab || is_prerendering ||
|
| - !power_saver_info.poster_attribute.empty()) {
|
| + !power_saver_info.poster_attribute.empty() ||
|
| + blocked_for_tinyness) {
|
| placeholder = ChromePluginPlaceholder::CreateBlockedPlugin(
|
| render_frame, frame, params, info, identifier, group_name,
|
| power_saver_info.poster_attribute.empty()
|
| @@ -778,24 +785,12 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
| l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name),
|
| power_saver_info);
|
| placeholder->set_blocked_for_prerendering(is_prerendering);
|
| + placeholder->set_blocked_for_tinyness(blocked_for_tinyness);
|
| placeholder->AllowLoading();
|
| break;
|
| }
|
|
|
| std::unique_ptr<content::PluginInstanceThrottler> throttler;
|
| -
|
| - // Small content filter requires routing through a placeholder.
|
| - if (ChromePluginPlaceholder::IsSmallContentFilterEnabled() &&
|
| - power_saver_info.power_saver_enabled) {
|
| - // The feature only applies to flash plugins.
|
| - if (power_saver_info.is_eligible) {
|
| - placeholder = ChromePluginPlaceholder::CreateDelayedPlugin(
|
| - render_frame, frame, params, info, identifier, group_name,
|
| - power_saver_info);
|
| - break;
|
| - }
|
| - }
|
| -
|
| if (power_saver_info.power_saver_enabled) {
|
| throttler = PluginInstanceThrottler::Create();
|
| // PluginPreroller manages its own lifetime.
|
|
|