While IFC uses LayoutUnit only, CLL has a mixture of different types like float, int and LayoutUnit. In order to match CLL's output, IFC needs to use similar types (or at least types with similar precision). Using LayoutUnit exclusively (and by that lowering the precision compared to what CLL ends up having) could cause significant difference in the final inline layout. Let's introduce these 2 new types and map them to float, FloatRect 1. to be able to match CLL's output 2. ensure that we use one type and one type only for geometry computation (can't really force it though). 3. be able to swap out the mapped type to something else when needed (like when we move over to a higher precision LayoutUnit)
<rdar://problem/57728333>
<rdar://problem/57728377>
Created attachment 385100 [details] Patch
Comment on attachment 385100 [details] Patch Clearing flags on attachment: 385100 Committed r253255: <https://trac.webkit.org/changeset/253255>
All reviewed patches have been landed. Closing bug.