Commit Graph

96 Commits

Author SHA1 Message Date
Chris Peterson
260887d32a Bug 1273363 - Fix -Wshadow warnings in layout/svg/. r=dholbert
layout/svg/SVGTextFrame.cpp:4198:28 [-Wshadow] declaration shadows a local variable
layout/svg/nsSVGClipPathFrame.cpp:388:18 [-Wshadow] declaration shadows a local variable
layout/svg/nsSVGIntegrationUtils.cpp:562:15 [-Wshadow] declaration shadows a local variable
layout/svg/nsSVGIntegrationUtils.cpp:586:26 [-Wshadow] declaration shadows a local variable
layout/svg/nsSVGIntegrationUtils.cpp:620:15 [-Wshadow] declaration shadows a local variable
2016-05-16 22:02:08 -07:00
Ting-Yu Lin
0f9d4f272f Bug 1264837 Part 18 - Remove nsSVGClipPathFrameBase. r=dholbert
MozReview-Commit-ID: It4pCnQtjDi
2016-04-18 14:54:51 +08:00
Milan Sreckovic
dd0830c93c Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt
2016-04-12 15:18:11 -04:00
Jeff Muizelaar
dfb7fe466e Bug 1258650. Properly use aExtraMasksTransform when combining masks. r=Bas,a=kwierso
Previously we were ignoring the scale.
2016-03-31 16:34:32 -04:00
Jonathan Watt
b6234f2494 Bug 1253590, part 4 - Follow-up to return the correct type. r=bustage 2016-03-12 18:43:40 +00:00
Jonathan Watt
6799fcdbc5 Bug 1253590, part 2 - Use the new AutoReferenceLimiter helper to limit clip path reference chain lengths. r=longsonr 2016-03-09 10:26:48 +00:00
Jonathan Watt
bd68dd135d Bug 1253590, part 1 - Generalize AutoReferenceLoopDetector to allow it to be used to limit reference chain lengths. r=longsonr 2016-03-09 10:26:48 +00:00
Bas Schouten
22598cc912 Bug 1251431 - Part 2: Do not apply the device transform when drawing to an already intermediate surface. r=jwatt
MozReview-Commit-ID: 5DCEvQJK3Us
2016-03-18 14:47:12 +01:00
Ting-Yu Lin
60711ad8f1 Bug 1227927 Part 3 - Use ranged-based for-loop to rewrite some simple loops in part 2. r=mats 2016-01-29 22:42:15 +08:00
Ting-Yu Lin
122e5b9aeb Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats 2016-01-29 22:42:14 +08:00
Jonathan Watt
24db6b0bc4 Bug 1223644 - Clean up the nsSVGClipPathFrame reference loop detection code. r=longsonr 2016-01-28 09:30:47 +00:00
Jonathan Watt
153ccab865 Bug 1223604 - Disentangle nsSVGClipPathFrame::ApplyClipOrPaintClipMask and make the code easier to understand. r=Bas 2016-01-26 17:27:44 +00:00
Robert Longson
e14a05521a Bug 1145195 part 1 - Create a helper function for PrependLocalTransformsTo in SVGContentUtils r=dholbert 2015-12-02 22:36:23 +00:00
Bas Schouten
27a875498a Bug 1224798: Do not produce a clip mask if our context is entirely clipped out anyway. r=jrmuizel 2015-11-17 16:27:17 +01:00
Bas Schouten
f9b7cda167 Bug 1210560 - Part 3: Convert more complex SVG usecases to PushGroupForBlendBack. r=jwatt r=jrmuizel 2015-11-11 16:15:39 +01:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Andrea Marchesini
6b10d5e43e Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements, r=smaug 2015-03-03 11:08:59 +00:00
Robert Longson
a9586a0bab Bug 1090936 - Make invalidation of rendering observers asynchronous. r=jwatt 2014-11-06 09:30:11 +00:00
Jonathan Watt
d9921394d7 Bug 1091321, part 4 - Convert nsISVGChildFrame::PaintSVG and related code from nsRenderingContext to gfxContext. r=longsonr 2014-10-31 20:08:54 +00:00
Jonathan Watt
1b870c11e4 Bug 1091321, part 1 - Convert nsSVGClipPathFrame::ApplyClipOrPaintClipMask and related code from nsRenderingContext to gfxContext. r=longsonr 2014-10-31 20:08:53 +00:00
Robert Longson
06b2d8c986 Bug 1078031 - get rid of renderMode. r=jwatt 2014-10-11 09:24:44 +01:00
Jonathan Watt
d0384c7376 Bug 932762, part 2 - Make SVG elements cache their Moz2D path data to speed up rendering, hit-testing, clipPath clipping, bbox calculations and animation/text along a path. r=longsonr 2014-10-04 12:13:30 +01:00
Jonathan Watt
90505fa583 Bug 1074294, part 1 - Convert SVGAutoRenderState to act on a Moz2D DrawTarget. r=longsonr 2014-09-30 18:08:13 +01:00
Jonathan Watt
919804b8fd Bug 1073974, part 1 - Make simple SVG clipPath clipping use a Moz2D Path object directly. r=longsonr 2014-09-29 14:15:19 +01:00
Matt Woodrow
d7baf5add4 Bug 1054838, part 2 - Remove callers of DrawTarget::Mask. r=Bas,jwatt 2014-09-12 08:20:12 +01:00
Jonathan Watt
4ede9ea3e8 Bug 1062249 - Vastly simplify the various GetCanvasTM methods. r=longsonr 2014-09-08 12:28:50 +01:00
Jonathan Watt
eabbbf9d8d Bug 932771, part 3 - Make PaintSVG painting work by passing transforms down, rather than walking up the tree using GetCanvasTM. r=longsonr 2014-08-29 20:42:07 +01:00
Jonathan Watt
e07b67b786 Bug 1052913 - Clean up some nsSVGClipPathFrame code and add some documentation to make it clearer. r=dholbert 2014-08-13 13:36:32 +01:00
Jonathan Watt
f47da51f38 Bug 1052915 - Stop unnecessarily calling nsSVGUtils::AdjustMatrixForUnits() over and over in nsSVGClipPathFrame. r=longsonr 2014-08-13 13:34:52 +01:00
Jonathan Watt
edca66335f Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
Mats Palmgren
bebbaf8351 Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
Shigeyuki Tsukihashi
1e6d1e8107 Bug 999964 part 1 - Patch for SVG 2 getBBox method; r=longsonr, r=bz 2014-05-13 10:24:35 +09:00
Arnaud Sourioux
c55abda61c Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
Benoit Jacob
aeb3bee922 Bug 959380 - 4/5 - Make gfxContentType a typed enum - r=jrmuizel
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)GFX_CONTENT_\(COLOR\|ALPHA\|COLOR_ALPHA\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1gfxContentType::\2\3/g'
2014-01-23 13:26:40 -05:00
David Zbarsky
c09f7abbbc Backout b04bd18e5692 for reftest failure 2013-12-26 15:13:57 -05:00
David Zbarsky
5d7caff1f5 Bug 952977: Switch PrependSVGTransform to gfx::Matrix r=nical 2013-12-26 13:06:54 -05:00
Robert Longson
c032670925 Bug 940193 - rename nsSVGTextFrame2 to SVGTextFrame. r=dholbert 2013-12-20 16:38:51 +00:00
Jonathan Watt
bb7921650c Bug 889736, part 1 - Remove nsSVGTextFrame and nsSVGGlyphFrame. r=heycam 2013-11-18 14:29:51 +00:00
Benoit Jacob
f6f57bbbb4 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Jonathan Kew
cf3770b9ff bug 875329 - don't ignore transforms when rendering SVG-in-OT glyphs. r=heycam 2013-09-11 08:27:45 +01:00
Boris Zbarsky
c0d4537026 Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Cameron McCormack
d5ef1966d8 Bug 655877 - Part 33: Allow new SVG text frames in clip paths. r=longsonr 2013-02-11 17:22:17 +11:00
David Zbarsky
fd22278f02 Bug 831669: Move SVGClipPathElement to mozilla::dom r=bz 2013-01-18 14:52:40 -05:00
David Zbarsky
edca27c095 Bug 827197 - Remove some uses of nsIDOMSVGElement subclasses r=longsonr 2013-01-07 22:22:41 -05:00
Alexandre Dumont
697cf0cd43 Bug 596753: Flatten layout/svg/base/src into layout/svg. r=dholbert 2012-09-24 23:01:21 +02:00