diff options
author | keishi@google.com <keishi@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-07 01:07:01 +0000 |
---|---|---|
committer | keishi@google.com <keishi@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-07 01:07:01 +0000 |
commit | 6b0fd49581b6562f8b2612ebfd5a906cf0464edb (patch) | |
tree | 660d5fd18dbb38394230c8c9d9bf678878c81f27 /ui | |
parent | 961dc8cd0c5860fe944da2926c1ed1cb69326b66 (diff) | |
download | chromium_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.cc | 6 | ||||
-rw-r--r-- | ui/base/text/text_elider_unittest.cc | 8 |
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; |