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

Side by Side Diff: chrome/browser/dom_ui/most_visited_handler.cc

Issue 6283001: Remove TopSites::IsEnabled() as well as related dead code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/dom_ui/most_visited_handler.h" 5 #include "chrome/browser/dom_ui/most_visited_handler.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 SendPagesValue(); 125 SendPagesValue();
126 got_first_most_visited_request_ = true; 126 got_first_most_visited_request_ = true;
127 } else { 127 } else {
128 StartQueryForMostVisited(); 128 StartQueryForMostVisited();
129 } 129 }
130 } 130 }
131 131
132 void MostVisitedHandler::SendPagesValue() { 132 void MostVisitedHandler::SendPagesValue() {
133 if (pages_value_.get()) { 133 if (pages_value_.get()) {
134 bool has_blacklisted_urls = !url_blacklist_->empty(); 134 bool has_blacklisted_urls = !url_blacklist_->empty();
135 if (history::TopSites::IsEnabled()) { 135 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
136 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 136 if (ts)
137 if (ts) 137 has_blacklisted_urls = ts->HasBlacklistedItems();
138 has_blacklisted_urls = ts->HasBlacklistedItems();
139 }
140 FundamentalValue first_run(IsFirstRun()); 138 FundamentalValue first_run(IsFirstRun());
141 FundamentalValue has_blacklisted_urls_value(has_blacklisted_urls); 139 FundamentalValue has_blacklisted_urls_value(has_blacklisted_urls);
142 dom_ui_->CallJavascriptFunction(L"mostVisitedPages", 140 dom_ui_->CallJavascriptFunction(L"mostVisitedPages",
143 *(pages_value_.get()), 141 *(pages_value_.get()),
144 first_run, 142 first_run,
145 has_blacklisted_urls_value); 143 has_blacklisted_urls_value);
146 pages_value_.reset(); 144 pages_value_.reset();
147 } 145 }
148 } 146 }
149 147
150 void MostVisitedHandler::StartQueryForMostVisited() { 148 void MostVisitedHandler::StartQueryForMostVisited() {
151 if (history::TopSites::IsEnabled()) { 149 // Use TopSites.
152 // Use TopSites. 150 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
153 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 151 if (ts) {
154 if (ts) { 152 ts->GetMostVisitedURLs(
155 ts->GetMostVisitedURLs( 153 &topsites_consumer_,
156 &topsites_consumer_, 154 NewCallback(this, &MostVisitedHandler::OnMostVisitedURLsAvailable));
157 NewCallback(this, &MostVisitedHandler::OnMostVisitedURLsAvailable));
158 }
159 return;
160 }
161
162 const int page_count = kMostVisitedPages;
163 // Let's query for the number of items we want plus the blacklist size as
164 // we'll be filtering-out the returned list with the blacklist URLs.
165 // We do not subtract the number of pinned URLs we have because the
166 // HistoryService does not know about those.
167 const int result_count = page_count + url_blacklist_->size();
168 HistoryService* hs =
169 dom_ui_->GetProfile()->GetHistoryService(Profile::EXPLICIT_ACCESS);
170 // |hs| may be null during unit tests.
171 if (hs) {
172 hs->QuerySegmentUsageSince(
173 &cancelable_consumer_,
174 base::Time::Now() - base::TimeDelta::FromDays(kMostVisitedScope),
175 result_count,
176 NewCallback(this, &MostVisitedHandler::OnSegmentUsageAvailable));
177 } 155 }
178 } 156 }
179 157
180 void MostVisitedHandler::HandleBlacklistURL(const ListValue* args) { 158 void MostVisitedHandler::HandleBlacklistURL(const ListValue* args) {
181 std::string url = WideToUTF8(ExtractStringValue(args)); 159 std::string url = WideToUTF8(ExtractStringValue(args));
182 BlacklistURL(GURL(url)); 160 BlacklistURL(GURL(url));
183 } 161 }
184 162
185 void MostVisitedHandler::HandleRemoveURLsFromBlacklist(const ListValue* args) { 163 void MostVisitedHandler::HandleRemoveURLsFromBlacklist(const ListValue* args) {
186 DCHECK(args->GetSize() != 0); 164 DCHECK(args->GetSize() != 0);
187 165
188 for (ListValue::const_iterator iter = args->begin(); 166 for (ListValue::const_iterator iter = args->begin();
189 iter != args->end(); ++iter) { 167 iter != args->end(); ++iter) {
190 std::string url; 168 std::string url;
191 bool r = (*iter)->GetAsString(&url); 169 bool r = (*iter)->GetAsString(&url);
192 if (!r) { 170 if (!r) {
193 NOTREACHED(); 171 NOTREACHED();
194 return; 172 return;
195 } 173 }
196 UserMetrics::RecordAction(UserMetricsAction("MostVisited_UrlRemoved"), 174 UserMetrics::RecordAction(UserMetricsAction("MostVisited_UrlRemoved"),
197 dom_ui_->GetProfile()); 175 dom_ui_->GetProfile());
198 if (history::TopSites::IsEnabled()) { 176 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
199 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 177 if (ts)
200 if (ts) 178 ts->RemoveBlacklistedURL(GURL(url));
201 ts->RemoveBlacklistedURL(GURL(url));
202 return;
203 }
204
205 r = url_blacklist_->Remove(GetDictionaryKeyForURL(url), NULL);
206 DCHECK(r) << "Unknown URL removed from the NTP Most Visited blacklist.";
207 } 179 }
208 } 180 }
209 181
210 void MostVisitedHandler::HandleClearBlacklist(const ListValue* args) { 182 void MostVisitedHandler::HandleClearBlacklist(const ListValue* args) {
211 UserMetrics::RecordAction(UserMetricsAction("MostVisited_BlacklistCleared"), 183 UserMetrics::RecordAction(UserMetricsAction("MostVisited_BlacklistCleared"),
212 dom_ui_->GetProfile()); 184 dom_ui_->GetProfile());
213 185
214 if (history::TopSites::IsEnabled()) { 186 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
215 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 187 if (ts)
216 if (ts) 188 ts->ClearBlacklistedURLs();
217 ts->ClearBlacklistedURLs();
218 return;
219 }
220
221 url_blacklist_->Clear();
222 } 189 }
223 190
224 void MostVisitedHandler::HandleAddPinnedURL(const ListValue* args) { 191 void MostVisitedHandler::HandleAddPinnedURL(const ListValue* args) {
225 DCHECK_EQ(5U, args->GetSize()) << "Wrong number of params to addPinnedURL"; 192 DCHECK_EQ(5U, args->GetSize()) << "Wrong number of params to addPinnedURL";
226 MostVisitedPage mvp; 193 MostVisitedPage mvp;
227 std::string tmp_string; 194 std::string tmp_string;
228 string16 tmp_string16; 195 string16 tmp_string16;
229 int index; 196 int index;
230 197
231 bool r = args->GetString(0, &tmp_string); 198 bool r = args->GetString(0, &tmp_string);
(...skipping 17 matching lines...) Expand all
249 mvp.thumbnail_url = GURL(tmp_string); 216 mvp.thumbnail_url = GURL(tmp_string);
250 217
251 r = args->GetString(4, &tmp_string); 218 r = args->GetString(4, &tmp_string);
252 DCHECK(r) << "Missing index in addPinnedURL from the NTP Most Visited."; 219 DCHECK(r) << "Missing index in addPinnedURL from the NTP Most Visited.";
253 base::StringToInt(tmp_string, &index); 220 base::StringToInt(tmp_string, &index);
254 221
255 AddPinnedURL(mvp, index); 222 AddPinnedURL(mvp, index);
256 } 223 }
257 224
258 void MostVisitedHandler::AddPinnedURL(const MostVisitedPage& page, int index) { 225 void MostVisitedHandler::AddPinnedURL(const MostVisitedPage& page, int index) {
259 if (history::TopSites::IsEnabled()) { 226 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
260 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 227 if (ts)
261 if (ts) 228 ts->AddPinnedURL(page.url, index);
262 ts->AddPinnedURL(page.url, index);
263 return;
264 }
265
266 // Remove any pinned URL at the given index.
267 MostVisitedPage old_page;
268 if (GetPinnedURLAtIndex(index, &old_page)) {
269 RemovePinnedURL(old_page.url);
270 }
271
272 DictionaryValue* new_value = new DictionaryValue();
273 SetMostVisistedPage(new_value, page);
274
275 new_value->SetInteger("index", index);
276 pinned_urls_->Set(GetDictionaryKeyForURL(page.url.spec()), new_value);
277
278 // TODO(arv): Notify observers?
279
280 // Don't call HandleGetMostVisited. Let the client call this as needed.
281 } 229 }
282 230
283 void MostVisitedHandler::HandleRemovePinnedURL(const ListValue* args) { 231 void MostVisitedHandler::HandleRemovePinnedURL(const ListValue* args) {
284 std::string url = WideToUTF8(ExtractStringValue(args)); 232 std::string url = WideToUTF8(ExtractStringValue(args));
285 RemovePinnedURL(GURL(url)); 233 RemovePinnedURL(GURL(url));
286 } 234 }
287 235
288 void MostVisitedHandler::RemovePinnedURL(const GURL& url) { 236 void MostVisitedHandler::RemovePinnedURL(const GURL& url) {
289 if (history::TopSites::IsEnabled()) { 237 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
290 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 238 if (ts)
291 if (ts) 239 ts->RemovePinnedURL(url);
292 ts->RemovePinnedURL(url);
293 return;
294 }
295
296 const std::string key = GetDictionaryKeyForURL(url.spec());
297 if (pinned_urls_->HasKey(key))
298 pinned_urls_->Remove(key, NULL);
299
300 // TODO(arv): Notify observers?
301
302 // Don't call HandleGetMostVisited. Let the client call this as needed.
303 } 240 }
304 241
305 bool MostVisitedHandler::GetPinnedURLAtIndex(int index, 242 bool MostVisitedHandler::GetPinnedURLAtIndex(int index,
306 MostVisitedPage* page) { 243 MostVisitedPage* page) {
307 // This iterates over all the pinned URLs. It might seem like it is worth 244 // This iterates over all the pinned URLs. It might seem like it is worth
308 // having a map from the index to the item but the number of items is limited 245 // having a map from the index to the item but the number of items is limited
309 // to the number of items the most visited section is showing on the NTP so 246 // to the number of items the most visited section is showing on the NTP so
310 // this will be fast enough for now. 247 // this will be fast enough for now.
311 for (DictionaryValue::key_iterator it = pinned_urls_->begin_keys(); 248 for (DictionaryValue::key_iterator it = pinned_urls_->begin_keys();
312 it != pinned_urls_->end_keys(); ++it) { 249 it != pinned_urls_->end_keys(); ++it) {
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 pages_value_->Append(page_value); 350 pages_value_->Append(page_value);
414 most_visited_urls_.push_back(mvp.url); 351 most_visited_urls_.push_back(mvp.url);
415 seen_urls.insert(mvp.url); 352 seen_urls.insert(mvp.url);
416 } 353 }
417 output_index++; 354 output_index++;
418 } 355 }
419 } 356 }
420 357
421 void MostVisitedHandler::SetPagesValueFromTopSites( 358 void MostVisitedHandler::SetPagesValueFromTopSites(
422 const history::MostVisitedURLList& data) { 359 const history::MostVisitedURLList& data) {
423 DCHECK(history::TopSites::IsEnabled());
424 pages_value_.reset(new ListValue); 360 pages_value_.reset(new ListValue);
425 for (size_t i = 0; i < data.size(); i++) { 361 for (size_t i = 0; i < data.size(); i++) {
426 const history::MostVisitedURL& url = data[i]; 362 const history::MostVisitedURL& url = data[i];
427 DictionaryValue* page_value = new DictionaryValue(); 363 DictionaryValue* page_value = new DictionaryValue();
428 if (url.url.is_empty()) { 364 if (url.url.is_empty()) {
429 page_value->SetBoolean("filler", true); 365 page_value->SetBoolean("filler", true);
430 pages_value_->Append(page_value); 366 pages_value_->Append(page_value);
431 continue; 367 continue;
432 } 368 }
433 369
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 if (type != NotificationType::HISTORY_URLS_DELETED) { 451 if (type != NotificationType::HISTORY_URLS_DELETED) {
516 NOTREACHED(); 452 NOTREACHED();
517 return; 453 return;
518 } 454 }
519 455
520 // Some URLs were deleted from history. Reload the most visited list. 456 // Some URLs were deleted from history. Reload the most visited list.
521 HandleGetMostVisited(NULL); 457 HandleGetMostVisited(NULL);
522 } 458 }
523 459
524 void MostVisitedHandler::BlacklistURL(const GURL& url) { 460 void MostVisitedHandler::BlacklistURL(const GURL& url) {
525 if (history::TopSites::IsEnabled()) { 461 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites();
526 history::TopSites* ts = dom_ui_->GetProfile()->GetTopSites(); 462 if (ts)
527 if (ts) 463 ts->AddBlacklistedURL(url);
528 ts->AddBlacklistedURL(url);
529 return;
530 }
531
532 RemovePinnedURL(url);
533
534 std::string key = GetDictionaryKeyForURL(url.spec());
535 if (url_blacklist_->HasKey(key))
536 return;
537 url_blacklist_->SetBoolean(key, true);
538 } 464 }
539 465
540 std::string MostVisitedHandler::GetDictionaryKeyForURL(const std::string& url) { 466 std::string MostVisitedHandler::GetDictionaryKeyForURL(const std::string& url) {
541 return MD5String(url); 467 return MD5String(url);
542 } 468 }
543 469
544 // static 470 // static
545 void MostVisitedHandler::RegisterUserPrefs(PrefService* prefs) { 471 void MostVisitedHandler::RegisterUserPrefs(PrefService* prefs) {
546 prefs->RegisterDictionaryPref(prefs::kNTPMostVisitedURLsBlacklist); 472 prefs->RegisterDictionaryPref(prefs::kNTPMostVisitedURLsBlacklist);
547 prefs->RegisterDictionaryPref(prefs::kNTPMostVisitedPinnedURLs); 473 prefs->RegisterDictionaryPref(prefs::kNTPMostVisitedPinnedURLs);
548 } 474 }
549 475
550 // static 476 // static
551 std::vector<GURL> MostVisitedHandler::GetPrePopulatedUrls() { 477 std::vector<GURL> MostVisitedHandler::GetPrePopulatedUrls() {
552 const std::vector<MostVisitedPage> pages = 478 const std::vector<MostVisitedPage> pages =
553 MostVisitedHandler::GetPrePopulatedPages(); 479 MostVisitedHandler::GetPrePopulatedPages();
554 std::vector<GURL> page_urls; 480 std::vector<GURL> page_urls;
555 for (size_t i = 0; i < pages.size(); ++i) 481 for (size_t i = 0; i < pages.size(); ++i)
556 page_urls.push_back(pages[i].url); 482 page_urls.push_back(pages[i].url);
557 return page_urls; 483 return page_urls;
558 } 484 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698