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