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 a83a6959a02240575eae95fe7168e4ea75c644bc..55c1854075d952b6e3f0b2af930d9941069f5fc9 100644 |
--- a/components/content_settings/core/common/content_settings_pattern.cc |
+++ b/components/content_settings/core/common/content_settings_pattern.cc |
@@ -10,6 +10,7 @@ |
#include <vector> |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
#include "components/content_settings/core/common/content_settings_pattern_parser.h" |
@@ -100,7 +101,7 @@ typedef ContentSettingsPattern::BuilderInterface BuilderInterface; |
class ContentSettingsPattern::Builder : |
public ContentSettingsPattern::BuilderInterface { |
public: |
- explicit Builder(bool use_legacy_validate); |
+ explicit Builder(); |
~Builder() override; |
// BuilderInterface: |
@@ -124,20 +125,14 @@ class ContentSettingsPattern::Builder : |
// Returns true when the pattern |parts| represent a valid pattern. |
static bool Validate(const PatternParts& parts); |
- static bool LegacyValidate(const PatternParts& parts); |
- |
bool is_valid_; |
- bool use_legacy_validate_; |
- |
PatternParts parts_; |
DISALLOW_COPY_AND_ASSIGN(Builder); |
}; |
-ContentSettingsPattern::Builder::Builder(bool use_legacy_validate) |
- : is_valid_(true), |
- use_legacy_validate_(use_legacy_validate) {} |
+ContentSettingsPattern::Builder::Builder() : is_valid_(true) {} |
ContentSettingsPattern::Builder::~Builder() {} |
@@ -201,17 +196,11 @@ ContentSettingsPattern ContentSettingsPattern::Builder::Build() { |
return ContentSettingsPattern(); |
if (!Canonicalize(&parts_)) |
return ContentSettingsPattern(); |
- if (use_legacy_validate_) { |
- is_valid_ = LegacyValidate(parts_); |
- } else { |
- is_valid_ = Validate(parts_); |
- } |
+ is_valid_ = Validate(parts_); |
if (!is_valid_) |
return ContentSettingsPattern(); |
// A pattern is invalid if canonicalization is not idempotent. |
- // This check is here because it should be checked no matter |
- // use_legacy_validate_ is. |
PatternParts parts(parts_); |
if (!Canonicalize(&parts)) |
return ContentSettingsPattern(); |
@@ -302,41 +291,6 @@ bool ContentSettingsPattern::Builder::Validate(const PatternParts& parts) { |
return true; |
} |
-// static |
-bool ContentSettingsPattern::Builder::LegacyValidate( |
- const PatternParts& parts) { |
- // If the pattern is for a "file-pattern" test if it is valid. |
- if (parts.scheme == std::string(url::kFileScheme) && |
- !parts.is_scheme_wildcard && |
- parts.host.empty() && |
- parts.port.empty()) |
- return true; |
- |
- // If the pattern is for an extension URL test if it is valid. |
- if (IsNonWildcardDomainNonPortScheme(parts.scheme) && |
- !parts.is_scheme_wildcard && |
- !parts.host.empty() && |
- !parts.has_domain_wildcard && |
- parts.port.empty() && |
- !parts.is_port_wildcard) |
- return true; |
- |
- // Non-file patterns are invalid if either the scheme, host or port part is |
- // empty. |
- if ((!parts.is_scheme_wildcard) || |
- (parts.host.empty() && !parts.has_domain_wildcard) || |
- (!parts.is_port_wildcard)) |
- return false; |
- |
- // Test if the scheme is supported or a wildcard. |
- if (!parts.is_scheme_wildcard && |
- parts.scheme != std::string(url::kHttpScheme) && |
- parts.scheme != std::string(url::kHttpsScheme)) { |
- return false; |
- } |
- return true; |
-} |
- |
// //////////////////////////////////////////////////////////////////////////// |
// ContentSettingsPattern::PatternParts |
// |
@@ -367,9 +321,8 @@ ContentSettingsPattern::PatternParts::~PatternParts() {} |
const int ContentSettingsPattern::kContentSettingsPatternVersion = 1; |
// static |
-BuilderInterface* ContentSettingsPattern::CreateBuilder( |
- bool validate) { |
- return new Builder(validate); |
+std::unique_ptr<BuilderInterface> ContentSettingsPattern::CreateBuilder() { |
+ return base::MakeUnique<Builder>(); |
} |
// static |
@@ -385,8 +338,7 @@ ContentSettingsPattern ContentSettingsPattern::Wildcard() { |
// static |
ContentSettingsPattern ContentSettingsPattern::FromURL( |
const GURL& url) { |
- std::unique_ptr<ContentSettingsPattern::BuilderInterface> builder( |
- ContentSettingsPattern::CreateBuilder(false)); |
+ auto builder = ContentSettingsPattern::CreateBuilder(); |
msramek
2017/05/31 10:42:32
The style guide suggests that auto should not be u
dullweber
2017/05/31 11:42:37
CreateBuilder returns a ContentSettingsBuilder::Bu
msramek
2017/05/31 16:08:46
Acknowledged. I'm fine with the other proposal too
|
const GURL* local_url = &url; |
if (url.SchemeIsFileSystem() && url.inner_url()) { |
local_url = url.inner_url(); |
@@ -422,9 +374,7 @@ ContentSettingsPattern ContentSettingsPattern::FromURL( |
// static |
ContentSettingsPattern ContentSettingsPattern::FromURLNoWildcard( |
const GURL& url) { |
- std::unique_ptr<ContentSettingsPattern::BuilderInterface> builder( |
- ContentSettingsPattern::CreateBuilder(false)); |
- |
+ auto builder = ContentSettingsPattern::CreateBuilder(); |
const GURL* local_url = &url; |
if (url.SchemeIsFileSystem() && url.inner_url()) { |
local_url = url.inner_url(); |
@@ -445,8 +395,7 @@ ContentSettingsPattern ContentSettingsPattern::FromURLNoWildcard( |
// static |
ContentSettingsPattern ContentSettingsPattern::FromString( |
const std::string& pattern_spec) { |
- std::unique_ptr<ContentSettingsPattern::BuilderInterface> builder( |
- ContentSettingsPattern::CreateBuilder(false)); |
+ auto builder = ContentSettingsPattern::CreateBuilder(); |
content_settings::PatternParser::Parse(pattern_spec, |
builder.get()); |
return builder->Build(); |
@@ -481,9 +430,7 @@ bool ContentSettingsPattern::MigrateFromDomainToOrigin( |
if (domain_pattern.parts_.host.empty()) |
return false; |
- std::unique_ptr<ContentSettingsPattern::BuilderInterface> builder( |
- ContentSettingsPattern::CreateBuilder(false)); |
- |
+ auto builder = ContentSettingsPattern::CreateBuilder(); |
if (domain_pattern.parts_.is_scheme_wildcard) |
builder->WithScheme(url::kHttpScheme); |
else |