Bug 95882

Summary: Inline repainting can be off-by-one with sub-pixel enabled
Product: WebKit Reporter: Levi Weintraub <leviw>
Component: Layout and RenderingAssignee: Levi Weintraub <leviw>
Status: RESOLVED FIXED    
Severity: Normal CC: adamk, dglazkov, eae, eric, jamesr, simon.fraser, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Reproduces the problem.
none
Patch eric: review+, webkit.review.bot: commit-queue-

Description Levi Weintraub 2012-09-05 12:02:09 PDT
Created attachment 162299 [details]
Reproduces the problem.

This issue repros easily when repainting selections in a table with sub-pixel offsets, but can likely occur elsewhere. The issue arrises due to repainting being triggered outside of normal paint or layout flow, and thus missing the context from the containing block chain, which leads to differing pixel-snapping. Eventually, I think this should be fixed by preserving the context during layout in something like a FractionalBoxExtent.
Comment 1 Levi Weintraub 2012-09-05 14:02:04 PDT
Created attachment 162327 [details]
Patch
Comment 2 WebKit Review Bot 2012-09-05 23:35:12 PDT
Comment on attachment 162327 [details]
Patch

Attachment 162327 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13764581

New failing tests:
fast/repaint/repaint-across-writing-mode-boundary.html
Comment 3 Eric Seidel (no email) 2012-09-10 14:43:59 PDT
Comment on attachment 162327 [details]
Patch

LGTM
Comment 4 Simon Fraser (smfr) 2012-09-10 16:34:56 PDT
I wonder if this will fix bug 94128.
Comment 5 Levi Weintraub 2012-09-12 12:16:32 PDT
Committed r128346: <http://trac.webkit.org/changeset/128346>
Comment 6 Adam Klein 2012-09-12 12:56:21 PDT
(In reply to comment #2)
> (From update of attachment 162327 [details])
> Attachment 162327 [details] did not pass chromium-ews (chromium-xvfb):
> Output: http://queues.webkit.org/results/13764581
> 
> New failing tests:
> fast/repaint/repaint-across-writing-mode-boundary.html

Just as it did on cr-ews, this is failing on the chromium bots:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Frepaint%2Frepaint-across-writing-mode-boundary.html

Levi, can you take a look?
Comment 7 Levi Weintraub 2012-09-12 13:09:22 PDT
Thanks for the heads up. Fixing now.