| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/favicon/favicon_handler.h" | 5 #include "chrome/browser/favicon/favicon_handler.h" | 
| 6 | 6 | 
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" | 
| 8 | 8 | 
| 9 #include <algorithm> | 9 #include <algorithm> | 
| 10 #include <vector> | 10 #include <vector> | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
| 25 #include "ui/gfx/image/image_skia.h" | 25 #include "ui/gfx/image/image_skia.h" | 
| 26 #include "ui/gfx/image/image_util.h" | 26 #include "ui/gfx/image/image_util.h" | 
| 27 | 27 | 
| 28 using content::FaviconURL; | 28 using content::FaviconURL; | 
| 29 using content::NavigationEntry; | 29 using content::NavigationEntry; | 
| 30 | 30 | 
| 31 namespace { | 31 namespace { | 
| 32 | 32 | 
| 33 // Size (along each axis) of a touch icon. This currently corresponds to | 33 // Size (along each axis) of a touch icon. This currently corresponds to | 
| 34 // the apple touch icon for iPad. | 34 // the apple touch icon for iPad. | 
| 35 const int kTouchIconSize = 72; | 35 const int kTouchIconSize = 144; | 
| 36 | 36 | 
| 37 // Returns chrome::IconType the given icon_type corresponds to. | 37 // Returns chrome::IconType the given icon_type corresponds to. | 
| 38 chrome::IconType ToHistoryIconType(FaviconURL::IconType icon_type) { | 38 chrome::IconType ToHistoryIconType(FaviconURL::IconType icon_type) { | 
| 39   switch (icon_type) { | 39   switch (icon_type) { | 
| 40     case FaviconURL::FAVICON: | 40     case FaviconURL::FAVICON: | 
| 41       return chrome::FAVICON; | 41       return chrome::FAVICON; | 
| 42     case FaviconURL::TOUCH_ICON: | 42     case FaviconURL::TOUCH_ICON: | 
| 43       return chrome::TOUCH_ICON; | 43       return chrome::TOUCH_ICON; | 
| 44     case FaviconURL::TOUCH_PRECOMPOSED_ICON: | 44     case FaviconURL::TOUCH_PRECOMPOSED_ICON: | 
| 45       return chrome::TOUCH_PRECOMPOSED_ICON; | 45       return chrome::TOUCH_PRECOMPOSED_ICON; | 
| 46     case FaviconURL::INVALID_ICON: | 46     case FaviconURL::INVALID_ICON: | 
| 47       return chrome::INVALID_ICON; | 47       return chrome::INVALID_ICON; | 
| 48   } | 48   } | 
| 49   NOTREACHED(); | 49   NOTREACHED(); | 
| 50   // Shouldn't reach here, just make compiler happy. |  | 
| 51   return chrome::INVALID_ICON; | 50   return chrome::INVALID_ICON; | 
| 52 } | 51 } | 
| 53 | 52 | 
| 54 // Get the maximal icon size in pixels for a icon of type |icon_type| for the | 53 // Get the maximal icon size in pixels for a icon of type |icon_type| for the | 
| 55 // current platform. | 54 // current platform. | 
| 56 int GetMaximalIconSize(chrome::IconType icon_type) { | 55 int GetMaximalIconSize(chrome::IconType icon_type) { | 
| 57   int base_size = 0; |  | 
| 58   switch (icon_type) { | 56   switch (icon_type) { | 
| 59     case chrome::FAVICON: | 57     case chrome::FAVICON: | 
| 60       base_size = gfx::kFaviconSize; | 58 #if defined(OS_ANDROID) | 
| 61       break; | 59       return 192; | 
|  | 60 #else | 
|  | 61       return gfx::ImageSkia::GetMaxSupportedScale() * gfx::kFaviconSize; | 
|  | 62 #endif | 
| 62     case chrome::TOUCH_ICON: | 63     case chrome::TOUCH_ICON: | 
| 63     case chrome::TOUCH_PRECOMPOSED_ICON: | 64     case chrome::TOUCH_PRECOMPOSED_ICON: | 
| 64       base_size = kTouchIconSize; | 65       return kTouchIconSize; | 
| 65       break; |  | 
| 66     case chrome::INVALID_ICON: | 66     case chrome::INVALID_ICON: | 
| 67       base_size = 0; | 67       return 0; | 
| 68       break; |  | 
| 69   } | 68   } | 
| 70   return gfx::ImageSkia::GetMaxSupportedScale() * base_size; | 69   NOTREACHED(); | 
|  | 70   return 0; | 
| 71 } | 71 } | 
| 72 | 72 | 
| 73 bool DoUrlAndIconMatch(const FaviconURL& favicon_url, | 73 bool DoUrlAndIconMatch(const FaviconURL& favicon_url, | 
| 74                        const GURL& url, | 74                        const GURL& url, | 
| 75                        chrome::IconType icon_type) { | 75                        chrome::IconType icon_type) { | 
| 76   return favicon_url.icon_url == url && | 76   return favicon_url.icon_url == url && | 
| 77       favicon_url.icon_type == static_cast<FaviconURL::IconType>(icon_type); | 77       favicon_url.icon_type == static_cast<FaviconURL::IconType>(icon_type); | 
| 78 } | 78 } | 
| 79 | 79 | 
| 80 // Returns true if all of the icon URLs and icon types in |bitmap_results| are | 80 // Returns true if all of the icon URLs and icon types in |bitmap_results| are | 
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 627       GetMaximalIconSize(icon_type)); | 627       GetMaximalIconSize(icon_type)); | 
| 628   if (download_id) { | 628   if (download_id) { | 
| 629     // Download ids should be unique. | 629     // Download ids should be unique. | 
| 630     DCHECK(download_requests_.find(download_id) == download_requests_.end()); | 630     DCHECK(download_requests_.find(download_id) == download_requests_.end()); | 
| 631     download_requests_[download_id] = | 631     download_requests_[download_id] = | 
| 632         DownloadRequest(url, image_url, icon_type); | 632         DownloadRequest(url, image_url, icon_type); | 
| 633   } | 633   } | 
| 634 | 634 | 
| 635   return download_id; | 635   return download_id; | 
| 636 } | 636 } | 
| OLD | NEW | 
|---|