Bug 191545

Summary: [GTK][WPE] Incorrect tile coverage when resizing a layer out of the visible area
Product: WebKit Reporter: Miguel Gomez <magomez>
Component: WebKitGTKAssignee: Miguel Gomez <magomez>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, cmarcelo, commit-queue, ews-watchlist, kondapallykalyan, luiz, noam, psaavedra, zan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Miguel Gomez
Reported 2018-11-12 07:30:59 PST
I wasn't able to reproduce this on the desktop but I was able to see it when working on some low end devices. The problem happens when resizing a layer that has a backingStore, and that layer is at that point out of the visible area. Inside TiledBackingStore, it exactly happens when the coverRect (the rect that we keep tiles for) and the visible rect don't overlap (empty intersection). When the layer size changes, inside TiledBackingStore::createTiles, a call to resizeEdgeTiles() is required in order to resize the tiles on the edges to the new size. But as the code is now, that doesn't happen if the coverRect is empty (and in the scenario I mentioned it's emptied). As the size change is only detected inside the scope of that function and then forgotten, it's not performed when the layer comes into the visible area again, causing a glitch. The fix would mean remembering that there was a size change so when the layer comes into the visible area again, the edge tiles are properly resized.
Attachments
Patch (2.93 KB, patch)
2018-11-12 08:15 PST, Miguel Gomez
no flags
Miguel Gomez
Comment 1 2018-11-12 08:15:18 PST
WebKit Commit Bot
Comment 2 2018-11-13 00:58:17 PST
Comment on attachment 354560 [details] Patch Clearing flags on attachment: 354560 Committed r238126: <https://trac.webkit.org/changeset/238126>
WebKit Commit Bot
Comment 3 2018-11-13 00:58:18 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.