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

Side by Side Diff: chrome/browser/sync/glue/favicon_cache.cc

Issue 16290004: 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: 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/sync/glue/favicon_cache.h" 5 #include "chrome/browser/sync/glue/favicon_cache.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "chrome/browser/favicon/favicon_service.h" 9 #include "chrome/browser/favicon/favicon_service.h"
10 #include "chrome/browser/favicon/favicon_service_factory.h" 10 #include "chrome/browser/favicon/favicon_service_factory.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 bitmap_result.bitmap_data = temp_string; 131 bitmap_result.bitmap_data = temp_string;
132 bitmap_result.pixel_size.set_height(favicon_data.height()); 132 bitmap_result.pixel_size.set_height(favicon_data.height());
133 bitmap_result.pixel_size.set_width(favicon_data.width()); 133 bitmap_result.pixel_size.set_width(favicon_data.width());
134 return bitmap_result; 134 return bitmap_result;
135 } 135 }
136 136
137 // Convert a FaviconBitmapResult into protobuf image data. 137 // Convert a FaviconBitmapResult into protobuf image data.
138 void FillSpecificsWithImageData( 138 void FillSpecificsWithImageData(
139 const chrome::FaviconBitmapResult& bitmap_result, 139 const chrome::FaviconBitmapResult& bitmap_result,
140 sync_pb::FaviconData* favicon_data) { 140 sync_pb::FaviconData* favicon_data) {
141 if (!bitmap_result.bitmap_data) 141 if (!bitmap_result.bitmap_data.get())
142 return; 142 return;
143 favicon_data->set_height(bitmap_result.pixel_size.height()); 143 favicon_data->set_height(bitmap_result.pixel_size.height());
144 favicon_data->set_width(bitmap_result.pixel_size.width()); 144 favicon_data->set_width(bitmap_result.pixel_size.width());
145 favicon_data->set_favicon(bitmap_result.bitmap_data->front(), 145 favicon_data->set_favicon(bitmap_result.bitmap_data->front(),
146 bitmap_result.bitmap_data->size()); 146 bitmap_result.bitmap_data->size());
147 } 147 }
148 148
149 // Build a FaviconImageSpecifics from a SyncedFaviconInfo. 149 // Build a FaviconImageSpecifics from a SyncedFaviconInfo.
150 void BuildImageSpecifics( 150 void BuildImageSpecifics(
151 const SyncedFaviconInfo* favicon_info, 151 const SyncedFaviconInfo* favicon_info,
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 if (!favicon_url.is_valid()) 493 if (!favicon_url.is_valid())
494 return false; 494 return false;
495 FaviconMap::const_iterator iter = synced_favicons_.find(favicon_url); 495 FaviconMap::const_iterator iter = synced_favicons_.find(favicon_url);
496 496
497 UMA_HISTOGRAM_BOOLEAN("Sync.FaviconCacheLookupSucceeded", 497 UMA_HISTOGRAM_BOOLEAN("Sync.FaviconCacheLookupSucceeded",
498 iter != synced_favicons_.end()); 498 iter != synced_favicons_.end());
499 if (iter == synced_favicons_.end()) 499 if (iter == synced_favicons_.end())
500 return false; 500 return false;
501 501
502 // TODO(zea): support getting other resolutions. 502 // TODO(zea): support getting other resolutions.
503 if (!iter->second->bitmap_data[SIZE_16].bitmap_data) 503 if (!iter->second->bitmap_data[SIZE_16].bitmap_data.get())
504 return false; 504 return false;
505 505
506 *favicon_png = iter->second->bitmap_data[SIZE_16].bitmap_data; 506 *favicon_png = iter->second->bitmap_data[SIZE_16].bitmap_data;
507 return true; 507 return true;
508 } 508 }
509 509
510 bool FaviconCache::GetSyncedFaviconForPageURL( 510 bool FaviconCache::GetSyncedFaviconForPageURL(
511 const GURL& page_url, 511 const GURL& page_url,
512 scoped_refptr<base::RefCountedMemory>* favicon_png) const { 512 scoped_refptr<base::RefCountedMemory>* favicon_png) const {
513 if (!page_url.is_valid()) 513 if (!page_url.is_valid())
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 sync_favicon.GetSpecifics().favicon_image(); 837 sync_favicon.GetSpecifics().favicon_image();
838 FaviconMap::const_iterator iter = synced_favicons_.find(favicon_url); 838 FaviconMap::const_iterator iter = synced_favicons_.find(favicon_url);
839 DCHECK(iter != synced_favicons_.end()); 839 DCHECK(iter != synced_favicons_.end());
840 SyncedFaviconInfo* favicon_info = iter->second.get(); 840 SyncedFaviconInfo* favicon_info = iter->second.get();
841 841
842 // Remote image data always clobbers local image data. 842 // Remote image data always clobbers local image data.
843 bool needs_update = false; 843 bool needs_update = false;
844 if (image_specifics.has_favicon_web()) { 844 if (image_specifics.has_favicon_web()) {
845 favicon_info->bitmap_data[SIZE_16] = GetImageDataFromSpecifics( 845 favicon_info->bitmap_data[SIZE_16] = GetImageDataFromSpecifics(
846 image_specifics.favicon_web()); 846 image_specifics.favicon_web());
847 } else if (favicon_info->bitmap_data[SIZE_16].bitmap_data) { 847 } else if (favicon_info->bitmap_data[SIZE_16].bitmap_data.get()) {
848 needs_update = true; 848 needs_update = true;
849 } 849 }
850 if (image_specifics.has_favicon_web_32()) { 850 if (image_specifics.has_favicon_web_32()) {
851 favicon_info->bitmap_data[SIZE_32] = GetImageDataFromSpecifics( 851 favicon_info->bitmap_data[SIZE_32] = GetImageDataFromSpecifics(
852 image_specifics.favicon_web_32()); 852 image_specifics.favicon_web_32());
853 } else if (favicon_info->bitmap_data[SIZE_32].bitmap_data) { 853 } else if (favicon_info->bitmap_data[SIZE_32].bitmap_data.get()) {
854 needs_update = true; 854 needs_update = true;
855 } 855 }
856 if (image_specifics.has_favicon_touch_64()) { 856 if (image_specifics.has_favicon_touch_64()) {
857 favicon_info->bitmap_data[SIZE_64] = GetImageDataFromSpecifics( 857 favicon_info->bitmap_data[SIZE_64] = GetImageDataFromSpecifics(
858 image_specifics.favicon_touch_64()); 858 image_specifics.favicon_touch_64());
859 } else if (favicon_info->bitmap_data[SIZE_64].bitmap_data) { 859 } else if (favicon_info->bitmap_data[SIZE_64].bitmap_data.get()) {
860 needs_update = true; 860 needs_update = true;
861 } 861 }
862 862
863 if (needs_update) 863 if (needs_update)
864 BuildImageSpecifics(favicon_info, new_specifics.mutable_favicon_image()); 864 BuildImageSpecifics(favicon_info, new_specifics.mutable_favicon_image());
865 } else { 865 } else {
866 sync_pb::FaviconTrackingSpecifics tracking_specifics = 866 sync_pb::FaviconTrackingSpecifics tracking_specifics =
867 sync_favicon.GetSpecifics().favicon_tracking(); 867 sync_favicon.GetSpecifics().favicon_tracking();
868 FaviconMap::const_iterator iter = synced_favicons_.find(favicon_url); 868 FaviconMap::const_iterator iter = synced_favicons_.find(favicon_url);
869 DCHECK(iter != synced_favicons_.end()); 869 DCHECK(iter != synced_favicons_.end());
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 1020
1021 size_t FaviconCache::NumFaviconsForTest() const { 1021 size_t FaviconCache::NumFaviconsForTest() const {
1022 return synced_favicons_.size(); 1022 return synced_favicons_.size();
1023 } 1023 }
1024 1024
1025 size_t FaviconCache::NumTasksForTest() const { 1025 size_t FaviconCache::NumTasksForTest() const {
1026 return page_task_map_.size(); 1026 return page_task_map_.size();
1027 } 1027 }
1028 1028
1029 } // namespace browser_sync 1029 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698