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

Unified Diff: third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp

Issue 2520223002: Replicate a parsed feature policy representation so it doesn't need to be parsed in the browser pro… (Closed)
Patch Set: Fp2 Created 4 years, 1 month 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: third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
diff --git a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
index 54ba7bbe975c3a48c023db7a1bca15f65ad5a2bf..83fbd6090871de65a757855e9bc18066203989bf 100644
--- a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
+++ b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
@@ -89,7 +89,8 @@ TEST_F(FeaturePolicyTest, ParseValidPolicy) {
messages.clear();
std::unique_ptr<FeaturePolicy> policy =
createFromParentPolicy(nullptr, m_originA);
- policy->setHeaderPolicy(policyString, &messages);
+ policy->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ policyString, m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
}
}
@@ -100,7 +101,8 @@ TEST_F(FeaturePolicyTest, ParseInvalidPolicy) {
messages.clear();
std::unique_ptr<FeaturePolicy> policy =
createFromParentPolicy(nullptr, m_originA);
- policy->setHeaderPolicy(policyString, &messages);
+ policy->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ policyString, m_originA.get(), &messages));
EXPECT_NE(0UL, messages.size());
}
}
@@ -175,7 +177,8 @@ TEST_F(FeaturePolicyTest, TestCrossOriginChildCannotEnableFeature) {
createFromParentPolicy(nullptr, m_originA);
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-self\": [\"self\"]}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\"]}", m_originB.get(), &messages));
EXPECT_EQ(0UL, messages.size());
EXPECT_FALSE(policy2->isFeatureEnabled(kDefaultSelfFeature));
}
@@ -199,7 +202,8 @@ TEST_F(FeaturePolicyTest, TestFrameSelfInheritance) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"self\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originA);
@@ -233,7 +237,8 @@ TEST_F(FeaturePolicyTest, TestReflexiveFrameSelfInheritance) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"self\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -262,7 +267,8 @@ TEST_F(FeaturePolicyTest, TestSelectiveFrameInheritance) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"" ORIGIN_B "\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"" ORIGIN_B "\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -284,7 +290,8 @@ TEST_F(FeaturePolicyTest, TestPolicyCanBlockSelf) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-on\": []}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": []}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
EXPECT_FALSE(policy1->isFeatureEnabled(kDefaultOnFeature));
}
@@ -302,7 +309,8 @@ TEST_F(FeaturePolicyTest, TestParentPolicyBlocksSameOriginChildPolicy) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-on\": []}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": []}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originA);
@@ -324,7 +332,8 @@ TEST_F(FeaturePolicyTest, TestChildPolicyCanBlockSelf) {
createFromParentPolicy(nullptr, m_originA);
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-on\": []}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": []}", m_originB.get(), &messages));
EXPECT_EQ(0UL, messages.size());
EXPECT_FALSE(policy2->isFeatureEnabled(kDefaultOnFeature));
}
@@ -349,7 +358,8 @@ TEST_F(FeaturePolicyTest, TestChildPolicyCanBlockChildren) {
createFromParentPolicy(nullptr, m_originA);
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-on\": [\"self\"]}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": [\"self\"]}", m_originB.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy3 =
createFromParentPolicy(policy2.get(), m_originC);
@@ -370,7 +380,8 @@ TEST_F(FeaturePolicyTest, TestParentPolicyBlocksCrossOriginChildPolicy) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-on\": []}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": []}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -394,7 +405,8 @@ TEST_F(FeaturePolicyTest, TestEnableForAllOrigins) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"*\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"*\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -422,7 +434,8 @@ TEST_F(FeaturePolicyTest, TestDefaultOnEnablesForAllAncestors) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-on\": [\"" ORIGIN_B "\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": [\"" ORIGIN_B "\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -453,7 +466,8 @@ TEST_F(FeaturePolicyTest, TestDefaultSelfRespectsSameOriginEmbedding) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"" ORIGIN_B "\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"" ORIGIN_B "\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -484,16 +498,19 @@ TEST_F(FeaturePolicyTest, TestDefaultOffMustBeDelegatedToAllCrossOriginFrames) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-off\": [\"" ORIGIN_B "\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-off\": [\"" ORIGIN_B "\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-off\": [\"self\"]}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-off\": [\"self\"]}", m_originB.get(), &messages));
std::unique_ptr<FeaturePolicy> policy3 =
createFromParentPolicy(policy2.get(), m_originB);
std::unique_ptr<FeaturePolicy> policy4 =
createFromParentPolicy(policy2.get(), m_originC);
- policy4->setHeaderPolicy("{\"default-off\": [\"self\"]}", &messages);
+ policy4->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-off\": [\"self\"]}", m_originC.get(), &messages));
EXPECT_FALSE(policy1->isFeatureEnabled(kDefaultOffFeature));
EXPECT_TRUE(policy2->isFeatureEnabled(kDefaultOffFeature));
EXPECT_FALSE(policy3->isFeatureEnabled(kDefaultOffFeature));
@@ -517,11 +534,13 @@ TEST_F(FeaturePolicyTest, TestReenableForAllOrigins) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"*\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"*\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-self\": [\"*\"]}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"*\"]}", m_originB.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy3 =
createFromParentPolicy(policy2.get(), m_originA);
@@ -547,11 +566,13 @@ TEST_F(FeaturePolicyTest, TestBlockedFrameCannotReenable) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"self\"]}", &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\"]}", m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-self\": [\"*\"]}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"*\"]}", m_originB.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy3 =
createFromParentPolicy(policy2.get(), m_originA);
@@ -580,13 +601,15 @@ TEST_F(FeaturePolicyTest, TestEnabledFrameCanDelegate) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"self\", \"" ORIGIN_B "\"]}",
- &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\", \"" ORIGIN_B "\"]}", m_originA.get(),
+ &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy("{\"default-self\": [\"self\", \"" ORIGIN_C "\"]}",
- &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\", \"" ORIGIN_C "\"]}", m_originB.get(),
+ &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy3 =
createFromParentPolicy(policy2.get(), m_originC);
@@ -612,8 +635,9 @@ TEST_F(FeaturePolicyTest, TestEnabledFrameCanDelegateByDefault) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-on\": [\"self\", \"" ORIGIN_B "\"]}",
- &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-on\": [\"self\", \"" ORIGIN_B "\"]}", m_originA.get(),
+ &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -645,8 +669,9 @@ TEST_F(FeaturePolicyTest, TestNonNestedFeaturesDontDelegateByDefault) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"self\", \"" ORIGIN_B "\"]}",
- &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\", \"" ORIGIN_B "\"]}", m_originA.get(),
+ &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
@@ -680,14 +705,16 @@ TEST_F(FeaturePolicyTest, TestFeaturesAreIndependent) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-self\": [\"self\", \"" ORIGIN_B
- "\"], \"default-on\": [\"self\"]}",
- &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"self\", \"" ORIGIN_B
+ "\"], \"default-on\": [\"self\"]}",
+ m_originA.get(), &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy2 =
createFromParentPolicy(policy1.get(), m_originB);
- policy2->setHeaderPolicy(
- "{\"default-self\": [\"*\"], \"default-on\": [\"*\"]}", &messages);
+ policy2->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-self\": [\"*\"], \"default-on\": [\"*\"]}", m_originB.get(),
+ &messages));
EXPECT_EQ(0UL, messages.size());
std::unique_ptr<FeaturePolicy> policy3 =
createFromParentPolicy(policy2.get(), m_originC);
@@ -709,8 +736,9 @@ TEST_F(FeaturePolicyTest, TestFeatureEnabledForOrigin) {
Vector<String> messages;
std::unique_ptr<FeaturePolicy> policy1 =
createFromParentPolicy(nullptr, m_originA);
- policy1->setHeaderPolicy("{\"default-off\": [\"self\", \"" ORIGIN_B "\"]}",
- &messages);
+ policy1->setHeaderPolicy(FeaturePolicy::parseFeaturePolicy(
+ "{\"default-off\": [\"self\", \"" ORIGIN_B "\"]}", m_originA.get(),
+ &messages));
EXPECT_EQ(0UL, messages.size());
EXPECT_TRUE(
policy1->isFeatureEnabledForOrigin(kDefaultOffFeature, *m_originA));

Powered by Google App Engine
This is Rietveld 408576698