Граф коммитов

52 Коммитов

Автор SHA1 Сообщение Дата
cku 2f769773d3 Bug 1317636 - Part 4. Use nsSVGUtils::DetermineMaskUsage. r=mstange
MozReview-Commit-ID: JUAof5JvU4j

--HG--
extra : rebase_source : 387567cd33837ab49f5002797bd329dda426d530
2016-11-17 15:11:34 +08:00
cku 6174d59e7e Bug 1317636 - Part 3. Implement ComposeExtraMask. r=mstange
CG is removed. By testing, D2D works fine with composing a mask by OP_IN mode.

MozReview-Commit-ID: Gs5rB6JachJ

--HG--
extra : rebase_source : 37cada77b33cd0f0265b0e1cb3e88ab8cc32e6e0
2016-11-17 12:42:14 +08:00
cku a4e8c8d584 Bug 1317636 - Part 2. Extract PaintFrameIntoMask from nsSVGClipPathFrame::PaintClipMask. r=mstange
MozReview-Commit-ID: LgrortpuwN5

--HG--
extra : rebase_source : 428c0de82eda1301f499a84e8d6f70e06a9541b2
2016-11-16 16:58:59 +08:00
cku e935229722 Bug 1317636 - Part 1. Implement nsSVGClipPathFrame::CreateClipMask and PaintClipMask. r=mstange
Simply split the code in nsSVGClipPathFrame::GetClipMask into two different
functions.

MozReview-Commit-ID: KMdVL3Wg8OC

--HG--
extra : rebase_source : 9a3e354378fe54bed26f8352450c423aa9b700b4
2016-11-17 14:50:35 +08:00
cku 99414ab73f Bug 1258510 - Part 2. Use the return value of nsLayoutUtils::DrawSingleImage & DrawSingleUnscaledImage. r=mstange
MozReview-Commit-ID: Eo8FzwOFAOT

--HG--
extra : rebase_source : 7da0ec5d1066067d5c1b22f0bc69b01cfd1131c5
2016-07-14 12:47:06 +08:00
Nicholas Nethercote a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
Chris Peterson 89c0478b18 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

--HG--
extra : rebase_source : d8652b0c6bc2532119f351d7b0dc860987b32677
2016-05-16 22:02:08 -07:00
Ting-Yu Lin 083eac991f Bug 1264837 Part 18 - Remove nsSVGClipPathFrameBase. r=dholbert
MozReview-Commit-ID: It4pCnQtjDi

--HG--
extra : rebase_source : 3828cf4e22915920c50c5377303cc641dc5e0347
2016-04-18 14:54:51 +08:00
Milan Sreckovic e0b2b9e425 Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt

--HG--
extra : rebase_source : 4988f3f488c19dd35a9979e96f78a5511ee8f3d2
2016-04-12 15:18:11 -04:00
Jeff Muizelaar 1b059a3417 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 58fc2aef57 Bug 1253590, part 4 - Follow-up to return the correct type. r=bustage 2016-03-12 18:43:40 +00:00
Jonathan Watt 9857ea9ad4 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 c633855102 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 847be1fa4d 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 2d02ad0652 Bug 1227927 Part 3 - Use ranged-based for-loop to rewrite some simple loops in part 2. r=mats
--HG--
extra : commitid : CcdpGdlMNIk
extra : rebase_source : 9c184cb8107bf6276c237d03d240f8755fd61553
2016-01-29 22:42:15 +08:00
Ting-Yu Lin 1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Jonathan Watt 7d5550b906 Bug 1223644 - Clean up the nsSVGClipPathFrame reference loop detection code. r=longsonr 2016-01-28 09:30:47 +00:00
Jonathan Watt e7af97097b Bug 1223604 - Disentangle nsSVGClipPathFrame::ApplyClipOrPaintClipMask and make the code easier to understand. r=Bas 2016-01-26 17:27:44 +00:00
Robert Longson e5adaf828f Bug 1145195 part 1 - Create a helper function for PrependLocalTransformsTo in SVGContentUtils r=dholbert 2015-12-02 22:36:23 +00:00
Bas Schouten 9c69abbb6c 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 36cd89f36b 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 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 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 2c4f63331f 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 dce1292dc9 Bug 1090936 - Make invalidation of rendering observers asynchronous. r=jwatt 2014-11-06 09:30:11 +00:00
Jonathan Watt 6d0a255540 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 8cd45d65a6 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 fdd99e683b Bug 1078031 - get rid of renderMode. r=jwatt 2014-10-11 09:24:44 +01:00
Jonathan Watt 2c5b4e5e64 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 12ea292678 Bug 1074294, part 1 - Convert SVGAutoRenderState to act on a Moz2D DrawTarget. r=longsonr 2014-09-30 18:08:13 +01:00
Jonathan Watt 537966729a 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 5056e93044 Bug 1054838, part 2 - Remove callers of DrawTarget::Mask. r=Bas,jwatt 2014-09-12 08:20:12 +01:00
Jonathan Watt 13e1e5f79d Bug 1062249 - Vastly simplify the various GetCanvasTM methods. r=longsonr
--HG--
extra : rebase_source : b0ba980a34c720bd3c3f3c95733083e92f0c0513
2014-09-08 12:28:50 +01:00
Jonathan Watt 2ec303fb9e 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 9cf6a9f6a0 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 5762a0a0eb Bug 1052915 - Stop unnecessarily calling nsSVGUtils::AdjustMatrixForUnits() over and over in nsSVGClipPathFrame. r=longsonr 2014-08-13 13:34:52 +01:00
Jonathan Watt f35f4a70d1 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 399be41768 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 29fc5495c2 Bug 999964 part 1 - Patch for SVG 2 getBBox method; r=longsonr, r=bz 2014-05-13 10:24:35 +09:00
Arnaud Sourioux 2d583fd28f 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 aebf0bb92a 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 80f65de35f Backout b04bd18e5692 for reftest failure 2013-12-26 15:13:57 -05:00
David Zbarsky 2b8f74cd56 Bug 952977: Switch PrependSVGTransform to gfx::Matrix r=nical 2013-12-26 13:06:54 -05:00
Robert Longson 2b4ee5d7ba Bug 940193 - rename nsSVGTextFrame2 to SVGTextFrame. r=dholbert
--HG--
rename : layout/svg/nsSVGTextFrame2.cpp => layout/svg/SVGTextFrame.cpp
rename : layout/svg/nsSVGTextFrame2.h => layout/svg/SVGTextFrame.h
2013-12-20 16:38:51 +00:00
Jonathan Watt a2e2acfb91 Bug 889736, part 1 - Remove nsSVGTextFrame and nsSVGGlyphFrame. r=heycam 2013-11-18 14:29:51 +00:00
Benoit Jacob 55d6cf1e20 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 eb19dbaccf bug 875329 - don't ignore transforms when rendering SVG-in-OT glyphs. r=heycam 2013-09-11 08:27:45 +01:00
Boris Zbarsky 7f102d7f2d Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Cameron McCormack 8c4b915009 Bug 655877 - Part 33: Allow new SVG text frames in clip paths. r=longsonr 2013-02-11 17:22:17 +11:00
David Zbarsky 2f19359c49 Bug 831669: Move SVGClipPathElement to mozilla::dom r=bz
--HG--
rename : content/svg/content/src/nsSVGClipPathElement.cpp => content/svg/content/src/SVGClipPathElement.cpp
rename : content/svg/content/src/nsSVGClipPathElement.h => content/svg/content/src/SVGClipPathElement.h
2013-01-18 14:52:40 -05:00