Bug 49378

Summary: fast/text/justification-padding-mid-word.html fails on Windows
Product: WebKit Reporter: Adam Roben (:aroben) <aroben>
Component: TextAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: mitz, webkit.review.bot
Priority: P2 Keywords: InRadar, LayoutTestFailure, PlatformOnly
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
URL: http://build.webkit.org/results/Windows%20Release%20(Tests)/r71801%20(6288)/fast/text/justification-padding-mid-word-pretty-diff.html
Attachments:
Description Flags
Treat zero-width-space-like and space-like characters correctly in UniscribeController darin: review+

Adam Roben (:aroben)
Reported 2010-11-11 05:14:57 PST
fast/text/justification-padding-mid-word.html fails on Windows. See the URL for the (uninteresting) diff. I believe it's been failing since it was added in r71783. I've checked in new expected results for Windows to get the bots green again.
Attachments
Treat zero-width-space-like and space-like characters correctly in UniscribeController (3.90 KB, patch)
2010-11-11 17:02 PST, mitz
darin: review+
Adam Roben (:aroben)
Comment 1 2010-11-11 05:28:04 PST
mitz
Comment 2 2010-11-11 17:02:58 PST
Created attachment 73683 [details] Treat zero-width-space-like and space-like characters correctly in UniscribeController
WebKit Review Bot
Comment 3 2010-11-11 17:04:12 PST
Attachment 73683 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/platform/win/fast/text/justification-padding-mid-word-expected.txt', u'WebCore/ChangeLog', u'WebCore/platform/graphics/win/UniscribeController.cpp']" exit_code: 1 WebCore/platform/graphics/win/UniscribeController.cpp:278: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/graphics/win/UniscribeController.cpp:279: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/graphics/win/UniscribeController.cpp:280: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/graphics/win/UniscribeController.cpp:285: Tab found; better to use spaces [whitespace/tab] [1] WebCore/platform/graphics/win/UniscribeController.cpp:286: Tab found; better to use spaces [whitespace/tab] [1] Total errors found: 5 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style.
mitz
Comment 4 2010-11-11 17:06:28 PST
I’ll de-tabify.
Darin Adler
Comment 5 2010-11-11 17:10:39 PST
Comment on attachment 73683 [details] Treat zero-width-space-like and space-like characters correctly in UniscribeController View in context: https://bugs.webkit.org/attachment.cgi?id=73683&action=review > WebCore/platform/graphics/win/UniscribeController.cpp:287 > - if (Font::treatAsSpace(ch)) { > + bool treatAsSpace = Font::treatAsSpace(ch); > + bool treatAsZeroWidthSpace = ch == zeroWidthSpace || Font::treatAsZeroWidthSpace(ch); > + if (treatAsSpace || treatAsZeroWidthSpace) { > // Substitute in the space glyph at the appropriate place in the glyphs > // array. > glyphs[clusters[k]] = fontData->spaceGlyph(); > - advances[clusters[k]] = logicalSpaceWidth; > - spaceCharacters[clusters[k]] = m_currentCharacter + k + item.iCharPos; > + advances[clusters[k]] = treatAsSpace ? logicalSpaceWidth : 0; > + if (treatAsSpace) > + spaceCharacters[clusters[k]] = m_currentCharacter + k + item.iCharPos; > } Tabs! > WebCore/platform/graphics/win/UniscribeController.cpp:342 > - if (glyph == fontData->spaceGlyph()) { > + int characterIndex = spaceCharacters[k]; > + if (characterIndex >= 0) { The fact that this is a way to detect treatAsSpace because the code above leaves spaceCharacters along for those characters, and the buffer is initialized with -1 is non-obvious. A comment or different coding idiom of some sort could be helpful.
mitz
Comment 6 2010-11-11 17:22:11 PST
Note You need to log in before you can comment on or make changes to this bug.