| Index: chrome/browser/extensions/bookmark_app_helper.cc
|
| ===================================================================
|
| --- chrome/browser/extensions/bookmark_app_helper.cc (revision 271412)
|
| +++ chrome/browser/extensions/bookmark_app_helper.cc (working copy)
|
| @@ -153,6 +153,33 @@
|
| }
|
|
|
| // static
|
| +char BookmarkAppHelper::GetIconLetterForGeneratedIcon(const GURL& url) {
|
| + char icon_letter = ' ';
|
| + std::string domain_and_registry(
|
| + net::registry_controlled_domains::GetDomainAndRegistry(
|
| + url,
|
| + net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES));
|
| + if (!domain_and_registry.empty()) {
|
| + icon_letter = domain_and_registry[0];
|
| + } else if (!url.host().empty()) {
|
| + icon_letter = url.host()[0];
|
| + }
|
| + return icon_letter;
|
| +}
|
| +
|
| +// static
|
| +SkColor BookmarkAppHelper::GetIconColorForGeneratedIcon(
|
| + const SkBitmap& base_icon) {
|
| + color_utils::GridSampler sampler;
|
| + SkColor background_color = color_utils::CalculateKMeanColorOfPNG(
|
| + gfx::Image::CreateFrom1xBitmap(base_icon).As1xPNGBytes(),
|
| + 100,
|
| + 568,
|
| + &sampler);
|
| + return background_color;
|
| +}
|
| +
|
| +// static
|
| void BookmarkAppHelper::GenerateIcon(std::map<int, SkBitmap>* bitmaps,
|
| int output_size,
|
| SkColor color,
|
| @@ -258,29 +285,12 @@
|
| if (resized_bitmaps.lower_bound(*generate_sizes.rbegin()) ==
|
| resized_bitmaps.end()) {
|
| GURL app_url = web_app_info_.app_url;
|
| + char icon_letter = GetIconLetterForGeneratedIcon(app_url);
|
| + SkColor background_color = SK_ColorBLACK;
|
|
|
| - // The letter that will be painted on the generated icon.
|
| - char icon_letter = ' ';
|
| - std::string domain_and_registry(
|
| - net::registry_controlled_domains::GetDomainAndRegistry(
|
| - app_url,
|
| - net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES));
|
| - if (!domain_and_registry.empty()) {
|
| - icon_letter = domain_and_registry[0];
|
| - } else if (!app_url.host().empty()) {
|
| - icon_letter = app_url.host()[0];
|
| - }
|
| -
|
| - // The color that will be used for the icon's background.
|
| - SkColor background_color = SK_ColorBLACK;
|
| if (resized_bitmaps.size()) {
|
| - color_utils::GridSampler sampler;
|
| - background_color = color_utils::CalculateKMeanColorOfPNG(
|
| - gfx::Image::CreateFrom1xBitmap(resized_bitmaps.begin()->second)
|
| - .As1xPNGBytes(),
|
| - 100,
|
| - 568,
|
| - &sampler);
|
| + background_color = GetIconColorForGeneratedIcon(
|
| + resized_bitmaps.begin()->second);
|
| }
|
|
|
| for (std::set<int>::const_iterator it = generate_sizes.begin();
|
|
|