# List of suppressions
# This file was automatically generated by build/android/run_tests.py
CanvasTest.StringSizeEmptyString
CanvasTest.StringWidth
ClipboardTest.RTFTest
FontListTest.FontDescString_FromFont
FontListTest.FontDescString_FromFontNamesStyleAndSize
FontListTest.FontDescString_FromFontVector
FontListTest.FontDescString_FromFontWithNonNormalStyle
FontListTest.Fonts_DeriveFontList
FontListTest.Fonts_DeriveFontListWithSize
FontListTest.Fonts_DeriveFontListWithSizeDelta
FontListTest.Fonts_DeriveFontListWithSizeDeltaAndStyle
FontListTest.Fonts_DescStringWithStyleInFlexibleFormat_RoundTrip
FontListTest.Fonts_FontVector_RoundTrip
FontListTest.Fonts_FromDescString
FontListTest.Fonts_FromDescStringInFlexibleFormat
FontListTest.Fonts_FromDescStringWithStyleInFlexibleFormat
FontListTest.Fonts_FromFont
FontListTest.Fonts_FromFontVector
FontListTest.Fonts_FromFontWithNonNormalStyle
FontListTest.Fonts_GetHeight_GetBaseline
FontListTest.Fonts_GetStyle
FontTest.Ascent
FontTest.AvgCharWidth
FontTest.AvgWidths
FontTest.Height
FontTest.LoadArial
FontTest.LoadArialBold
FontTest.Widths
ResourceBundleTest.DelegateGetFontList
TextEliderTest.ElideEmail
TextEliderTest.ElideEmailMoreSpace
TextEliderTest.ElideRectangleText
TextEliderTest.ElideRectangleTextLongWords
TextEliderTest.ElideRectangleTextPunctuation
TextEliderTest.ElideTextEllipsis
TextEliderTest.ElideTextLongStrings
TextEliderTest.ElideTextSurrogatePairs
TextEliderTest.ElideTextTruncate
TextEliderTest.TestFileURLEliding
TextEliderTest.TestFilenameEliding
TextEliderTest.TestGeneralEliding
TextEliderTest.TestMoreEliding
TextEliderTest.TestTrailingEllipsisSlashEllipsisHack
