This propagates the StackingContextHelper to the rest of the code that
builds WR display items, because we will need it in future patches to
stop using RelativeToParent.
MozReview-Commit-ID: 3PlQrJRhH36
In nsCSSRenderingGradients the logic for handling many error conditions
and normalizing the gradient stops is shared between the paint path and
the WebRender path. WebRender now normalizes gradients and handles any
error conditions that it needs to. There are some conditions that are not
problems for it, like repeating radial gradients with stops below zero.
This commit undoes the work done in bug 1341101 to share this logic. Some
conditions were moved around in bug 1341101 to make things simpler, and
that has been undone. Now the paint path is identical to how it was
originally.
There is one exception, which is ResolveMidpoints which is kept between
both code paths. This should be safe.
MozReview-Commit-ID: LMhMNXNquXM
--HG--
extra : rebase_source : 2d389f76134671b6caa44a3b7370b1c786576bdc
extra : histedit_source : caf5d3a456cbb9987970783969d0eb2a424e7eca
A few includes and namespace annotations are missing. And
nsImageRenderer.cpp is calling two functions that are static functions in
nsCSSRendering.cpp.
MozReview-Commit-ID: BLVPwpKB7On
--HG--
extra : rebase_source : d6111d093de47b88b5beba6478de4b6ed75b2a52
Refactor the existing PaintGradient method into a nsCSSGradientRenderer class. The purpose
of this is to separate the calculation of gradient parameters from the painting of the
gradients. This should help us to share code between WebRender and our existing
painting code. It does not change how we render gradients currently.
MozReview-Commit-ID: 4P8vPqK4V8g
--HG--
extra : rebase_source : 031cd8d15148153b0af23fa9ff0abbf037d028db