Bug 129195

Summary: REGRESSION(r164412): Pixel cracks when zooming in to any web content.
Product: WebKit Reporter: zalan <zalan>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, esprehn+autocc, glenn, kondapallykalyan, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar, Regression
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description zalan 2014-02-21 21:22:51 PST
1. Load any web page.
2. Pinch-zoom in.
3. 1 pixel width tile grid shows up.
Comment 1 zalan 2014-02-21 21:23:38 PST
<rdar://problem/16131028>
Comment 2 zalan 2014-02-21 21:40:05 PST
Created attachment 224946 [details]
Patch
Comment 3 Simon Fraser (smfr) 2014-02-21 22:18:04 PST
Comment on attachment 224946 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224946&action=review

> Source/WebCore/rendering/RenderLayerBacking.cpp:2243
> +    LayoutRect dirtyRect(enclosingIntRect(clip));
>      IntRect pixelSnappedRectForIntegralPositionedItems = pixelSnappedIntRect(dirtyRect);

Odd that you call pixelSnappedIntRect() on the result of enclosingIntRect(). Should it be an IntRect?
Comment 4 zalan 2014-02-21 22:23:10 PST
(In reply to comment #3)
> (From update of attachment 224946 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=224946&action=review
> 
> > Source/WebCore/rendering/RenderLayerBacking.cpp:2243
> > +    LayoutRect dirtyRect(enclosingIntRect(clip));
> >      IntRect pixelSnappedRectForIntegralPositionedItems = pixelSnappedIntRect(dirtyRect);
> 
> Odd that you call pixelSnappedIntRect() on the result of enclosingIntRect(). Should it be an IntRect?
Yes, it looks odd, but I left it there so that when I clean up the paint rect clipping all I need to change back is the dirtyRect and the pixelSnappedRectForIntegralPositionedItems can stay as it is.
Comment 5 zalan 2014-02-21 22:26:24 PST
(In reply to comment #4)
> (In reply to comment #3)
> > (From update of attachment 224946 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=224946&action=review
> > 
> > > Source/WebCore/rendering/RenderLayerBacking.cpp:2243
> > > +    LayoutRect dirtyRect(enclosingIntRect(clip));
> > >      IntRect pixelSnappedRectForIntegralPositionedItems = pixelSnappedIntRect(dirtyRect);
> > 
> > Odd that you call pixelSnappedIntRect() on the result of enclosingIntRect(). Should it be an IntRect?
> Yes, it looks odd, but I left it there so that when I clean up the paint rect clipping all I need to change back is the dirtyRect and the pixelSnappedRectForIntegralPositionedItems can stay as it is.

I guess I should remove it to not to cause any confusion. (as it might take a few days to get to the clipping cleanup)
Comment 6 Simon Fraser (smfr) 2014-02-21 22:29:57 PST
Just add a comment if you plan to come back to it.
Comment 7 zalan 2014-02-21 22:38:24 PST
Created attachment 224948 [details]
Patch
Comment 8 zalan 2014-02-21 22:38:52 PST
Comment on attachment 224948 [details]
Patch

EWSing.
Comment 9 zalan 2014-02-21 22:40:17 PST
(In reply to comment #6)
> Just add a comment if you plan to come back to it.
I prefer what you suggested first. It's more explicit that way. Thanks for the review.
Comment 10 WebKit Commit Bot 2014-02-21 23:19:24 PST
Comment on attachment 224948 [details]
Patch

Clearing flags on attachment: 224948

Committed r164532: <http://trac.webkit.org/changeset/164532>
Comment 11 WebKit Commit Bot 2014-02-21 23:19:27 PST
All reviewed patches have been landed.  Closing bug.