Chromium Code Reviews| Index: components/content_settings/core/common/content_settings_pattern.cc |
| diff --git a/components/content_settings/core/common/content_settings_pattern.cc b/components/content_settings/core/common/content_settings_pattern.cc |
| index 74a9ffaf86d16c055e4613fe3daac1f076becb74..c02257be4aace1a1cc4b3009db96f21c2b35448d 100644 |
| --- a/components/content_settings/core/common/content_settings_pattern.cc |
| +++ b/components/content_settings/core/common/content_settings_pattern.cc |
| @@ -439,6 +439,49 @@ ContentSettingsPattern ContentSettingsPattern::FromString( |
| } |
| // static |
| +bool ContentSettingsPattern::MigrateFromDomaintoOrigin( |
|
raymes
2016/06/27 07:23:29
MigrateFromDomainToOrigin
(capital T)
lshang
2016/06/28 07:14:41
Done.
|
| + const ContentSettingsPattern& domain_pattern, |
| + ContentSettingsPattern* origin_pattern) { |
| + DCHECK(origin_pattern); |
| + |
| + // First test if the domain pattern is generated using FromURL(). |
|
raymes
2016/06/27 07:23:29
nit: remove this line, I think it should be clear
lshang
2016/06/28 07:14:41
Done.
|
| + // Generated patterns must either have a scheme wildcard or be https. |
| + if (domain_pattern.parts_.scheme != url::kHttpsScheme && |
| + !domain_pattern.parts_.is_scheme_wildcard) |
|
raymes
2016/06/27 07:23:29
nit: add {}
lshang
2016/06/28 07:14:41
Done.
|
| + return false; |
| + |
| + // Generated patterns will either have a port wildcard or be https (but not |
| + // both). |
| + if (domain_pattern.parts_.is_port_wildcard && |
| + domain_pattern.parts_.scheme == url::kHttpsScheme) |
|
raymes
2016/06/27 07:23:29
nit: add {}
lshang
2016/06/28 07:14:41
Done.
|
| + return false; |
| + |
| + // Generated patterns will always have a domain wildcard. |
| + if (!domain_pattern.parts_.has_domain_wildcard) |
| + return false; |
| + |
| + // Generated patterns will always have a host. |
| + if (domain_pattern.parts_.host.empty()) |
| + return false; |
| + |
| + // Then migrate it to be origin scoped. |
| + *origin_pattern = domain_pattern; |
| + |
| + if (domain_pattern.parts_.is_scheme_wildcard) { |
| + (*origin_pattern).parts_.scheme = url::kHttpScheme; |
| + (*origin_pattern).parts_.is_scheme_wildcard = false; |
| + } |
| + if (domain_pattern.parts_.has_domain_wildcard) |
|
raymes
2016/06/27 07:23:29
I think we know this will be true, so we can remov
lshang
2016/06/28 07:14:41
Done.
|
| + (*origin_pattern).parts_.has_domain_wildcard = false; |
| + if (domain_pattern.parts_.is_port_wildcard) { |
| + (*origin_pattern).parts_.port = |
| + GetDefaultPort((*origin_pattern).parts_.scheme); |
| + (*origin_pattern).parts_.is_port_wildcard = false; |
| + } |
| + return true; |
| +} |
| + |
| +// static |
| void ContentSettingsPattern::SetNonWildcardDomainNonPortScheme( |
| const char* scheme) { |
| DCHECK(scheme); |