Bug 114323

Summary: TileController doesn't remove tiles when the view is resized, leading to stale content
Product: WebKit Reporter: Tim Horton <thorton>
Component: Layout and RenderingAssignee: Tim Horton <thorton>
Status: RESOLVED FIXED    
Severity: Normal CC: bdakin, dino, simon.fraser
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch simon.fraser: review+

Description Tim Horton 2013-04-09 17:12:53 PDT
You can see this when browsing around Amazon with Aggressive Tile Retention on:

1. Go to http://www.amazon.com/Best-Sellers-Video-Games-PlayStation-Hardware/zgbs/videogames/14210751/
2. Scroll to the bottom.
3. Click on the next page of results.
4. Scroll to the bottom.
5. Move the mouse around. You'll probably see stale content start repainting.

<rdar://problem/13520671>
Comment 1 Tim Horton 2013-04-09 18:02:14 PDT
Created attachment 197194 [details]
patch
Comment 2 Simon Fraser (smfr) 2013-04-09 18:09:18 PDT
Comment on attachment 197194 [details]
patch

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

> Source/WebCore/platform/graphics/ca/mac/TileController.mm:736
> +            if (it->key.y() < topLeftForBounds.y()
> +                || it->key.y() > bottomRightForBounds.y()
> +                || it->key.x() < topLeftForBounds.x()
> +                || it->key.x() > bottomRightForBounds.x())

Would be cleaner if you copied it->key into a TileIndex variable.
Comment 3 Tim Horton 2013-04-10 09:31:41 PDT
http://trac.webkit.org/changeset/148102