Commit 1b5394a0 authored by Alexey Baskakov's avatar Alexey Baskakov Committed by Commit Bot

dpwa: Remove legacy GenerateIconLetterFromUrl function.

Since web app name is never empty, we can always use
GenerateIconLetterFromAppName function.

GenerateIconLetterFromUrl becomes unused.

As a result, unit tests must provide non-empty web app title.

Bug: 1103570
Change-Id: I0f79446574d97725d757be9fbc09af7e74a19950
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2312056Reviewed-by: default avatarDaniel Murphy <dmurph@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791118}
parent 660b5933
...@@ -177,27 +177,6 @@ SkBitmap GenerateBitmap(SquareSizePx output_size, ...@@ -177,27 +177,6 @@ SkBitmap GenerateBitmap(SquareSizePx output_size,
return dst; return dst;
} }
base::char16 GenerateIconLetterFromUrl(const GURL& app_url) {
std::string app_url_part = " ";
const std::string domain_and_registry =
net::registry_controlled_domains::GetDomainAndRegistry(
app_url,
net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
if (!domain_and_registry.empty()) {
app_url_part = domain_and_registry;
} else if (app_url.has_host()) {
app_url_part = app_url.host();
}
// Translate punycode into unicode before retrieving the first letter.
const base::string16 string_for_display =
url_formatter::IDNToUnicode(app_url_part);
base::char16 icon_letter = base::i18n::ToUpper(string_for_display)[0];
return icon_letter;
}
base::char16 GenerateIconLetterFromAppName(const base::string16& app_name) { base::char16 GenerateIconLetterFromAppName(const base::string16& app_name) {
CHECK(!app_name.empty()); CHECK(!app_name.empty());
return base::i18n::ToUpper(app_name)[0]; return base::i18n::ToUpper(app_name)[0];
......
...@@ -55,10 +55,6 @@ SkBitmap GenerateBitmap(SquareSizePx output_size, ...@@ -55,10 +55,6 @@ SkBitmap GenerateBitmap(SquareSizePx output_size,
SkColor color, SkColor color,
base::char16 icon_letter); base::char16 icon_letter);
// Returns the first letter from |app_url| that will be painted on the generated
// icon.
base::char16 GenerateIconLetterFromUrl(const GURL& app_url);
// Returns the first letter from |app_name| that will be painted on the // Returns the first letter from |app_name| that will be painted on the
// generated icon. // generated icon.
base::char16 GenerateIconLetterFromAppName(const base::string16& app_name); base::char16 GenerateIconLetterFromAppName(const base::string16& app_name);
......
...@@ -354,17 +354,6 @@ TEST_F(WebAppIconGeneratorTest, IconsResizedWhenOnlyAGigantorOneIsProvided) { ...@@ -354,17 +354,6 @@ TEST_F(WebAppIconGeneratorTest, IconsResizedWhenOnlyAGigantorOneIsProvided) {
TestIconGeneration(icon_size::k512, 0, 3); TestIconGeneration(icon_size::k512, 0, 3);
} }
TEST_F(WebAppIconGeneratorTest, GenerateIconLetterFromUrl) {
// ASCII:
EXPECT_EQ('E', GenerateIconLetterFromUrl(GURL("http://example.com")));
// Cyrillic capital letter ZHE for something like https://zhuk.rf:
EXPECT_EQ(0x0416,
GenerateIconLetterFromUrl(GURL("https://xn--f1ai0a.xn--p1ai/")));
// Arabic:
EXPECT_EQ(0x0645,
GenerateIconLetterFromUrl(GURL("http://xn--mgbh0fb.example/")));
}
TEST_F(WebAppIconGeneratorTest, GenerateIconLetterFromAppName) { TEST_F(WebAppIconGeneratorTest, GenerateIconLetterFromAppName) {
// ASCII Encoding // ASCII Encoding
EXPECT_EQ('T', EXPECT_EQ('T',
......
...@@ -282,10 +282,9 @@ void FilterAndResizeIconsGenerateMissing(WebApplicationInfo* web_app_info, ...@@ -282,10 +282,9 @@ void FilterAndResizeIconsGenerateMissing(WebApplicationInfo* web_app_info,
} }
FilterSquareIconsFromBitmaps(web_app_info->icon_bitmaps_any, &square_icons); FilterSquareIconsFromBitmaps(web_app_info->icon_bitmaps_any, &square_icons);
base::char16 icon_letter = DCHECK(!web_app_info->title.empty());
web_app_info->title.empty() base::char16 icon_letter = GenerateIconLetterFromAppName(web_app_info->title);
? GenerateIconLetterFromUrl(web_app_info->app_url)
: GenerateIconLetterFromAppName(web_app_info->title);
web_app_info->generated_icon_color = SK_ColorTRANSPARENT; web_app_info->generated_icon_color = SK_ColorTRANSPARENT;
// TODO(https://crbug.com/1029223): Don't resize before writing to disk, it's // TODO(https://crbug.com/1029223): Don't resize before writing to disk, it's
// not necessary and would simplify this code path to remove. // not necessary and would simplify this code path to remove.
......
...@@ -472,6 +472,8 @@ TEST(WebAppInstallUtils, PopulateShortcutItemIconsNoShortcutIcons) { ...@@ -472,6 +472,8 @@ TEST(WebAppInstallUtils, PopulateShortcutItemIconsNoShortcutIcons) {
// correctly populated. // correctly populated.
TEST(WebAppInstallUtils, FilterAndResizeIconsGenerateMissingNoWebAppIconData) { TEST(WebAppInstallUtils, FilterAndResizeIconsGenerateMissingNoWebAppIconData) {
WebApplicationInfo web_app_info; WebApplicationInfo web_app_info;
web_app_info.title = base::ASCIIToUTF16("App Name");
IconsMap icons_map; IconsMap icons_map;
std::vector<SkBitmap> bmp1 = {CreateSquareIcon(32, SK_ColorWHITE)}; std::vector<SkBitmap> bmp1 = {CreateSquareIcon(32, SK_ColorWHITE)};
icons_map.emplace(IconUrl1(), bmp1); icons_map.emplace(IconUrl1(), bmp1);
...@@ -486,6 +488,8 @@ TEST(WebAppInstallUtils, FilterAndResizeIconsGenerateMissingNoWebAppIconData) { ...@@ -486,6 +488,8 @@ TEST(WebAppInstallUtils, FilterAndResizeIconsGenerateMissingNoWebAppIconData) {
TEST_F(WebAppInstallUtilsWithShortcutsMenu, TEST_F(WebAppInstallUtilsWithShortcutsMenu,
FilterAndResizeIconsGenerateMissingNoWebAppIconData) { FilterAndResizeIconsGenerateMissingNoWebAppIconData) {
WebApplicationInfo web_app_info; WebApplicationInfo web_app_info;
web_app_info.title = base::ASCIIToUTF16("App Name");
IconsMap icons_map; IconsMap icons_map;
std::vector<SkBitmap> bmp1 = {CreateSquareIcon(32, SK_ColorWHITE)}; std::vector<SkBitmap> bmp1 = {CreateSquareIcon(32, SK_ColorWHITE)};
icons_map.emplace(IconUrl1(), bmp1); icons_map.emplace(IconUrl1(), bmp1);
...@@ -508,6 +512,8 @@ TEST_F(WebAppInstallUtilsWithShortcutsMenu, ...@@ -508,6 +512,8 @@ TEST_F(WebAppInstallUtilsWithShortcutsMenu,
// Construct |info| to add to |web_app_info.icon_infos|. // Construct |info| to add to |web_app_info.icon_infos|.
WebApplicationInfo web_app_info; WebApplicationInfo web_app_info;
web_app_info.title = base::ASCIIToUTF16("App Name");
WebApplicationIconInfo info; WebApplicationIconInfo info;
info.url = IconUrl1(); info.url = IconUrl1();
web_app_info.icon_infos.push_back(info); web_app_info.icon_infos.push_back(info);
......
...@@ -335,6 +335,8 @@ class PendingAppInstallTaskTest : public ChromeRenderViewHostTestHarness { ...@@ -335,6 +335,8 @@ class PendingAppInstallTaskTest : public ChromeRenderViewHostTestHarness {
GetFactoryForRetriever(std::move(data_retriever))); GetFactoryForRetriever(std::move(data_retriever)));
auto manifest = std::make_unique<blink::Manifest>(); auto manifest = std::make_unique<blink::Manifest>();
manifest->start_url = options.url; manifest->start_url = options.url;
manifest->name =
base::NullableString16(base::ASCIIToUTF16("Manifest Name"));
data_retriever_->SetRendererWebApplicationInfo( data_retriever_->SetRendererWebApplicationInfo(
std::make_unique<WebApplicationInfo>()); std::make_unique<WebApplicationInfo>());
......
...@@ -863,6 +863,7 @@ TEST_F(WebAppInstallTaskTest, InstallWebAppFromInfo_Success) { ...@@ -863,6 +863,7 @@ TEST_F(WebAppInstallTaskTest, InstallWebAppFromInfo_Success) {
auto web_app_info = std::make_unique<WebApplicationInfo>(); auto web_app_info = std::make_unique<WebApplicationInfo>();
web_app_info->app_url = url; web_app_info->app_url = url;
web_app_info->open_as_window = true; web_app_info->open_as_window = true;
web_app_info->title = base::ASCIIToUTF16("App Name");
base::RunLoop run_loop; base::RunLoop run_loop;
...@@ -890,6 +891,7 @@ TEST_F(WebAppInstallTaskTest, InstallWebAppFromInfo_GenerateIcons) { ...@@ -890,6 +891,7 @@ TEST_F(WebAppInstallTaskTest, InstallWebAppFromInfo_GenerateIcons) {
auto web_app_info = std::make_unique<WebApplicationInfo>(); auto web_app_info = std::make_unique<WebApplicationInfo>();
web_app_info->app_url = GURL("https://example.com/path"); web_app_info->app_url = GURL("https://example.com/path");
web_app_info->open_as_window = false; web_app_info->open_as_window = false;
web_app_info->title = base::ASCIIToUTF16("App Name");
// Add square yellow icon. // Add square yellow icon.
AddGeneratedIcon(&web_app_info->icon_bitmaps_any, icon_size::k256, AddGeneratedIcon(&web_app_info->icon_bitmaps_any, icon_size::k256,
...@@ -1312,6 +1314,8 @@ class WebAppInstallTaskTestWithShortcutsMenu : public WebAppInstallTaskTest { ...@@ -1312,6 +1314,8 @@ class WebAppInstallTaskTestWithShortcutsMenu : public WebAppInstallTaskTest {
auto manifest = std::make_unique<blink::Manifest>(); auto manifest = std::make_unique<blink::Manifest>();
manifest->start_url = start_url; manifest->start_url = start_url;
manifest->theme_color = theme_color; manifest->theme_color = theme_color;
manifest->name =
base::NullableString16(base::ASCIIToUTF16("Manifest Name"));
// Add shortcuts to manifest. // Add shortcuts to manifest.
blink::Manifest::ShortcutItem shortcut_item; blink::Manifest::ShortcutItem shortcut_item;
...@@ -1377,13 +1381,15 @@ class WebAppInstallTaskTestWithShortcutsMenu : public WebAppInstallTaskTest { ...@@ -1377,13 +1381,15 @@ class WebAppInstallTaskTestWithShortcutsMenu : public WebAppInstallTaskTest {
GURL icon_src) { GURL icon_src) {
InstallResult result; InstallResult result;
const AppId app_id = GenerateAppIdFromURL(url); const AppId app_id = GenerateAppIdFromURL(url);
auto web_app_info = std::make_unique<WebApplicationInfo>(); auto web_app_info = std::make_unique<WebApplicationInfo>();
WebApplicationShortcutsMenuItemInfo shortcut_item;
WebApplicationShortcutsMenuItemInfo::Icon icon;
web_app_info->app_url = url; web_app_info->app_url = url;
web_app_info->open_as_window = true; web_app_info->open_as_window = true;
web_app_info->theme_color = theme_color; web_app_info->theme_color = theme_color;
web_app_info->title = base::ASCIIToUTF16("App Name");
WebApplicationShortcutsMenuItemInfo shortcut_item;
WebApplicationShortcutsMenuItemInfo::Icon icon;
shortcut_item.name = base::UTF8ToUTF16(shortcut_name); shortcut_item.name = base::UTF8ToUTF16(shortcut_name);
shortcut_item.url = shortcut_url; shortcut_item.url = shortcut_url;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment