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

Side by Side Diff: content/renderer/peripheral_content_heuristic_unittest.cc

Issue 1522173002: Reland: Plugin Power Saver: Improve Poster behavior for essential plugins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix an NPE crash/race on plugin destruction 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/peripheral_content_heuristic.h" 5 #include "content/renderer/peripheral_content_heuristic.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "ui/gfx/geometry/size.h"
8 #include "url/gurl.h" 9 #include "url/gurl.h"
9 #include "url/origin.h" 10 #include "url/origin.h"
10 11
11 namespace content { 12 namespace content {
12 13
13 namespace { 14 namespace {
14 15
15 const char kSameOrigin[] = "http://same.com"; 16 const char kSameOrigin[] = "http://same.com";
16 const char kOtherOrigin[] = "http://other.com"; 17 const char kOtherOrigin[] = "http://other.com";
17 18
18 } // namespaces 19 } // namespaces
19 20
20 TEST(PeripheralContentHeuristic, AllowSameOrigin) { 21 TEST(PeripheralContentHeuristic, AllowSameOrigin) {
21 EXPECT_EQ( 22 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_SAME_ORIGIN,
22 PeripheralContentHeuristic::HEURISTIC_DECISION_ESSENTIAL_SAME_ORIGIN, 23 PeripheralContentHeuristic::GetPeripheralStatus(
23 PeripheralContentHeuristic::GetPeripheralStatus( 24 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
24 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 25 url::Origin(GURL(kSameOrigin)), gfx::Size(100, 100)));
25 url::Origin(GURL(kSameOrigin)), 100, 100)); 26 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_SAME_ORIGIN,
26 EXPECT_EQ( 27 PeripheralContentHeuristic::GetPeripheralStatus(
27 PeripheralContentHeuristic::HEURISTIC_DECISION_ESSENTIAL_SAME_ORIGIN, 28 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
28 PeripheralContentHeuristic::GetPeripheralStatus( 29 url::Origin(GURL(kSameOrigin)), gfx::Size(1000, 1000)));
29 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
30 url::Origin(GURL(kSameOrigin)), 1000, 1000));
31 } 30 }
32 31
33 TEST(PeripheralContentHeuristic, DisallowCrossOriginUnlessLarge) { 32 TEST(PeripheralContentHeuristic, DisallowCrossOriginUnlessLarge) {
34 EXPECT_EQ(PeripheralContentHeuristic::HEURISTIC_DECISION_PERIPHERAL, 33 EXPECT_EQ(RenderFrame::CONTENT_STATUS_PERIPHERAL,
35 PeripheralContentHeuristic::GetPeripheralStatus( 34 PeripheralContentHeuristic::GetPeripheralStatus(
36 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 35 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
37 url::Origin(GURL(kOtherOrigin)), 100, 100)); 36 url::Origin(GURL(kOtherOrigin)), gfx::Size(100, 100)));
38 EXPECT_EQ( 37 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_BIG,
39 PeripheralContentHeuristic::HEURISTIC_DECISION_ESSENTIAL_CROSS_ORIGIN_BIG, 38 PeripheralContentHeuristic::GetPeripheralStatus(
40 PeripheralContentHeuristic::GetPeripheralStatus( 39 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
41 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 40 url::Origin(GURL(kOtherOrigin)), gfx::Size(1000, 1000)));
42 url::Origin(GURL(kOtherOrigin)), 1000, 1000));
43 } 41 }
44 42
45 TEST(PeripheralContentHeuristic, AlwaysAllowTinyContent) { 43 TEST(PeripheralContentHeuristic, AlwaysAllowTinyContent) {
46 EXPECT_EQ( 44 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_SAME_ORIGIN,
47 PeripheralContentHeuristic::HEURISTIC_DECISION_ESSENTIAL_SAME_ORIGIN,
48 PeripheralContentHeuristic::GetPeripheralStatus(
49 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
50 url::Origin(GURL(kSameOrigin)), 1, 1));
51 EXPECT_EQ(PeripheralContentHeuristic::
52 HEURISTIC_DECISION_ESSENTIAL_CROSS_ORIGIN_TINY,
53 PeripheralContentHeuristic::GetPeripheralStatus( 45 PeripheralContentHeuristic::GetPeripheralStatus(
54 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 46 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
55 url::Origin(GURL(kOtherOrigin)), 1, 1)); 47 url::Origin(GURL(kSameOrigin)), gfx::Size(1, 1)));
56 EXPECT_EQ(PeripheralContentHeuristic:: 48 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_TINY,
57 HEURISTIC_DECISION_ESSENTIAL_CROSS_ORIGIN_TINY,
58 PeripheralContentHeuristic::GetPeripheralStatus( 49 PeripheralContentHeuristic::GetPeripheralStatus(
59 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 50 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
60 url::Origin(GURL(kOtherOrigin)), 5, 5)); 51 url::Origin(GURL(kOtherOrigin)), gfx::Size(1, 1)));
61 EXPECT_EQ(PeripheralContentHeuristic::HEURISTIC_DECISION_PERIPHERAL, 52 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_TINY,
62 PeripheralContentHeuristic::GetPeripheralStatus( 53 PeripheralContentHeuristic::GetPeripheralStatus(
63 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 54 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
64 url::Origin(GURL(kOtherOrigin)), 10, 10)); 55 url::Origin(GURL(kOtherOrigin)), gfx::Size(5, 5)));
56 EXPECT_EQ(RenderFrame::CONTENT_STATUS_PERIPHERAL,
57 PeripheralContentHeuristic::GetPeripheralStatus(
58 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
59 url::Origin(GURL(kOtherOrigin)), gfx::Size(10, 10)));
65 } 60 }
66 61
67 TEST(PeripheralContentHeuristic, TemporaryOriginWhitelist) { 62 TEST(PeripheralContentHeuristic, TemporaryOriginWhitelist) {
68 EXPECT_EQ(PeripheralContentHeuristic::HEURISTIC_DECISION_PERIPHERAL, 63 EXPECT_EQ(RenderFrame::CONTENT_STATUS_PERIPHERAL,
69 PeripheralContentHeuristic::GetPeripheralStatus( 64 PeripheralContentHeuristic::GetPeripheralStatus(
70 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)), 65 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
71 url::Origin(GURL(kOtherOrigin)), 100, 100)); 66 url::Origin(GURL(kOtherOrigin)), gfx::Size(100, 100)));
72 67
73 std::set<url::Origin> whitelist; 68 std::set<url::Origin> whitelist;
74 whitelist.insert(url::Origin(GURL(kOtherOrigin))); 69 whitelist.insert(url::Origin(GURL(kOtherOrigin)));
75 70
76 EXPECT_EQ(PeripheralContentHeuristic:: 71 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_WHITELISTED,
77 HEURISTIC_DECISION_ESSENTIAL_CROSS_ORIGIN_WHITELISTED,
78 PeripheralContentHeuristic::GetPeripheralStatus( 72 PeripheralContentHeuristic::GetPeripheralStatus(
79 whitelist, url::Origin(GURL(kSameOrigin)), 73 whitelist, url::Origin(GURL(kSameOrigin)),
80 url::Origin(GURL(kOtherOrigin)), 100, 100)); 74 url::Origin(GURL(kOtherOrigin)), gfx::Size(100, 100)));
75 }
76
77 TEST(PeripheralContentHeuristic, UndefinedSize) {
78 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_SAME_ORIGIN,
79 PeripheralContentHeuristic::GetPeripheralStatus(
80 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
81 url::Origin(GURL(kSameOrigin)), gfx::Size()));
82
83 std::set<url::Origin> whitelist;
84 whitelist.insert(url::Origin(GURL(kOtherOrigin)));
85 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_CROSS_ORIGIN_WHITELISTED,
86 PeripheralContentHeuristic::GetPeripheralStatus(
87 whitelist, url::Origin(GURL(kSameOrigin)),
88 url::Origin(GURL(kOtherOrigin)), gfx::Size()));
89
90 EXPECT_EQ(RenderFrame::CONTENT_STATUS_ESSENTIAL_UNKNOWN_SIZE,
91 PeripheralContentHeuristic::GetPeripheralStatus(
92 std::set<url::Origin>(), url::Origin(GURL(kSameOrigin)),
93 url::Origin(GURL(kOtherOrigin)), gfx::Size()));
81 } 94 }
82 95
83 } // namespace content 96 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698