Supplying a visibility rect to the display list builder when recording
an SVG image blob will allow the display list builder to trim out
unnecessary items and make the recordings smaller. This is particularly
important when we have an SVG image used as an atlas.
This patch also simplifies the call path for the recordings. This allows
us to avoid unnecessary clips and transforms and shrink the recording
further, as well as make the code more auditable.
Differential Revision: https://phabricator.services.mozilla.com/D122125
This occurred due to a signature mismatch with
gfxUtils::DrawPixelSnapped. A previous patch in bug 1712855 put the
wrong field in the opacity parameter. It implicitly converted a bool to
a float silently, causing the opacity to be 0.0.
Differential Revision: https://phabricator.services.mozilla.com/D121628
When we rasterized SVG images on the main thread of the content process,
we would call gfxUtils::DrawPixelSnapped with aUseOptimalFillOp set to
false. We should do the same when recording them.
Differential Revision: https://phabricator.services.mozilla.com/D116398
This patch hooks up the ImageIntRegion to the blob recording and makes
any necessary adjusts to the display list creation to take advantage of
it.
Differential Revision: https://phabricator.services.mozilla.com/D114986