Commit Graph

41 Commits

Author SHA1 Message Date
Bob Owen
38ef1e1caa Bug 1347646 Part 1: Backout 4849ef8c9a34 for causing OOM issues when printing PDFs. r=jwatt, r=lsalzman, r=tobytailor 2017-04-08 22:47:51 +01:00
Lee Salzman
8b4c04ebc1 Bug 1345815 - fix BasicLayers OOM with recording playback by avoiding copies. r=tobytailor
MozReview-Commit-ID: 1r5sOZv0Gp6
2017-03-09 16:08:40 -05:00
Miko Mynttinen
82bb4c3e48 Bug 1323797 - Add compositor support for triangle layers (for BasicCompositor backend) - Part 3: Implement DrawPolygon() with Paths r=mattwoodrow
MozReview-Commit-ID: FjxDlzdhqor
2017-01-10 20:48:44 +02:00
Andi-Bogdan Postelnicu
4378914af8 Bug 1330614 - avoid memory leak in FillRectWithMask. r=jrmuizel
MozReview-Commit-ID: 1rR3juCO1NB
2017-01-12 14:54:01 +02:00
Tobias Schneider
cb6c095f73 Bug 1311512 - Use recording draw target for mozPrintCallback canvases. r=jwatt 2016-12-22 11:11:15 -08:00
Jonathan Watt
356d59cd2f Bug 1277862, part 2 - Rename Moz2D's Filter to SamplingFilter in the rest of gfx/. r=Bas 2016-05-25 17:01:18 +01:00
Bas Schouten
b9c9ba338e Bug 1210560 - Part 5: Convert BasicLayers usecases to PushGroupForBlendBack and temporary surfaces. 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
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Jeff Muizelaar
d5ef15a88e Bug 1152509. Use Mask with alpha to avoid allocating a surface. r=bas
This should give a performance improvement on platforms
not using Cairo (especially D2D)
2015-04-09 10:52:11 -04:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Kearwood (Kip) Gilbert
9913f5b14c Bug 1067286 - Part 1: Correct application of device offset for mask layers. r=mattwoodrow
- Fixed GetMaskData() function in BasicLayersImpl.cpp to use
  Matrix::PostTranslate rather than Matrix::PreTranslate when applying
  the device offset.
2014-12-03 18:02:00 -05:00
Jonathan Watt
727b0a4e88 Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Matt Woodrow
6da3d01d18 Bug 1013769 - Apply render target offset after the layer transform in BasicCompositor. r=Cwiiis 2014-05-28 13:21:32 +12:00
Nicolas Silva
8a0c258ce9 Bug 1013292 - Fix some using namespace + unified build issues in gfx code. r=kats 2014-05-22 12:11:45 +02:00
Matt Woodrow
028aa0ce91 Bug 997336 - Account for the DrawTarget 'device offset' when drawing layers with a mask. r=Bas 2014-05-12 12:31:27 +12:00
Matt Woodrow
b39ffca637 Bug 994282 - Apply mask layer transforms in the correct order. r=roc 2014-04-24 19:38:35 +12:00
Chris Lord
2ed2a6a2f7 Bug 993475 - Consolidate masking code in BasicCompositor and BasicLayersImpl. r=mattwoodrow 2014-04-11 13:23:09 +01:00
Matt Woodrow
233c024435 Bug 993784 - Part 4: Remove a bunch of dead thebes code in BasicLayers. r=roc 2014-04-09 21:15:19 +12:00
Matt Woodrow
d0b9d80a2f Bug 993784 - Part 3: Use Moz2D SourceSurfaces for masking with BasicLayers. r=roc 2014-04-09 21:15:19 +12:00
Matt Woodrow
872b2cd61c Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Phil Ringnalda
9724e72fe9 Backed out 4 changesets (bug 991028) for nonunified bustage
CLOSED TREE

Backed out changeset 147581a518c3 (bug 991028)
Backed out changeset e5bacc566e58 (bug 991028)
Backed out changeset 6dc852777a4d (bug 991028)
Backed out changeset 780bec5571b9 (bug 991028)
2014-04-06 21:21:38 -07:00
Matt Woodrow
55957df8b3 Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Matt Woodrow
8f8b47617b Bug 990338 - Remove FillWithMask since it's dead code. r=nical 2014-04-01 15:52:10 +08:00
Matt Woodrow
efd983930f Bug 989858 - Part 1: Add Moz2D helpers to BasicLayersImpl. r=roc 2014-04-01 12:02:09 +08:00
Horia Iosif Olaru
d87bd0cb39 Bug 952051 - Change the GetOperator call in FlushGroup to take into account the mix-blend-mode operator for the group. r=roc
Create a new GetEffectiveOperator function that also takes into acount the mix-blend-mode operator for basic layers. Replace logic that chooses between the effective mix blend mode and the operator returned by GetOperator, with calls to this function.
2014-02-27 11:56:48 -05:00
David Zbarsky
1736abeccf Bug 952977: Convert AutoMaskData to gfx::Matrix4x4 r=nical 2014-01-27 15:25:21 -05:00
David Zbarsky
9fb599abba Bug 952977: Perform some cleanup r=nical 2014-01-27 15:25:19 -05:00
David Zbarsky
a54742d02b Bug 952977: Convert GetEffectiveTransform to gfx::Matrix4x4 r=nical 2014-01-24 17:49:19 -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
Benoit Jacob
80cb54ab4d Bug 913872 - Take nested enums out of gfxASurface - 3/3 : remove the now-useless inclusions of gfxASurface.h - r=jrmuizel 2013-09-24 16:45:14 -04: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
Nicholas Cameron
6ff5d55180 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Nicolas Silva
ee77840a7b Bug 863324 - Rename PLayers into PLayerTransaction, r=jrmuizel 2013-04-24 14:42:40 -04:00
Jeff Walden
8a6657de57 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Chris Jones
38b53b6b01 Bug 765734, part 4: Add an RAII helper to open/close SurfaceDescriptors and mark usage of SurfaceDescriptor as ReadOnly or ReadWrite. r=BenWa,nrc sr=roc 2012-07-12 05:51:58 -07:00
Chris Jones
bd9ed9eaff Bug 765734, part 0.2: Remove \r from basic layers files. r=nrc 2012-07-12 05:51:57 -07:00
Nicholas Cameron
c18435ed17 Bug 768723; Reorganise BasicLayers.cpp into multiple files; r=roc 2012-06-29 18:01:34 +12:00