Chromium Code Reviews| Index: content/common/feature_policy/feature_policy.cc |
| diff --git a/content/common/feature_policy/feature_policy.cc b/content/common/feature_policy/feature_policy.cc |
| index c4875a9c01fc463b1327854fbc880fff326ea103..c1cc3a5c866618c5e74a31b02afbdeccc933aec1 100644 |
| --- a/content/common/feature_policy/feature_policy.cc |
| +++ b/content/common/feature_policy/feature_policy.cc |
| @@ -97,6 +97,12 @@ void FeaturePolicy::Whitelist::AddAll() { |
| } |
| bool FeaturePolicy::Whitelist::Contains(const url::Origin& origin) const { |
| + // This does not handle the case where origin is an opaque origin, which is |
| + // also supposed to exist in the whitelist. (The identical opaque origins |
| + // should match in that case) |
| + // TODO(iclelland): Fix that, possibly by having another flag for |
| + // 'matches_self', which will explicitly match the policy's origin. |
| + // https://crbug.com/690520 |
| if (matches_all_origins_) |
| return true; |
| for (const auto& targetOrigin : origins_) { |
| @@ -130,7 +136,10 @@ bool FeaturePolicy::IsFeatureEnabledForOrigin( |
| } |
| if (feature_definition->default_policy == |
| FeaturePolicy::FeatureDefault::EnableForSelf) { |
| - return origin_.IsSameOriginWith(origin); |
| + // TODO(iclelland): Remove the pointer equality check once it is possible to |
| + // compare opaque origins successfully against themselves. |
| + // https://crbug.com/690520 |
|
raymes
2017/02/13 04:45:22
I put a question on the bug about this. I'm wonder
iclelland
2017/02/23 20:04:12
I don't know if we can -- they are going to need *
|
| + return (&origin_ == &origin) || origin_.IsSameOriginWith(origin); |
| } |
| return false; |
| } |