| 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 f3dfdb035398e808810f1ab2726435ed3d683922..1e3b9f90998c6be10dca3aed9dd010fba7192b0e 100644
|
| --- a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
|
| +++ b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp
|
| @@ -127,7 +127,8 @@ TEST_F(FeaturePolicyTest, PolicyParsedCorrectly) {
|
| TEST_F(FeaturePolicyTest, ParseEmptyContainerPolicy) {
|
| WebParsedFeaturePolicy container_policy =
|
| GetContainerPolicyFromAllowedFeatures(
|
| - std::vector<WebFeaturePolicyFeature>({}), origin_a_.Get());
|
| + std::vector<WebFeaturePolicyFeature>({}), false, false,
|
| + origin_a_.Get());
|
| EXPECT_EQ(0UL, container_policy.size());
|
| }
|
|
|
| @@ -137,7 +138,36 @@ TEST_F(FeaturePolicyTest, ParseContainerPolicy) {
|
| std::vector<WebFeaturePolicyFeature>(
|
| {WebFeaturePolicyFeature::kVibrate,
|
| WebFeaturePolicyFeature::kPayment}),
|
| + false, false, origin_a_.Get());
|
| + EXPECT_EQ(2UL, container_policy.size());
|
| + EXPECT_EQ(WebFeaturePolicyFeature::kVibrate, container_policy[0].feature);
|
| + EXPECT_FALSE(container_policy[0].matches_all_origins);
|
| + EXPECT_EQ(1UL, container_policy[0].origins.size());
|
| + EXPECT_TRUE(origin_a_->IsSameSchemeHostPortAndSuborigin(
|
| + container_policy[0].origins[0].Get()));
|
| + EXPECT_EQ(WebFeaturePolicyFeature::kPayment, container_policy[1].feature);
|
| + EXPECT_FALSE(container_policy[1].matches_all_origins);
|
| + EXPECT_EQ(1UL, container_policy[1].origins.size());
|
| + EXPECT_TRUE(origin_a_->IsSameSchemeHostPortAndSuborigin(
|
| + container_policy[1].origins[0].Get()));
|
| +}
|
| +
|
| +TEST_F(FeaturePolicyTest, ParseContainerPolicyWithAllowFullscreen) {
|
| + WebParsedFeaturePolicy container_policy =
|
| + GetContainerPolicyFromAllowedFeatures(
|
| + std::vector<WebFeaturePolicyFeature>({}), true, false,
|
| origin_a_.Get());
|
| + EXPECT_EQ(1UL, container_policy.size());
|
| + EXPECT_EQ(WebFeaturePolicyFeature::kFullscreen, container_policy[0].feature);
|
| + EXPECT_TRUE(container_policy[0].matches_all_origins);
|
| +}
|
| +
|
| +TEST_F(FeaturePolicyTest, ParseContainerPolicyWithAllowPaymentRequest) {
|
| + WebParsedFeaturePolicy container_policy =
|
| + GetContainerPolicyFromAllowedFeatures(
|
| + std::vector<WebFeaturePolicyFeature>(
|
| + {WebFeaturePolicyFeature::kVibrate}),
|
| + false, true, origin_a_.Get());
|
| EXPECT_EQ(2UL, container_policy.size());
|
| EXPECT_EQ(WebFeaturePolicyFeature::kVibrate, container_policy[0].feature);
|
| EXPECT_FALSE(container_policy[0].matches_all_origins);
|
| @@ -145,10 +175,29 @@ TEST_F(FeaturePolicyTest, ParseContainerPolicy) {
|
| EXPECT_TRUE(origin_a_->IsSameSchemeHostPortAndSuborigin(
|
| container_policy[0].origins[0].Get()));
|
| EXPECT_EQ(WebFeaturePolicyFeature::kPayment, container_policy[1].feature);
|
| + EXPECT_TRUE(container_policy[1].matches_all_origins);
|
| +}
|
| +
|
| +TEST_F(FeaturePolicyTest, ParseContainerPolicyWithAllowAttributes) {
|
| + WebParsedFeaturePolicy container_policy =
|
| + GetContainerPolicyFromAllowedFeatures(
|
| + std::vector<WebFeaturePolicyFeature>(
|
| + {WebFeaturePolicyFeature::kVibrate,
|
| + WebFeaturePolicyFeature::kPayment}),
|
| + true, true, origin_a_.Get());
|
| + EXPECT_EQ(3UL, container_policy.size());
|
| + EXPECT_EQ(WebFeaturePolicyFeature::kVibrate, container_policy[0].feature);
|
| + EXPECT_FALSE(container_policy[0].matches_all_origins);
|
| + EXPECT_EQ(1UL, container_policy[0].origins.size());
|
| + EXPECT_TRUE(origin_a_->IsSameSchemeHostPortAndSuborigin(
|
| + container_policy[0].origins[0].Get()));
|
| + EXPECT_EQ(WebFeaturePolicyFeature::kPayment, container_policy[1].feature);
|
| EXPECT_FALSE(container_policy[1].matches_all_origins);
|
| EXPECT_EQ(1UL, container_policy[1].origins.size());
|
| EXPECT_TRUE(origin_a_->IsSameSchemeHostPortAndSuborigin(
|
| container_policy[1].origins[0].Get()));
|
| + EXPECT_EQ(WebFeaturePolicyFeature::kFullscreen, container_policy[2].feature);
|
| + EXPECT_TRUE(container_policy[2].matches_all_origins);
|
| }
|
|
|
| } // namespace blink
|
|
|