Commit graph

13 commits

Author SHA1 Message Date
wolfbeast
59d7005617 Add nullcheck in nsSVGUtils::PaintFrameWithEffects
Some SVGs define a mask but an invalid mask frame. Check to make sure
we have a `maskFrame` that isn't null before trying to use it.
This resolves #1034
2019-04-13 07:02:35 +08:00
wolfbeast
4a60de1031 Revert "add a nullptr check in nsSVGUtils::PaintFrameWithEffects"
This reverts commit 00baf283622b47ad7926c6e62364854d3dfbc00a.
2019-04-13 07:02:33 +08:00
yami
df0a40798b add a nullptr check in nsSVGUtils::PaintFrameWithEffects 2019-04-04 20:30:36 +08:00
cku
f9ae2860ab Bug 1360343 - ensure maskSurface is not null before dereference, since it can be null because of OOM or gfx device reset. r=dvander
MozReview-Commit-ID: HX2qsWLZpMg

--HG--
extra : rebase_source : 046befc11151461a682842c31e2ce39247a5e1d8
2019-04-04 20:30:32 +08:00
yami
b5376e63c5 issue #908 - implement missing parts of CSS mask 2019-02-16 00:27:53 +08:00
wolfbeast
ee1233bb0c Fix wrong SVG sizes with non-integer values for viewBox width/height.
Includes a standalone reftest.
2019-02-16 00:13:43 +08:00
Moonchild
49fc92f4a1 Bug 1357432 (#750)
* Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function.

* Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)"

This reverts commit 19f010c62022e269f99066a8d90e3522fe31adaf.

* Part 1. Duplicate IsLocalRefURL to nsContentUtils to reuse this function.

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, duplicate it to nsContentUtils as a util function.
This is a duplication because CSSValue uses stringbuffers and not nsStrings.
While Bug 1356060 - "Just use nsString in URLValueData" converts this use from stringbuffer to nsString, it builds on a bunch of vartype refactoring (nsString vs. nsAString, etc.) which is too much of a headache to deal with just to deduplicate this simple function.

* Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic.

ResolveURLUsingLocalRef is designed to be internally used by nsSVGEffects::Get-{SVGEffect}-URI functions.
Since we also need it in SVGUseElement::LookupHref, make it public in nsSVGEffects.

* Part 3. Resolve local-ref in SVGUseElement::LookupHref by nsSVGEffects::GetBaseURLForLocalRef.

* Part 4. Reftest for using local-ref as xlink:href value.
2019-02-16 00:12:35 +08:00
janekptacijarabaci
ece6d716f4 Bug 1346501. Don't mark every image as visible when a frame is created for it 2019-02-16 00:08:30 +08:00
Robert Longson
25bd606d80 Bug 1448774. r=dholbert, a=RyanVM
--HG--
extra : source : edfd9ffbd7208ef0a59f40a0d77d8dd53c905cb9
extra : intermediate-source : 3784b22ec536b08ce95201d73ae8806340c18b8c
2019-02-15 23:47:10 +08:00
Botond Ballo
7f57b96c83 Bug 1443092 - Avoid calling SVGAnimatedEnumeration::AnimVal() from nsSVGUtils::GetBBox(). r=jwatt, a=RyanVM
AnimVal() is a DOM getter, and it flushes animations, which we don't want
in GetBBox() which is called from display list building cide and
FrameLayerBuilder.

MozReview-Commit-ID: DWgm7wAV7C0
2019-02-15 23:47:09 +08:00
janekptacijarabaci
4ba6ca9106 SVG - support radialGradient fr attribute 2019-02-15 23:36:08 +08:00
wolfbeast
fafc5f0ec1 Only create a single display transform for SVG frames with single child transforms.
This improves performance on repeated scaling of vectors.
2019-02-14 14:39:55 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00