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

Unified Diff: chrome/browser/extensions/bookmark_app_helper.cc

Issue 266353006: Add generateAppForLink function in chrome.management (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698