summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorkeishi@google.com <keishi@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-07 01:07:01 +0000
committerkeishi@google.com <keishi@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-07 01:07:01 +0000
commit6b0fd49581b6562f8b2612ebfd5a906cf0464edb (patch)
tree660d5fd18dbb38394230c8c9d9bf678878c81f27 /ui
parent961dc8cd0c5860fe944da2926c1ed1cb69326b66 (diff)
downloadchromium_src-6b0fd49581b6562f8b2612ebfd5a906cf0464edb.zip
chromium_src-6b0fd49581b6562f8b2612ebfd5a906cf0464edb.tar.gz
chromium_src-6b0fd49581b6562f8b2612ebfd5a906cf0464edb.tar.bz2
Download shelf text fails to truncate if file has very long extension
Moved patch to new issue from my google account BUG=79968 TEST= Review URL: http://codereview.chromium.org/7253034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91646 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/base/text/text_elider.cc6
-rw-r--r--ui/base/text/text_elider_unittest.cc8
2 files changed, 13 insertions, 1 deletions
diff --git a/ui/base/text/text_elider.cc b/ui/base/text/text_elider.cc
index 6cfd740..1a4b79d 100644
--- a/ui/base/text/text_elider.cc
+++ b/ui/base/text/text_elider.cc
@@ -326,6 +326,12 @@ string16 ElideFilename(const FilePath& filename,
return base::i18n::GetDisplayStringInLTRDirectionality(elided_name);
}
+ if (ext_width >= available_pixel_width) {
+ string16 elided_name = ElideText(rootname + extension, font,
+ available_pixel_width, true);
+ return base::i18n::GetDisplayStringInLTRDirectionality(elided_name);
+ }
+
int available_root_width = available_pixel_width - ext_width;
string16 elided_name =
ElideText(rootname, font, available_root_width, false);
diff --git a/ui/base/text/text_elider_unittest.cc b/ui/base/text/text_elider_unittest.cc
index bdb2e92..0ff70e4 100644
--- a/ui/base/text/text_elider_unittest.cc
+++ b/ui/base/text/text_elider_unittest.cc
@@ -195,7 +195,13 @@ TEST(TextEliderTest, TestFilenameEliding) {
{FILE_PATH_LITERAL("filename.longext"),
"file" + kEllipsisStr + ".longext"},
{FILE_PATH_LITERAL("filename.middleext.longext"),
- "filename.mid" + kEllipsisStr + ".longext"}
+ "filename.mid" + kEllipsisStr + ".longext"},
+ {FILE_PATH_LITERAL("filename.superduperextremelylongext"),
+ "filename.sup" + kEllipsisStr + "emelylongext"},
+ {FILE_PATH_LITERAL("filenamereallylongtext.superduperextremelylongext"),
+ "filenamereall" + kEllipsisStr + "emelylongext"},
+ {FILE_PATH_LITERAL("file.name.really.long.text.superduperextremelylongext"),
+ "file.name.re" + kEllipsisStr + "emelylongext"}
};
static const gfx::Font font;