Commit 21bae89a authored by tby's avatar tby Committed by Commit Bot

[Suggested files] Add a full set of circular GM2 file icons

App icons in the suggested chips are circular, but our current set of
file icons are square. Medium-term this will be addressed by the move to
SVG from PNG icons, which will let us change this in-code. Until support
for SVGs is in place, we need a temporary fix for experiments that
add files to the suggestion chips.

This CL adds a full set of circular GM2 file icons, replacing the
handful of chip-customized file icons we had already.

Bug: 1093669
Change-Id: I25b628e6b8c57dfdaf70fc976f44499100bc92c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2247988Reviewed-by: default avatarJames Cook <jamescook@chromium.org>
Reviewed-by: default avatarThanh Nguyen <thanhdng@chromium.org>
Commit-Queue: Tony Yeoman <tby@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780108}
parent 76739b6b
......@@ -24,9 +24,6 @@ namespace app_list {
namespace internal {
IconType GetIconTypeForPath(const base::FilePath& filepath) {
// Changes to these three maps should be reflected in
// ui/file_manager/file_manager/common/js/file_type.js.
static const base::NoDestructor<base::flat_map<std::string, IconType>>
// Changes to this map should be reflected in
// ui/file_manager/file_manager/common/js/file_type.js.
......@@ -95,12 +92,12 @@ IconType GetIconTypeForPath(const base::FilePath& filepath) {
// Hosted doc
{".GDOC", IconType::GDOC},
{".GSHEET", IconType::GSHEET},
{".GSLIDES", IconType::GSLIDES},
{".GSLIDES", IconType::GSLIDE},
{".GDRAW", IconType::GDRAW},
{".GTABLE", IconType::GTABLE},
{".GLINK", IconType::GENERIC},
{".GFORM", IconType::GENERIC},
{".GMAPS", IconType::MAP},
{".GFORM", IconType::GFORM},
{".GMAPS", IconType::GMAP},
{".GSITE", IconType::GSITE},
// Other
......@@ -137,24 +134,30 @@ int GetResourceIdForIconType(IconType icon) {
// ui/file_manager/file_manager/common/js/file_type.js.
static const base::NoDestructor<base::flat_map<IconType, int>>
icon_to_2x_resource_id({
{IconType::AUDIO, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_AUDIO},
{IconType::ARCHIVE,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_ARCHIVE},
{IconType::AUDIO, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_AUDIO},
{IconType::CHART, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_CHART},
// TODO(crbug.com/1088395): we're missing a generic square drive
// file icon.
{IconType::DRIVE, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GENERIC},
{IconType::EXCEL, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_EXCEL},
{IconType::FOLDER, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_FOLDER},
{IconType::FORM, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GFORM},
// TODO(crbug.com/1088395): we're missing a square shared folder icon.
{IconType::FOLDER_SHARED,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_FOLDER},
{IconType::GDOC, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GDOC},
{IconType::GDRAW, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GDRAW},
{IconType::GENERIC,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GENERIC},
{IconType::GFORM, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GFORM},
{IconType::GMAP, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GMAP},
{IconType::GSHEET, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GSHEET},
{IconType::GSITE, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GSITE},
{IconType::GSLIDES,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GSLIDES},
{IconType::GSLIDE, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GSLIDES},
{IconType::GTABLE, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GTABLE},
{IconType::IMAGE, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_IMAGE},
{IconType::MAP, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GMAP},
{IconType::LINUX, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GENERIC},
{IconType::PDF, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_PDF},
{IconType::PPT, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_PPT},
{IconType::SCRIPT, IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_SCRIPT},
......@@ -172,19 +175,36 @@ int GetResourceIdForIconType(IconType icon) {
int GetChipResourceIdForIconType(IconType icon) {
static const base::NoDestructor<base::flat_map<IconType, int>>
icon_to_chip_resource_id({
{IconType::ARCHIVE, IDR_LAUNCHER_CHIP_ICON_ARCHIVE},
{IconType::AUDIO, IDR_LAUNCHER_CHIP_ICON_AUDIO},
{IconType::CHART, IDR_LAUNCHER_CHIP_ICON_CHART},
{IconType::DRIVE, IDR_LAUNCHER_CHIP_ICON_DRIVE},
{IconType::EXCEL, IDR_LAUNCHER_CHIP_ICON_EXCEL},
{IconType::FOLDER, IDR_LAUNCHER_CHIP_ICON_FOLDER},
{IconType::FOLDER_SHARED, IDR_LAUNCHER_CHIP_ICON_FOLDER_SHARED},
{IconType::GDOC, IDR_LAUNCHER_CHIP_ICON_GDOC},
{IconType::GDRAW, IDR_LAUNCHER_CHIP_ICON_GDRAW},
{IconType::GENERIC, IDR_LAUNCHER_CHIP_ICON_GENERIC},
{IconType::GFORM, IDR_LAUNCHER_CHIP_ICON_GFORM},
{IconType::GMAP, IDR_LAUNCHER_CHIP_ICON_GMAP},
{IconType::GSHEET, IDR_LAUNCHER_CHIP_ICON_GSHEET},
{IconType::GSLIDES, IDR_LAUNCHER_CHIP_ICON_GSLIDES},
{IconType::GSITE, IDR_LAUNCHER_CHIP_ICON_GSITE},
{IconType::GSLIDE, IDR_LAUNCHER_CHIP_ICON_GSLIDE},
{IconType::GTABLE, IDR_LAUNCHER_CHIP_ICON_GTABLE},
{IconType::IMAGE, IDR_LAUNCHER_CHIP_ICON_IMAGE},
{IconType::LINUX, IDR_LAUNCHER_CHIP_ICON_LINUX},
{IconType::PDF, IDR_LAUNCHER_CHIP_ICON_PDF},
{IconType::PPT, IDR_LAUNCHER_CHIP_ICON_PPT},
{IconType::SCRIPT, IDR_LAUNCHER_CHIP_ICON_SCRIPT},
{IconType::SITES, IDR_LAUNCHER_CHIP_ICON_SITES},
{IconType::TINI, IDR_LAUNCHER_CHIP_ICON_TINI},
{IconType::VIDEO, IDR_LAUNCHER_CHIP_ICON_VIDEO},
{IconType::WORD, IDR_LAUNCHER_CHIP_ICON_WORD},
});
const auto& id_it = icon_to_chip_resource_id->find(icon);
if (id_it != icon_to_chip_resource_id->end()) {
return id_it->second;
} else {
return GetResourceIdForIconType(icon);
}
DCHECK(id_it != icon_to_chip_resource_id->end());
return id_it->second;
}
} // namespace internal
......
......@@ -16,18 +16,21 @@ enum class IconType {
AUDIO,
ARCHIVE,
CHART,
DRIVE,
EXCEL,
FOLDER,
FORM,
FOLDER_SHARED,
GDOC,
GDRAW,
GENERIC,
GFORM,
GMAP,
GSHEET,
GSITE,
GSLIDES,
GSLIDE,
GTABLE,
LINUX,
IMAGE,
MAP,
PDF,
PPT,
SCRIPT,
......
......@@ -26,7 +26,7 @@ TEST(AppListFileIconUtilTest, GetIconTypeForPath) {
{"/my/test/file.pdf", internal::IconType::PDF},
{"/my/test/file.Pdf", internal::IconType::PDF},
{"/my/test/file.tar.gz", internal::IconType::ARCHIVE},
{"/my/test/.gslides", internal::IconType::GSLIDES},
{"/my/test/.gslides", internal::IconType::GSLIDE},
{"/my/test/noextension", internal::IconType::GENERIC},
{"/my/test/file.missing", internal::IconType::GENERIC}};
......@@ -45,7 +45,7 @@ TEST(AppListFileIconUtilTest, GetResourceIdForIconType) {
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_PDF},
{internal::IconType::ARCHIVE,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_ARCHIVE},
{internal::IconType::GSLIDES,
{internal::IconType::GSLIDE,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GSLIDES},
{internal::IconType::GENERIC,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_GENERIC}};
......@@ -59,15 +59,14 @@ TEST(AppListFileIconUtilTest, GetResourceIdForIconType) {
TEST(AppListFileIconUtilTest, GetChipResourceIdForIconType) {
const std::vector<std::pair<internal::IconType, int>>
icon_type_to_resource_id = {
{internal::IconType::PDF,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_PDF},
{internal::IconType::PDF,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_PDF},
{internal::IconType::ARCHIVE,
IDR_FILE_MANAGER_IMG_LAUNCHER_FILETYPE_2X_ARCHIVE},
{internal::IconType::PDF, IDR_LAUNCHER_CHIP_ICON_PDF},
{internal::IconType::ARCHIVE, IDR_LAUNCHER_CHIP_ICON_ARCHIVE},
{internal::IconType::IMAGE, IDR_LAUNCHER_CHIP_ICON_IMAGE},
{internal::IconType::GSLIDES, IDR_LAUNCHER_CHIP_ICON_GSLIDES},
{internal::IconType::GENERIC, IDR_LAUNCHER_CHIP_ICON_GENERIC}};
{internal::IconType::GSLIDE, IDR_LAUNCHER_CHIP_ICON_GSLIDE},
{internal::IconType::GENERIC, IDR_LAUNCHER_CHIP_ICON_GENERIC},
{internal::IconType::FOLDER, IDR_LAUNCHER_CHIP_ICON_FOLDER},
{internal::IconType::VIDEO, IDR_LAUNCHER_CHIP_ICON_VIDEO},
};
for (const auto& pair : icon_type_to_resource_id) {
EXPECT_EQ(::app_list::internal::GetChipResourceIdForIconType(pair.first),
......
......@@ -108,15 +108,34 @@
<structure type="chrome_html" name="IDR_ASSISTANT_VOICE_MATCH_ANIMATION" file="vector/voice_laptop.json" compress="gzip" />
<structure type="chrome_html" name="IDR_ASSISTANT_VOICE_MATCH_ALREADY_SETUP_ANIMATION" file="vector/connecting_loop.json" compress="gzip" />
<!-- Launcher chip icons. See
/ui/file_manager/file_manager/foreground/images/launcher_filetypes/2x/
for the majority of launcher icon chips. This file contains only the
icons that need to be different between the chips and file manager. -->
<!-- Launcher chip icons. These correspond to
/ui/file_manager/file_manager/foreground/images/launcher_filetypes/
but are circular rather than square. -->
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_ARCHIVE" file="launcher_chip_icons/filetype_archive.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_AUDIO" file="launcher_chip_icons/filetype_audio.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_CHART" file="launcher_chip_icons/filetype_chart.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_EXCEL" file="launcher_chip_icons/filetype_excel.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_FOLDER_SHARED" file="launcher_chip_icons/filetype_folder_shared.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_FOLDER" file="launcher_chip_icons/filetype_folder.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GDOC" file="launcher_chip_icons/filetype_gdoc.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GDRAW" file="launcher_chip_icons/filetype_gdraw.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GENERIC" file="launcher_chip_icons/filetype_generic.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GFORM" file="launcher_chip_icons/filetype_gform.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GMAP" file="launcher_chip_icons/filetype_gmap.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GSHEET" file="launcher_chip_icons/filetype_gsheet.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GSLIDES" file="launcher_chip_icons/filetype_gslides.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GSITE" file="launcher_chip_icons/filetype_gsite.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GSLIDE" file="launcher_chip_icons/filetype_gslide.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_GTABLE" file="launcher_chip_icons/filetype_gtable.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_IMAGE" file="launcher_chip_icons/filetype_image.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_LINUX" file="launcher_chip_icons/filetype_linux.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_PDF" file="launcher_chip_icons/filetype_pdf.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_PPT" file="launcher_chip_icons/filetype_ppt.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_SCRIPT" file="launcher_chip_icons/filetype_script.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_SITES" file="launcher_chip_icons/filetype_sites.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_DRIVE" file="launcher_chip_icons/filetype_team_drive.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_TINI" file="launcher_chip_icons/filetype_tini.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_VIDEO" file="launcher_chip_icons/filetype_video.png" />
<structure type="chrome_scaled_image" name="IDR_LAUNCHER_CHIP_ICON_WORD" file="launcher_chip_icons/filetype_word.png" />
</structures>
</release>
</grit>
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