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)); |