Bug 4695

Summary: <span> in word-spaced text breaks width calculation, causes overflow
Product: WebKit Reporter: mitz
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: VERIFIED FIXED    
Severity: Normal CC: oliver
Priority: P2    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
testcase
none
check for non-whitespace ahead
none
Proposed patch hyatt: review+

Description mitz 2005-08-27 03:41:46 PDT
When there's a <span> that ends with a space in text with word-spacing!=0, some width calculations are 
wrong, and as a result the line breaks too late and text overflows. See testcase for example.
Comment 1 mitz 2005-08-27 03:42:45 PDT
Created attachment 3607 [details]
testcase
Comment 2 Oliver Hunt 2005-08-27 04:33:05 PDT
More wordspacing woes, confirmed in ToT as at 27/8
Comment 3 mitz 2005-09-01 10:13:36 PDT
The current way of handling word-spacing, which is to apply it a-postriori in many different places, seems 
somewhat problematic to me.

With the exception of negative word-spacing, I can't see what's wrong with applying it during text width 
calculation (i.e. in -[WebTextRenderer floatWidth...] and such ; whenever they decide that something is a 
space and has the width of a space, they should add word-spacing to its width). Currently, some spaces 
(mostly leading spaces) are initially given the width of a normal space.  I tried this approach in my first 
patch for bug 4672, but ran into problems with negative spacing. I think I'll give it another try, because I 
think it could simplify things significantly.
Comment 4 mitz 2005-11-08 13:38:33 PST
Created attachment 4629 [details]
check for non-whitespace ahead
Comment 5 mitz 2005-11-08 14:25:39 PST
Comment on attachment 4629 [details]
check for non-whitespace ahead

Bad idea
Comment 6 mitz 2005-11-09 15:09:34 PST
Created attachment 4654 [details]
Proposed patch

Add word spacing only when (and if) measuring the space that's responsible for
it.
Comment 7 mitz 2005-11-09 15:12:39 PST
Comment on attachment 4654 [details]
Proposed patch

Passes all layout tests except fast/css/word-space-extra.html, where the new
result is the correct one.
Comment 8 Dave Hyatt 2005-11-14 11:33:57 PST
Comment on attachment 4654 [details]
Proposed patch

r=me