| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/manifest/manifest_icon_selector.h" | 5 #include "content/public/browser/manifest_icon_selector.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| 11 #include "components/mime_util/mime_util.h" | 11 #include "components/mime_util/mime_util.h" |
| 12 | 12 |
| 13 namespace content { |
| 14 |
| 13 // static | 15 // static |
| 14 GURL ManifestIconSelector::FindBestMatchingIcon( | 16 GURL ManifestIconSelector::FindBestMatchingIcon( |
| 15 const std::vector<content::Manifest::Icon>& icons, | 17 const std::vector<Manifest::Icon>& icons, |
| 16 int ideal_icon_size_in_px, | 18 int ideal_icon_size_in_px, |
| 17 int minimum_icon_size_in_px, | 19 int minimum_icon_size_in_px, |
| 18 content::Manifest::Icon::IconPurpose purpose) { | 20 Manifest::Icon::IconPurpose purpose) { |
| 19 DCHECK(minimum_icon_size_in_px <= ideal_icon_size_in_px); | 21 DCHECK(minimum_icon_size_in_px <= ideal_icon_size_in_px); |
| 20 | 22 |
| 21 // Icon with exact matching size has priority over icon with size "any", which | 23 // Icon with exact matching size has priority over icon with size "any", which |
| 22 // has priority over icon with closest matching size. | 24 // has priority over icon with closest matching size. |
| 23 int latest_size_any_index = -1; | 25 int latest_size_any_index = -1; |
| 24 int closest_size_match_index = -1; | 26 int closest_size_match_index = -1; |
| 25 int best_delta_in_size = std::numeric_limits<int>::min(); | 27 int best_delta_in_size = std::numeric_limits<int>::min(); |
| 26 | 28 |
| 27 for (size_t i = 0; i < icons.size(); ++i) { | 29 for (size_t i = 0; i < icons.size(); ++i) { |
| 28 const auto& icon = icons[i]; | 30 const auto& icon = icons[i]; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 } | 75 } |
| 74 } | 76 } |
| 75 | 77 |
| 76 if (latest_size_any_index != -1) | 78 if (latest_size_any_index != -1) |
| 77 return icons[latest_size_any_index].src; | 79 return icons[latest_size_any_index].src; |
| 78 else if (closest_size_match_index != -1) | 80 else if (closest_size_match_index != -1) |
| 79 return icons[closest_size_match_index].src; | 81 return icons[closest_size_match_index].src; |
| 80 else | 82 else |
| 81 return GURL(); | 83 return GURL(); |
| 82 } | 84 } |
| 85 |
| 86 } // namespace content |
| OLD | NEW |