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

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

Issue 2318223002: Remove EmptyRuleIterators with nullptrs. (Closed)
Patch Set: 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 126bc41de71186de4931f6bb822ad2b3556b619f..6edc6238a32d0e5bf4dd75e8391a94f5b6989dc9 100644
--- a/components/content_settings/core/browser/content_settings_default_provider.cc
+++ b/components/content_settings/core/browser/content_settings_default_provider.cc
@@ -65,10 +65,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());
@@ -256,17 +256,19 @@ 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 std::unique_ptr<RuleIterator>(
Bernhard Bauer 2016/09/08 09:30:31 Can you use base::WrapUnique()?
Lei Zhang 2016/09/08 21:04:29 Went straight to MakeUnique.
+ new DefaultRuleIterator(it->second.get()));
}
void DefaultProvider::ClearAllContentSettingsRules(
@@ -295,8 +297,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