My change in https://bugs.webkit.org/show_bug.cgi?id=39461 does not limit the number of tiles that can be created, so for very large elements crashes and hangs can occur. I will implement the following: I will add a workaround where I limit the number of tiles. At 512x512, a tile consumes about a megabyte of memory. If we limit to 500 tiles I think we will be able to handle extremely large composited elements yet still keep memory under control. For instance, an element of 20,000 x 1000 will use 160 tiles and an element of 1000 x 100,000 is 400 tiles. I will render tiles in the upper left corner of the tiled layer, so the first part of the element, which will usually be visible, will be what gets rendered. This will protect us against very large tiled layers, until a more efficient, visibility based optimization can be done.
In radar as rdar://problem/8016574
Created attachment 56792 [details] Patch
Landed in http://trac.webkit.org/changeset/60045