| Index: chrome/common/content_settings_pattern.cc
|
| diff --git a/chrome/common/content_settings_pattern.cc b/chrome/common/content_settings_pattern.cc
|
| index 98ac6d637e2e52cae9ba9d582122e3d724e53dd6..9153de66ae7d151c95eb51c4def98cfb6a7b6a87 100644
|
| --- a/chrome/common/content_settings_pattern.cc
|
| +++ b/chrome/common/content_settings_pattern.cc
|
| @@ -156,6 +156,20 @@ ContentSettingsPattern ContentSettingsPattern::Builder::Build() {
|
| } else {
|
| 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();
|
| + if (ContentSettingsPattern(parts_, true) !=
|
| + ContentSettingsPattern(parts, true)) {
|
| + return ContentSettingsPattern();
|
| + }
|
| +
|
| return ContentSettingsPattern(parts_, is_valid_);
|
| }
|
|
|
|
|