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

Unified Diff: content/renderer/pepper/plugin_power_saver_helper_browsertest.cc

Issue 1528653002: Revert of Plugin Power Saver: Improve Poster behavior for essential plugins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
Index: content/renderer/pepper/plugin_power_saver_helper_browsertest.cc
diff --git a/content/renderer/pepper/plugin_power_saver_helper_browsertest.cc b/content/renderer/pepper/plugin_power_saver_helper_browsertest.cc
index 9e42241ffada8aa56dc42f0324f6a9865c88234f..ad6a0c12ac82a04edeeb2a91b3f993eae3496b5e 100644
--- a/content/renderer/pepper/plugin_power_saver_helper_browsertest.cc
+++ b/content/renderer/pepper/plugin_power_saver_helper_browsertest.cc
@@ -16,7 +16,6 @@
#include "third_party/WebKit/public/web/WebDocument.h"
#include "third_party/WebKit/public/web/WebLocalFrame.h"
#include "third_party/WebKit/public/web/WebPluginParams.h"
-#include "ui/gfx/geometry/size.h"
#include "url/gurl.h"
namespace content {
@@ -34,27 +33,101 @@
return static_cast<RenderFrameImpl*>(view_->GetMainRenderFrame());
}
+ blink::WebPluginParams MakeParams(const std::string& url,
+ const std::string& poster,
+ const std::string& width,
+ const std::string& height) {
+ const size_t size = 3;
+ blink::WebVector<blink::WebString> names(size);
+ blink::WebVector<blink::WebString> values(size);
+
+ blink::WebPluginParams params;
+ params.url = GURL(url);
+
+ params.attributeNames.swap(names);
+ params.attributeValues.swap(values);
+
+ params.attributeNames[0] = "poster";
+ params.attributeNames[1] = "height";
+ params.attributeNames[2] = "width";
+ params.attributeValues[0] = blink::WebString::fromUTF8(poster);
+ params.attributeValues[1] = blink::WebString::fromUTF8(height);
+ params.attributeValues[2] = blink::WebString::fromUTF8(width);
+
+ return params;
+ }
+
protected:
IPC::TestSink* sink_;
DISALLOW_COPY_AND_ASSIGN(PluginPowerSaverHelperTest);
};
+TEST_F(PluginPowerSaverHelperTest, AllowSameOrigin) {
+ EXPECT_FALSE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://same.com")), 100, 100, nullptr));
+ EXPECT_FALSE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://same.com")), 1000, 1000, nullptr));
+}
+
+TEST_F(PluginPowerSaverHelperTest, DisallowCrossOriginUnlessLarge) {
+ bool cross_origin_main_content = false;
+ EXPECT_TRUE(
+ frame()->ShouldThrottleContent(url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 100,
+ 100, &cross_origin_main_content));
+ EXPECT_FALSE(cross_origin_main_content);
+
+ EXPECT_FALSE(
+ frame()->ShouldThrottleContent(url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")),
+ 1000, 1000, &cross_origin_main_content));
+ EXPECT_TRUE(cross_origin_main_content);
+}
+
+TEST_F(PluginPowerSaverHelperTest, AlwaysAllowTinyContent) {
+ bool cross_origin_main_content = false;
+ EXPECT_FALSE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://same.com")), 1, 1, nullptr));
+ EXPECT_FALSE(cross_origin_main_content);
+
+ EXPECT_FALSE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 1, 1, &cross_origin_main_content));
+ EXPECT_FALSE(cross_origin_main_content);
+
+ EXPECT_FALSE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 5, 5, &cross_origin_main_content));
+ EXPECT_FALSE(cross_origin_main_content);
+
+ EXPECT_TRUE(
+ frame()->ShouldThrottleContent(url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 10,
+ 10, &cross_origin_main_content));
+ EXPECT_FALSE(cross_origin_main_content);
+}
+
TEST_F(PluginPowerSaverHelperTest, TemporaryOriginWhitelist) {
- EXPECT_EQ(RenderFrame::CONTENT_STATUS_PERIPHERAL,
- frame()->GetPeripheralContentStatus(
- url::Origin(GURL("http://same.com")),
- url::Origin(GURL("http://other.com")), gfx::Size(100, 100)));
+ bool cross_origin_main_content = false;
+ EXPECT_TRUE(
+ frame()->ShouldThrottleContent(url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 100,
+ 100, &cross_origin_main_content));
+ EXPECT_FALSE(cross_origin_main_content);
// Clear out other messages so we find just the plugin power saver IPCs.
sink_->ClearMessages();
frame()->WhitelistContentOrigin(url::Origin(GURL("http://other.com")));
-
- EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_WHITELISTED,
- frame()->GetPeripheralContentStatus(
- url::Origin(GURL("http://same.com")),
- url::Origin(GURL("http://other.com")), gfx::Size(100, 100)));
+ EXPECT_FALSE(
+ frame()->ShouldThrottleContent(url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 100,
+ 100, &cross_origin_main_content));
+ EXPECT_FALSE(cross_origin_main_content);
// Test that we've sent an IPC to the browser.
ASSERT_EQ(1u, sink_->message_count());
@@ -83,17 +156,15 @@
TEST_F(PluginPowerSaverHelperTest, ClearWhitelistOnNavigate) {
frame()->WhitelistContentOrigin(url::Origin(GURL("http://other.com")));
- EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_WHITELISTED,
- frame()->GetPeripheralContentStatus(
- url::Origin(GURL("http://same.com")),
- url::Origin(GURL("http://other.com")), gfx::Size(100, 100)));
+ EXPECT_FALSE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 100, 100, nullptr));
LoadHTML("<html></html>");
- EXPECT_EQ(RenderFrame::CONTENT_STATUS_PERIPHERAL,
- frame()->GetPeripheralContentStatus(
- url::Origin(GURL("http://same.com")),
- url::Origin(GURL("http://other.com")), gfx::Size(100, 100)));
+ EXPECT_TRUE(frame()->ShouldThrottleContent(
+ url::Origin(GURL("http://same.com")),
+ url::Origin(GURL("http://other.com")), 100, 100, nullptr));
}
} // namespace content
« no previous file with comments | « content/renderer/pepper/plugin_power_saver_helper.cc ('k') | content/renderer/peripheral_content_heuristic.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698