CGContextSetTextMatrix has behaviour that depends on the text
drawing mode. We want consistency so avoid CGContextSetTextMatrix.
--HG--
extra : rebase_source : c6e46252823586d947ec1dd19db7df980dee23f8
This fixes crashes that can happen when we try to create
an image surface from a quartz surface larger than the maximum
size supported by image surfaces.
--HG--
extra : rebase_source : 6ef9c66a91068f75ddef90a3453a7360dd91fa78
When we fixed transformed clips it caused us to double transform gradients. We
fix this by avoiding ::PushClip when drawing gradients. This has the advantage
of saving a save and restore pair and it makes Fill() more closely match
Stroke()
This has big improvement in the performance of GetImageData() because
we make the snapshot lazily instead of using the vm_copy() method
of CGBitmapContextCreateImage()
This avoids an invalid free() during destruction found with the
online canvas test suite.
--HG--
extra : rebase_source : e1aeff36e557b045fbaff38d7b46fdf91956ae49