Index: chrome/renderer/plugins/power_saver_info.cc |
diff --git a/chrome/renderer/plugins/power_saver_info.cc b/chrome/renderer/plugins/power_saver_info.cc |
index 0ecfbba94c0381b3e66a7870e793cf4c77a38198..983b19d5fd719f5b27ab10d011b1545b28a472d1 100644 |
--- a/chrome/renderer/plugins/power_saver_info.cc |
+++ b/chrome/renderer/plugins/power_saver_info.cc |
@@ -9,6 +9,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/renderer/plugins/power_saver_info.h" |
#include "content/public/common/content_constants.h" |
+#include "content/public/common/content_features.h" |
#include "content/public/common/content_switches.h" |
#include "content/public/common/webplugininfo.h" |
#include "content/public/renderer/render_frame.h" |
@@ -107,12 +108,14 @@ PowerSaverInfo PowerSaverInfo::Get(content::RenderFrame* render_frame, |
// Early-exit from the whole Power Saver system if the content is |
// same-origin or whitelisted-origin. We ignore the other possibilities, |
// because we don't know the unobscured size of the plugin content yet. |
+ // If we are filtering same-origin tiny content, we cannot early exit here. |
// |
// Once the plugin is loaded, the peripheral content status is re-tested |
// with the actual unobscured plugin size. |
- if (status == content::RenderFrame::CONTENT_STATUS_ESSENTIAL_SAME_ORIGIN || |
- status == content::RenderFrame:: |
- CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_WHITELISTED) { |
+ if (!base::FeatureList::IsEnabled(features::kFilterSameOriginTinyPlugin) && |
+ (status == content::RenderFrame::CONTENT_STATUS_ESSENTIAL_SAME_ORIGIN || |
+ status == content::RenderFrame:: |
+ CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_WHITELISTED)) { |
info.power_saver_enabled = false; |
} else { |
info.poster_attribute = GetPluginInstancePosterAttribute(params); |