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

Side by Side Diff: chrome/browser/history/top_sites_likely_impl.cc

Issue 16296002: Update chrome/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/history/top_sites_likely_impl.h" 5 #include "chrome/browser/history/top_sites_likely_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 return false; // It's not a real webpage. 219 return false; // It's not a real webpage.
220 220
221 scoped_refptr<base::RefCountedBytes> thumbnail_data; 221 scoped_refptr<base::RefCountedBytes> thumbnail_data;
222 if (!EncodeBitmap(thumbnail, &thumbnail_data)) 222 if (!EncodeBitmap(thumbnail, &thumbnail_data))
223 return false; 223 return false;
224 224
225 if (add_temp_thumbnail) { 225 if (add_temp_thumbnail) {
226 // Always remove the existing entry and then add it back. That way if we end 226 // Always remove the existing entry and then add it back. That way if we end
227 // up with too many temp thumbnails we'll prune the oldest first. 227 // up with too many temp thumbnails we'll prune the oldest first.
228 RemoveTemporaryThumbnailByURL(url); 228 RemoveTemporaryThumbnailByURL(url);
229 AddTemporaryThumbnail(url, thumbnail_data, score); 229 AddTemporaryThumbnail(url, thumbnail_data.get(), score);
230 return true; 230 return true;
231 } 231 }
232 232
233 return SetPageThumbnailEncoded(url, thumbnail_data, score); 233 return SetPageThumbnailEncoded(url, thumbnail_data.get(), score);
234 } 234 }
235 235
236 bool TopSitesLikelyImpl::SetPageThumbnailToJPEGBytes( 236 bool TopSitesLikelyImpl::SetPageThumbnailToJPEGBytes(
237 const GURL& url, 237 const GURL& url,
238 const base::RefCountedMemory* memory, 238 const base::RefCountedMemory* memory,
239 const ThumbnailScore& score) { 239 const ThumbnailScore& score) {
240 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 240 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
241 241
242 if (!loaded_) { 242 if (!loaded_) {
243 // TODO(sky): I need to cache these and apply them after the load 243 // TODO(sky): I need to cache these and apply them after the load
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 DCHECK_EQ(history_state_, HISTORY_MIGRATING); 363 DCHECK_EQ(history_state_, HISTORY_MIGRATING);
364 364
365 history_state_ = HISTORY_LOADED; 365 history_state_ = HISTORY_LOADED;
366 366
367 SetTopSites(data.most_visited); 367 SetTopSites(data.most_visited);
368 368
369 for (size_t i = 0; i < data.most_visited.size(); ++i) { 369 for (size_t i = 0; i < data.most_visited.size(); ++i) {
370 URLToThumbnailMap::const_iterator image_i = 370 URLToThumbnailMap::const_iterator image_i =
371 data.url_to_thumbnail_map.find(data.most_visited[i].url); 371 data.url_to_thumbnail_map.find(data.most_visited[i].url);
372 if (image_i != data.url_to_thumbnail_map.end()) { 372 if (image_i != data.url_to_thumbnail_map.end()) {
373 SetPageThumbnailEncoded(data.most_visited[i].url, 373 SetPageThumbnailEncoded(
374 image_i->second, 374 data.most_visited[i].url, image_i->second.get(), ThumbnailScore());
375 ThumbnailScore());
376 } 375 }
377 } 376 }
378 377
379 MoveStateToLoaded(); 378 MoveStateToLoaded();
380 379
381 ResetThreadSafeImageCache(); 380 ResetThreadSafeImageCache();
382 381
383 // We've scheduled all the thumbnails and top sites to be written to the top 382 // We've scheduled all the thumbnails and top sites to be written to the top
384 // sites db, but it hasn't happened yet. Schedule a request on the db thread 383 // sites db, but it hasn't happened yet. Schedule a request on the db thread
385 // that notifies us when done. When done we'll know everything was written and 384 // that notifies us when done. When done we'll know everything was written and
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
789 // See if we have any tmp thumbnails for the new sites. 788 // See if we have any tmp thumbnails for the new sites.
790 if (!temp_images_.empty()) { 789 if (!temp_images_.empty()) {
791 for (size_t i = 0; i < top_sites.size(); ++i) { 790 for (size_t i = 0; i < top_sites.size(); ++i) {
792 const MostVisitedURL& mv = top_sites[i]; 791 const MostVisitedURL& mv = top_sites[i];
793 GURL canonical_url = cache_->GetCanonicalURL(mv.url); 792 GURL canonical_url = cache_->GetCanonicalURL(mv.url);
794 // At the time we get the thumbnail redirects aren't known, so we have to 793 // At the time we get the thumbnail redirects aren't known, so we have to
795 // iterate through all the images. 794 // iterate through all the images.
796 for (TempImages::iterator it = temp_images_.begin(); 795 for (TempImages::iterator it = temp_images_.begin();
797 it != temp_images_.end(); ++it) { 796 it != temp_images_.end(); ++it) {
798 if (canonical_url == cache_->GetCanonicalURL(it->first)) { 797 if (canonical_url == cache_->GetCanonicalURL(it->first)) {
799 SetPageThumbnailEncoded(mv.url, 798 SetPageThumbnailEncoded(
800 it->second.thumbnail, 799 mv.url, it->second.thumbnail.get(), it->second.thumbnail_score);
801 it->second.thumbnail_score);
802 temp_images_.erase(it); 800 temp_images_.erase(it);
803 break; 801 break;
804 } 802 }
805 } 803 }
806 } 804 }
807 } 805 }
808 806
809 if (top_sites.size() >= kTopSitesNumber) 807 if (top_sites.size() >= kTopSitesNumber)
810 temp_images_.clear(); 808 temp_images_.clear();
811 809
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
941 SetTopSites(pages); 939 SetTopSites(pages);
942 940
943 // Used only in testing. 941 // Used only in testing.
944 content::NotificationService::current()->Notify( 942 content::NotificationService::current()->Notify(
945 chrome::NOTIFICATION_TOP_SITES_UPDATED, 943 chrome::NOTIFICATION_TOP_SITES_UPDATED,
946 content::Source<TopSitesLikelyImpl>(this), 944 content::Source<TopSitesLikelyImpl>(this),
947 content::Details<CancelableRequestProvider::Handle>(&handle)); 945 content::Details<CancelableRequestProvider::Handle>(&handle));
948 } 946 }
949 947
950 } // namespace history 948 } // namespace history
OLDNEW
« no previous file with comments | « chrome/browser/history/top_sites_impl_unittest.cc ('k') | chrome/browser/history/top_sites_likely_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698