Bug 124506

Summary: REGRESSION(r159166?): fast/block/float/float-with-fractional-height-vertical-lr.html, fast/block/float/float-with-fractional-height.html are failing
Product: WebKit Reporter: Zan Dobersek <zan>
Component: WebKitGTKAssignee: Bem Jones-Bey <bjonesbe>
Status: RESOLVED FIXED    
Severity: Normal CC: bjonesbe, cdumez, commit-queue, esprehn+autocc, glenn, gyuyoung.kim, kondapallykalyan, mpakulavelrutka, rakuco
Priority: P2 Keywords: Gtk, LayoutTestFailure, Regression
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=125831
Attachments:
Description Flags
Patch none

Description Zan Dobersek 2013-11-18 08:21:59 PST
The following reftests are failing after (most likely) changes in r159166:
 fast/block/float/float-with-fractional-height-vertical-lr.html
 fast/block/float/float-with-fractional-height.html

http://trac.webkit.org/changeset/159166
http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fblock%2Ffloat%2Ffloat-with-fractional-height-vertical-lr.html%20fast%2Fblock%2Ffloat%2Ffloat-with-fractional-height.html

The GTK port enables subpixel layout. EFL does as well though, and there's no regression there AFAIK.
Comment 2 Bem Jones-Bey 2013-11-20 11:31:19 PST
That's unfortunate. I'll get a GTK or EFL build working and look into it.
Comment 3 Bem Jones-Bey 2013-12-05 09:46:37 PST
As far as I can tell, this is happening because the test is running afoul of IEEE floating point being imprecise. It is expecting 1.2 + 1.2 + 1.2 to be >= 3.6, but that isn't happening in practice, so the last line of the test is seen as overlapping the float. I'll see if I can come up with some numbers that always add up correctly to change the test to fix the issue.
Comment 4 Bem Jones-Bey 2013-12-05 17:11:35 PST
(In reply to comment #3)
> As far as I can tell, this is happening because the test is running afoul of IEEE floating point being imprecise. It is expecting 1.2 + 1.2 + 1.2 to be >= 3.6, but that isn't happening in practice, so the last line of the test is seen as overlapping the float. I'll see if I can come up with some numbers that always add up correctly to change the test to fix the issue.

I take that back, that's not what's happening. It looks like converting to layout units broke the fix for bug 112744, so I'm looking for another solution, if I don't find one, I guess I'll just have to put the placed floats tree back as ints, or truncate the layout units coming in.
Comment 5 Bem Jones-Bey 2013-12-17 09:04:01 PST
Created attachment 219424 [details]
Patch
Comment 6 Bem Jones-Bey 2013-12-17 09:06:06 PST
(In reply to comment #5)
> Created an attachment (id=219424) [details]
> Patch

This patch fixes the issue by flooring the floating object interval endpoints to revert to the old behavior. I have filed bug 125831 to track coming up with a better fix.
Comment 7 Dirk Schulze 2013-12-17 09:17:31 PST
Comment on attachment 219424 [details]
Patch

Not great to have a hack for that :/
Comment 8 WebKit Commit Bot 2013-12-17 10:35:31 PST
Comment on attachment 219424 [details]
Patch

Clearing flags on attachment: 219424

Committed r160715: <http://trac.webkit.org/changeset/160715>
Comment 9 WebKit Commit Bot 2013-12-17 10:35:34 PST
All reviewed patches have been landed.  Closing bug.