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

Unified Diff: chrome/browser/history/top_sites.cc

Issue 10019004: Changes TopSites to access blacklist from prefs when necessary. I'm (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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
« no previous file with comments | « chrome/browser/history/top_sites.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/history/top_sites.cc
diff --git a/chrome/browser/history/top_sites.cc b/chrome/browser/history/top_sites.cc
index 12e9a51f8d51bbc94a2ae5a25d88f07d9761d73a..a95b71b66b54d019108f35b73202ef717e72f976 100644
--- a/chrome/browser/history/top_sites.cc
+++ b/chrome/browser/history/top_sites.cc
@@ -41,6 +41,7 @@
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/image/image_util.h"
+using base::DictionaryValue;
using content::BrowserThread;
using content::NavigationController;
@@ -140,7 +141,6 @@ TopSites::TopSites(Profile* profile)
thread_safe_cache_(new TopSitesCache()),
profile_(profile),
last_num_urls_changed_(0),
- blacklist_(NULL),
pinned_urls_(NULL),
history_state_(HISTORY_LOADING),
top_sites_state_(TOP_SITES_LOADING),
@@ -160,18 +160,13 @@ TopSites::TopSites(Profile* profile)
// We create update objects here to be sure that dictionaries are created
// in the user preferences.
DictionaryPrefUpdate(profile_->GetPrefs(),
- prefs::kNtpMostVisitedURLsBlacklist).Get();
- DictionaryPrefUpdate(profile_->GetPrefs(),
prefs::kNtpMostVisitedPinnedURLs).Get();
// Now the dictionaries are guaranteed to exist and we can cache pointers
// to them.
- blacklist_ =
- profile_->GetPrefs()->GetDictionary(prefs::kNtpMostVisitedURLsBlacklist);
pinned_urls_ =
profile_->GetPrefs()->GetDictionary(prefs::kNtpMostVisitedPinnedURLs);
- CHECK(blacklist_ != NULL);
- CHECK(pinned_urls_ != NULL);
+ DCHECK(pinned_urls_ != NULL);
}
void TopSites::Init(const FilePath& db_name) {
@@ -385,7 +380,9 @@ void TopSites::SyncWithHistory() {
}
bool TopSites::HasBlacklistedItems() const {
- return !blacklist_->empty();
+ const DictionaryValue* blacklist =
+ profile_->GetPrefs()->GetDictionary(prefs::kNtpMostVisitedURLsBlacklist);
+ return blacklist && !blacklist->empty();
}
void TopSites::AddBlacklistedURL(const GURL& url) {
@@ -418,7 +415,9 @@ void TopSites::RemoveBlacklistedURL(const GURL& url) {
bool TopSites::IsBlacklisted(const GURL& url) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return blacklist_->HasKey(GetURLHash(url));
+ const DictionaryValue* blacklist =
+ profile_->GetPrefs()->GetDictionary(prefs::kNtpMostVisitedURLsBlacklist);
+ return blacklist && blacklist->HasKey(GetURLHash(url));
}
void TopSites::ClearBlacklistedURLs() {
@@ -919,7 +918,9 @@ void TopSites::SetTopSites(const MostVisitedURLList& new_top_sites) {
int TopSites::num_results_to_request_from_history() const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return kTopSitesNumber + blacklist_->size();
+ const DictionaryValue* blacklist =
+ profile_->GetPrefs()->GetDictionary(prefs::kNtpMostVisitedURLsBlacklist);
+ return kTopSitesNumber + (blacklist ? blacklist->size() : 0);
}
void TopSites::MoveStateToLoaded() {
« no previous file with comments | « chrome/browser/history/top_sites.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698