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..7b5701aa6ac04828a5cebb1b1c14dc50dbcc991e 100644 | 
| --- a/components/content_settings/core/common/content_settings_pattern.cc | 
| +++ b/components/content_settings/core/common/content_settings_pattern.cc | 
| @@ -439,6 +439,26 @@ ContentSettingsPattern ContentSettingsPattern::FromString( | 
| } | 
| // static | 
| +ContentSettingsPattern ContentSettingsPattern::FromDomainToOrigin( | 
| + const ContentSettingsPattern domain_pattern) { | 
| + ContentSettingsPattern 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) | 
| + origin_pattern.parts_.has_domain_wildcard = false; | 
| + if (domain_pattern.parts_.is_port_wildcard) { | 
| 
 
raymes
2016/06/16 03:23:51
in this case I think we can just assume the http p
 
lshang
2016/06/20 01:34:22
Done.
 
 | 
| + if (!origin_pattern.parts_.is_scheme_wildcard) { | 
| + origin_pattern.parts_.port = GetDefaultPort(origin_pattern.parts_.scheme); | 
| + origin_pattern.parts_.is_port_wildcard = false; | 
| + } | 
| + } | 
| + return origin_pattern; | 
| +} | 
| + | 
| +// static | 
| void ContentSettingsPattern::SetNonWildcardDomainNonPortScheme( | 
| const char* scheme) { | 
| DCHECK(scheme); | 
| @@ -529,6 +549,10 @@ bool ContentSettingsPattern::MatchesAllHosts() const { | 
| return parts_.has_domain_wildcard && parts_.host.empty(); | 
| } | 
| +bool ContentSettingsPattern::IsGeneratedFromURLDomainScoped() const { | 
| 
 
raymes
2016/06/16 03:23:51
Maybe call this:
IsGeneratedUsingFromURLNoWildcard
 
lshang
2016/06/20 01:34:22
Done. IsGeneratedUsingFromURL():)
 
 | 
| + return (!parts_.host.empty()) && parts_.has_domain_wildcard; | 
| 
 
raymes
2016/06/16 03:23:51
I think there are more checks we can do here. Name
 
lshang
2016/06/20 01:34:22
Done. Yeah this is more clear.
 
 | 
| +} | 
| + | 
| std::string ContentSettingsPattern::ToString() const { | 
| if (IsValid()) | 
| return content_settings::PatternParser::ToString(parts_); |