mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-14 18:51:28 +00:00
66ee16b6b0
The biggest change is located in nsFilterInstance::ComputeUserSpaceToFilterSpaceScale. Originally, nsSVGUtils::GetCanvasTM is used. This function returns combination of svg-transform, e.g. <rect transform="translate(30,40)" />, and css-to-dev-scale-transform. That why we do not see this bug in a transformed svg element. For example, the following svg can be rendered correctly on FF: <svg xmlns="http://www.w3.org/2000/svg"> <defs> <filter id="blurMe"> <feGaussianBlur in="SourceGraphic" stdDeviation="1"/> </filter> </defs> <!-- nsSVGUtils::GetCanvasTM return transform="scale(3)" correctly --> <text x="0" y="35" font-size="35" transform="scale(3)" filter="url(#blurMe)"> Hello, out there </text> </svg> Unfortunately, this function does not report css-transform at all. So, I replaced it by mPaintTransfom, which is passed from the caller. So now it's the caller's responsibility to pass a UserSpace-To-DeviceSpace transform into nsFilterInstance. And, we actually change the meaning of mPaintTransform in this patch. Before this patch, mPaintTransform means css-to-dev-px scaling transform; After this patch it means "userspace-to-filterspace-scaling * css-to-dev-scaling" transform. All the other modifictions are to respect the change in nsFilterInstance::ComputeUserSpaceToFilterSpaceScale. MozReview-Commit-ID: LwNUAMo98M --HG-- extra : rebase_source : 4ed9fbd1493decef43b6d606d78c4dd23e975146 |
||
---|---|---|
.. | ||
base | ||
build | ||
doc | ||
forms | ||
generic | ||
inspector | ||
ipc | ||
mathml | ||
media | ||
painting | ||
printing | ||
reftests | ||
style | ||
svg | ||
tables | ||
tools | ||
xul | ||
moz.build |