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

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

Issue 10050016: Removes pinning code from TopSites as we no longer need it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove printfs 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') | chrome/browser/history/top_sites_unittest.cc » ('j') | 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 a95b71b66b54d019108f35b73202ef717e72f976..e6416dc6b5f3d5743c81268aa60f80eb0ef9568a 100644
--- a/chrome/browser/history/top_sites.cc
+++ b/chrome/browser/history/top_sites.cc
@@ -141,7 +141,6 @@ TopSites::TopSites(Profile* profile)
thread_safe_cache_(new TopSitesCache()),
profile_(profile),
last_num_urls_changed_(0),
- pinned_urls_(NULL),
history_state_(HISTORY_LOADING),
top_sites_state_(TOP_SITES_LOADING),
loaded_(false) {
@@ -156,17 +155,6 @@ TopSites::TopSites(Profile* profile)
registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
content::NotificationService::AllSources());
}
-
- // We create update objects here to be sure that dictionaries are created
- // in the user preferences.
- DictionaryPrefUpdate(profile_->GetPrefs(),
- prefs::kNtpMostVisitedPinnedURLs).Get();
-
- // Now the dictionaries are guaranteed to exist and we can cache pointers
- // to them.
- pinned_urls_ =
- profile_->GetPrefs()->GetDictionary(prefs::kNtpMostVisitedPinnedURLs);
- DCHECK(pinned_urls_ != NULL);
}
void TopSites::Init(const FilePath& db_name) {
@@ -314,7 +302,6 @@ void TopSites::MigrateFromHistory() {
this,
num_results_to_request_from_history()),
&history_consumer_);
- MigratePinnedURLs();
}
void TopSites::FinishHistoryMigration(const ThumbnailMigration& data) {
@@ -388,7 +375,6 @@ bool TopSites::HasBlacklistedItems() const {
void TopSites::AddBlacklistedURL(const GURL& url) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- RemovePinnedURL(url);
Value* dummy = Value::CreateNullValue();
{
DictionaryPrefUpdate update(profile_->GetPrefs(),
@@ -432,62 +418,6 @@ void TopSites::ClearBlacklistedURLs() {
NotifyTopSitesChanged();
}
-void TopSites::AddPinnedURL(const GURL& url, size_t pinned_index) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- GURL old;
- if (GetPinnedURLAtIndex(pinned_index, &old))
- RemovePinnedURL(old);
-
- if (IsURLPinned(url))
- RemovePinnedURL(url);
-
- Value* index = Value::CreateIntegerValue(pinned_index);
-
- {
- DictionaryPrefUpdate update(profile_->GetPrefs(),
- prefs::kNtpMostVisitedPinnedURLs);
- DictionaryValue* pinned_urls = update.Get();
- pinned_urls->SetWithoutPathExpansion(GetURLString(url), index);
- }
-
- ResetThreadSafeCache();
- NotifyTopSitesChanged();
-}
-
-bool TopSites::IsURLPinned(const GURL& url) {
- int tmp;
- return pinned_urls_->GetIntegerWithoutPathExpansion(GetURLString(url), &tmp);
-}
-
-void TopSites::RemovePinnedURL(const GURL& url) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- {
- DictionaryPrefUpdate update(profile_->GetPrefs(),
- prefs::kNtpMostVisitedPinnedURLs);
- DictionaryValue* pinned_urls = update.Get();
- pinned_urls->RemoveWithoutPathExpansion(GetURLString(url), NULL);
- }
-
- ResetThreadSafeCache();
- NotifyTopSitesChanged();
-}
-
-bool TopSites::GetPinnedURLAtIndex(size_t index, GURL* url) {
- for (DictionaryValue::key_iterator it = pinned_urls_->begin_keys();
- it != pinned_urls_->end_keys(); ++it) {
- int current_index;
- if (pinned_urls_->GetIntegerWithoutPathExpansion(*it, &current_index)) {
- if (static_cast<size_t>(current_index) == index) {
- *url = GURL(*it);
- return true;
- }
- }
- }
- return false;
-}
-
void TopSites::Shutdown() {
profile_ = NULL;
// Cancel all requests so that the service doesn't callback to us after we've
@@ -698,84 +628,11 @@ bool TopSites::AddPrepopulatedPages(MostVisitedURLList* urls) {
return added;
}
-void TopSites::MigratePinnedURLs() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- std::map<GURL, size_t> tmp_map;
- for (DictionaryValue::key_iterator it = pinned_urls_->begin_keys();
- it != pinned_urls_->end_keys(); ++it) {
- Value* value;
- if (!pinned_urls_->GetWithoutPathExpansion(*it, &value))
- continue;
-
- if (value->IsType(DictionaryValue::TYPE_DICTIONARY)) {
- DictionaryValue* dict = static_cast<DictionaryValue*>(value);
- std::string url_string;
- int index;
- if (dict->GetString("url", &url_string) &&
- dict->GetInteger("index", &index))
- tmp_map[GURL(url_string)] = index;
- }
- }
-
- {
- DictionaryPrefUpdate update(profile_->GetPrefs(),
- prefs::kNtpMostVisitedPinnedURLs);
- DictionaryValue* pinned_urls = update.Get();
- pinned_urls->Clear();
- }
-
- for (std::map<GURL, size_t>::iterator it = tmp_map.begin();
- it != tmp_map.end(); ++it)
- AddPinnedURL(it->first, it->second);
-}
-
-void TopSites::ApplyBlacklistAndPinnedURLs(const MostVisitedURLList& urls,
- MostVisitedURLList* out) {
- MostVisitedURLList urls_copy;
- for (size_t i = 0; i < urls.size(); i++) {
+void TopSites::ApplyBlacklist(const MostVisitedURLList& urls,
+ MostVisitedURLList* out) {
+ for (size_t i = 0; i < urls.size() && i < kTopSitesNumber; ++i) {
if (!IsBlacklisted(urls[i].url))
- urls_copy.push_back(urls[i]);
- }
-
- for (size_t pinned_index = 0; pinned_index < kTopSitesNumber;
- pinned_index++) {
- GURL url;
- bool found = GetPinnedURLAtIndex(pinned_index, &url);
- if (!found)
- continue;
-
- DCHECK(!url.is_empty());
- int cur_index = IndexOf(urls_copy, url);
- MostVisitedURL tmp;
- if (cur_index < 0) {
- // Pinned URL not in urls.
- tmp.url = url;
- } else {
- tmp = urls_copy[cur_index];
- urls_copy.erase(urls_copy.begin() + cur_index);
- }
- if (pinned_index > out->size())
- out->resize(pinned_index); // Add empty URLs as fillers.
- out->insert(out->begin() + pinned_index, tmp);
- }
-
- // Add non-pinned URLs in the empty spots.
- size_t current_url = 0; // Index into the remaining URLs in urls_copy.
- for (size_t i = 0; i < kTopSitesNumber && current_url < urls_copy.size();
- i++) {
- if (i == out->size()) {
- out->push_back(urls_copy[current_url]);
- current_url++;
- } else if (i < out->size()) {
- if ((*out)[i].url.is_empty()) {
- // Replace the filler
- (*out)[i] = urls_copy[current_url];
- current_url++;
- }
- } else {
- NOTREACHED();
- }
+ out->push_back(urls[i]);
}
}
@@ -837,9 +694,7 @@ void TopSites::Observe(int type,
MostVisitedURLList new_top_sites(cache_->top_sites());
for (std::set<size_t>::reverse_iterator i = indices_to_delete.rbegin();
i != indices_to_delete.rend(); i++) {
- size_t index = *i;
- RemovePinnedURL(new_top_sites[index].url);
- new_top_sites.erase(new_top_sites.begin() + index);
+ new_top_sites.erase(new_top_sites.begin() + *i);
}
SetTopSites(new_top_sites);
}
@@ -954,7 +809,7 @@ void TopSites::MoveStateToLoaded() {
void TopSites::ResetThreadSafeCache() {
base::AutoLock lock(lock_);
MostVisitedURLList cached;
- ApplyBlacklistAndPinnedURLs(cache_->top_sites(), &cached);
+ ApplyBlacklist(cache_->top_sites(), &cached);
thread_safe_cache_->SetTopSites(cached);
}
« no previous file with comments | « chrome/browser/history/top_sites.h ('k') | chrome/browser/history/top_sites_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698