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,
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) {
CHECK(!app_name.empty());
return base::i18n::ToUpper(app_name)[0];
......
......@@ -55,10 +55,6 @@ SkBitmap GenerateBitmap(SquareSizePx output_size,
SkColor color,
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
// generated icon.
base::char16 GenerateIconLetterFromAppName(const base::string16& app_name);
......
......@@ -354,17 +354,6 @@ TEST_F(WebAppIconGeneratorTest, IconsResizedWhenOnlyAGigantorOneIsProvided) {
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) {
// ASCII Encoding
EXPECT_EQ('T',
......
......@@ -282,10 +282,9 @@ void FilterAndResizeIconsGenerateMissing(WebApplicationInfo* web_app_info,
}
FilterSquareIconsFromBitmaps(web_app_info->icon_bitmaps_any, &square_icons);
base::char16 icon_letter =
web_app_info->title.empty()
? GenerateIconLetterFromUrl(web_app_info->app_url)
: GenerateIconLetterFromAppName(web_app_info->title);
DCHECK(!web_app_info->title.empty());
base::char16 icon_letter = GenerateIconLetterFromAppName(web_app_info->title);
web_app_info->generated_icon_color = SK_ColorTRANSPARENT;
// TODO(https://crbug.com/1029223): Don't resize before writing to disk, it's
// not necessary and would simplify this code path to remove.
......
......@@ -472,6 +472,8 @@ TEST(WebAppInstallUtils, PopulateShortcutItemIconsNoShortcutIcons) {
// correctly populated.
TEST(WebAppInstallUtils, FilterAndResizeIconsGenerateMissingNoWebAppIconData) {
WebApplicationInfo web_app_info;
web_app_info.title = base::ASCIIToUTF16("App Name");
IconsMap icons_map;
std::vector<SkBitmap> bmp1 = {CreateSquareIcon(32, SK_ColorWHITE)};
icons_map.emplace(IconUrl1(), bmp1);
......@@ -486,6 +488,8 @@ TEST(WebAppInstallUtils, FilterAndResizeIconsGenerateMissingNoWebAppIconData) {
TEST_F(WebAppInstallUtilsWithShortcutsMenu,
FilterAndResizeIconsGenerateMissingNoWebAppIconData) {
WebApplicationInfo web_app_info;
web_app_info.title = base::ASCIIToUTF16("App Name");
IconsMap icons_map;
std::vector<SkBitmap> bmp1 = {CreateSquareIcon(32, SK_ColorWHITE)};
icons_map.emplace(IconUrl1(), bmp1);
......@@ -508,6 +512,8 @@ TEST_F(WebAppInstallUtilsWithShortcutsMenu,
// Construct |info| to add to |web_app_info.icon_infos|.
WebApplicationInfo web_app_info;
web_app_info.title = base::ASCIIToUTF16("App Name");
WebApplicationIconInfo info;
info.url = IconUrl1();
web_app_info.icon_infos.push_back(info);
......
......@@ -335,6 +335,8 @@ class PendingAppInstallTaskTest : public ChromeRenderViewHostTestHarness {
GetFactoryForRetriever(std::move(data_retriever)));
auto manifest = std::make_unique<blink::Manifest>();
manifest->start_url = options.url;
manifest->name =
base::NullableString16(base::ASCIIToUTF16("Manifest Name"));
data_retriever_->SetRendererWebApplicationInfo(
std::make_unique<WebApplicationInfo>());
......
......@@ -863,6 +863,7 @@ TEST_F(WebAppInstallTaskTest, InstallWebAppFromInfo_Success) {
auto web_app_info = std::make_unique<WebApplicationInfo>();
web_app_info->app_url = url;
web_app_info->open_as_window = true;
web_app_info->title = base::ASCIIToUTF16("App Name");
base::RunLoop run_loop;
......@@ -890,6 +891,7 @@ TEST_F(WebAppInstallTaskTest, InstallWebAppFromInfo_GenerateIcons) {
auto web_app_info = std::make_unique<WebApplicationInfo>();
web_app_info->app_url = GURL("https://example.com/path");
web_app_info->open_as_window = false;
web_app_info->title = base::ASCIIToUTF16("App Name");
// Add square yellow icon.
AddGeneratedIcon(&web_app_info->icon_bitmaps_any, icon_size::k256,
......@@ -1312,6 +1314,8 @@ class WebAppInstallTaskTestWithShortcutsMenu : public WebAppInstallTaskTest {
auto manifest = std::make_unique<blink::Manifest>();
manifest->start_url = start_url;
manifest->theme_color = theme_color;
manifest->name =
base::NullableString16(base::ASCIIToUTF16("Manifest Name"));
// Add shortcuts to manifest.
blink::Manifest::ShortcutItem shortcut_item;
......@@ -1377,13 +1381,15 @@ class WebAppInstallTaskTestWithShortcutsMenu : public WebAppInstallTaskTest {
GURL icon_src) {
InstallResult result;
const AppId app_id = GenerateAppIdFromURL(url);
auto web_app_info = std::make_unique<WebApplicationInfo>();
WebApplicationShortcutsMenuItemInfo shortcut_item;
WebApplicationShortcutsMenuItemInfo::Icon icon;
web_app_info->app_url = url;
web_app_info->open_as_window = true;
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.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