summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorasvitkine@chromium.org <asvitkine@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-17 00:23:39 +0000
committerasvitkine@chromium.org <asvitkine@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-17 00:23:39 +0000
commitb8fa907861997b652d042c85d6f67b5d70d3e69f (patch)
treee0f55c04cd1afd03b17e7bae955b388902e611d1
parentc4c51dd78fd5ff2b1efcdac8d46a5b5a80607156 (diff)
downloadchromium_src-b8fa907861997b652d042c85d6f67b5d70d3e69f.zip
chromium_src-b8fa907861997b652d042c85d6f67b5d70d3e69f.tar.gz
chromium_src-b8fa907861997b652d042c85d6f67b5d70d3e69f.tar.bz2
Fix Linux |Font::GetAverageCharacterWidth()| always returning 0.
Pango metrics were not getting initialized. BUG=none TEST=New test added to font_unittest.cc. Review URL: http://codereview.chromium.org/8289004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105758 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ui/gfx/font_unittest.cc5
-rw-r--r--ui/gfx/platform_font_pango.cc1
2 files changed, 6 insertions, 0 deletions
diff --git a/ui/gfx/font_unittest.cc b/ui/gfx/font_unittest.cc
index b8de407..75f7916 100644
--- a/ui/gfx/font_unittest.cc
+++ b/ui/gfx/font_unittest.cc
@@ -96,6 +96,11 @@ TEST_F(FontTest, AvgWidths) {
ASSERT_GT(cf.GetExpectedTextWidth(3), cf.GetExpectedTextWidth(2));
}
+TEST_F(FontTest, AvgCharWidth) {
+ Font cf(ASCIIToUTF16("Arial"), 16);
+ ASSERT_GT(cf.GetAverageCharacterWidth(), 0);
+}
+
TEST_F(FontTest, Widths) {
Font cf(ASCIIToUTF16("Arial"), 16);
ASSERT_EQ(cf.GetStringWidth(ASCIIToUTF16("")), 0);
diff --git a/ui/gfx/platform_font_pango.cc b/ui/gfx/platform_font_pango.cc
index 5979f00..f2a2d63 100644
--- a/ui/gfx/platform_font_pango.cc
+++ b/ui/gfx/platform_font_pango.cc
@@ -261,6 +261,7 @@ int PlatformFontPango::GetBaseline() const {
}
int PlatformFontPango::GetAverageCharacterWidth() const {
+ const_cast<PlatformFontPango*>(this)->InitPangoMetrics();
return SkScalarRound(average_width_pixels_);
}