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

Unified Diff: components/content_settings/core/browser/content_settings_default_provider.cc

Issue 2318223002: Remove EmptyRuleIterators with nullptrs. (Closed)
Patch Set: Fix failing unit test Created 4 years, 3 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/browser/content_settings_default_provider.cc
diff --git a/components/content_settings/core/browser/content_settings_default_provider.cc b/components/content_settings/core/browser/content_settings_default_provider.cc
index f63ab69ca365f684665bfa9f64a700f05ccb73b9..f1ca103e3b69833efb55e7d0a0349dfad3b68297 100644
--- a/components/content_settings/core/browser/content_settings_default_provider.cc
+++ b/components/content_settings/core/browser/content_settings_default_provider.cc
@@ -55,10 +55,10 @@ class DefaultRuleIterator : public RuleIterator {
value_.reset(value->DeepCopy());
}
- bool HasNext() const override { return value_.get() != NULL; }
+ bool HasNext() const override { return !!value_; }
Rule Next() override {
- DCHECK(value_.get());
+ DCHECK(HasNext());
return Rule(ContentSettingsPattern::Wildcard(),
ContentSettingsPattern::Wildcard(),
value_.release());
@@ -232,17 +232,18 @@ std::unique_ptr<RuleIterator> DefaultProvider::GetRuleIterator(
bool incognito) const {
// The default provider never has incognito-specific settings.
if (incognito)
- return std::unique_ptr<RuleIterator>(new EmptyRuleIterator());
+ return nullptr;
base::AutoLock lock(lock_);
- if (resource_identifier.empty()) {
- auto it(default_settings_.find(content_type));
- if (it != default_settings_.end())
- return std::unique_ptr<RuleIterator>(
- new DefaultRuleIterator(it->second.get()));
+ if (!resource_identifier.empty())
+ return nullptr;
+
+ auto it = default_settings_.find(content_type);
+ if (it == default_settings_.end()) {
NOTREACHED();
+ return nullptr;
}
- return std::unique_ptr<RuleIterator>(new EmptyRuleIterator());
+ return base::MakeUnique<DefaultRuleIterator>(it->second.get());
}
void DefaultProvider::ClearAllContentSettingsRules(
@@ -271,8 +272,8 @@ void DefaultProvider::ReadDefaultSettings() {
bool DefaultProvider::IsValueEmptyOrDefault(ContentSettingsType content_type,
base::Value* value) {
- if (!value) return true;
- return ValueToContentSetting(value) == GetDefaultValue(content_type);
+ return !value ||
+ ValueToContentSetting(value) == GetDefaultValue(content_type);
}
void DefaultProvider::ChangeSetting(ContentSettingsType content_type,

Powered by Google App Engine
This is Rietveld 408576698