Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: components/content_settings/core/common/content_settings_pattern.cc

Issue 1895993003: Add migration code to change existing domain scoped content settings to be origin scoped (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove logs and format Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_);

Powered by Google App Engine
This is Rietveld 408576698