Commit Graph

805 Commits

Author SHA1 Message Date
Lee Salzman
2733e0ce4c Bug 1215774 - use abort() to abort on error in Cairo. r=jmuizelaar 2015-11-20 15:24:31 -05:00
Tom Klein
23ca7458ab Bug 676001 - Fix for stroke hit testing on cairo. r=jrmuizel
The mochitest was mostly written by Jonathan Watt (bug 719385).
2015-11-18 11:20:02 -06:00
Wes Kocher
b8df46e5f5 Bug 1217963 - Correct the spelling of "corect" rs=mossop 2015-10-23 16:02:56 -07:00
Lee Salzman
9520a796cc Bug 1205854 - Workaround for Windows printer drivers that can't handle swapped X and Y axes. r=jrmuizel 2015-10-21 17:56:25 -04:00
Wes Kocher
c81db645e3 Backed out 2 changesets (bug 1205854) for apparently breaking a bunch of reftests, causing a CLOSED TREE
Backed out changeset aa291bcfb0e8 (bug 1205854)
Backed out changeset cbd0b9619978 (bug 1205854)
2015-10-21 11:20:07 -07:00
Lee Salzman
76e2282939 Bug 1205854 - Initialize variable in _cairo_matrix_transformed_circle_major_axis.
CLOSED TREE
2015-10-21 12:48:58 -04:00
Lee Salzman
92723f6312 Bug 1205854 - Workaround for Windows printer drivers that can't handle swapped X and Y axes. r=jrmuizel 2015-10-20 13:38:57 -04:00
Nicholas Nethercote
e49efba560 Bug 1216020 - Comment all ALLOW_COMPILER_WARNINGS lines. r=glandium.
DONTBUILD because it only changes comments.

This will hopefully prevent confusion like that in bug 1215903.
2015-10-19 18:05:20 -07:00
Nathan Froyd
e4e2da55c9 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
5254890206 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
Milan Sreckovic
37b32591ac Bug 1207750 - setting an environment variable will let us crash as Cairo errors happen. r=bschouten 2015-10-14 07:52:00 +02:00
Lee Salzman
c4693b90b5 Bug 1202696 - check surface status in _cairo_surface_get_extents. r=jmuizelaar 2015-09-23 14:40:18 -04:00
Nicholas Nethercote
69d088e45f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Nathan Froyd
c0be14cb69 Bug 1186444 - part 1 - move uses of MODULE_OPTIMIZE_FLAGS to moz.build's CFLAGS; r=mshal
Now that we have moz.build, we can be guaranteed that any flags we add
in moz.build will be added after everything else has been setup.  So any
uses of MODULE_OPTIMIZE_FLAGS can be moved to moz.build's
CFLAGS/CXXFLAGS without any unusual repercussions.  We do have to verify
that MOZ_OPTIMIZE is in effect, though.
2015-07-22 11:04:32 -04:00
Nathan Froyd
380dd1729b Bug 1191900 - remove superfluous check for GCC force_align_arg_pointer attribute; r=glandium
qcms and libav use __attribute__((force_align_arg_pointer))
unconditionally; the libav use case suggests that the attribute has been
around since GCC 4.2.  We're well past that point with GCC, and clang
supports it also.  So we can simply assume the compiler has it in the
appropriate places.

It is, however, x86 only (x86-64 appropriately aligns the stack at all
times), so we need to adjust the libpixman build code appropriately.
2015-08-06 21:07:57 -04:00
Lee Salzman
3809279792 Bug 1179859 - Fix _cairo_box_intersects_line_segment early rejection tests. r=jrmuizel 2015-07-21 23:38:44 -04:00
Bas Schouten
4ed6b2dc66 Bug 1187075: Implement cairo atomics for Win32. r=jrmuizel 2015-07-24 16:41:02 +00:00
Ehsan Akhgari
2935d94497 Bug 1180552 - Don't treat -Wuninitialized warnings as errors in Cairo; r=jrmuizel 2015-07-13 19:28:53 -04:00
Tom Klein
c6ccb89700 Bug 853889 - Check single-box orientaton in _cairo_bentley_ottmann_tessellate_rectangular_traps and _cairo_bentley_ottmann_tessellate_boxes. r=jmuizelaar
The fix for _cairo_bentley_ottmann_tessellate_boxes is from cairo upstream
commit 11b6c49c103d53526e9805c8906fde5dbb2eb884.
2015-06-18 13:15:00 -04:00
Ryan VanderMeulen
7ee39929dd Backed out changeset 264d12cfb073 (bug 853889) for Android 853889-1.html reftest failures.
CLOSED TREE
2015-06-17 11:43:23 -04:00
Tom Klein
88da7434fe Bug 853889 - Check orientation of single trapezoid in _cairo_bentley_ottmann_tessellate_rectangular_traps. r=jmuizelaar 2015-06-15 16:57:00 +02:00
Ted Mielczarek
1efaa9c6aa bug 1171117 - Fix cairo to build on iOS. r=jrmuizel
Cherry-pick cairo upstream rev 70cc8f250b5669e757b4f044571ba0f71e3dea9e and add CoreText include for iOS
2015-02-11 15:13:24 -05:00
Nathan Froyd
eb9562d3ed Bug 1158871 - use new-style __atomic_* primitives in cairo; r=jrmuizel,ted.mielczarek
This patch is derived from upstream commit
5d150ee111c222f09e78f4f88540964476327844, without the build/ parts,
which we don't use.  In lieu of the build/ parts in the original patch,
we set the appropriate configuration bit manually in moz.build.
2015-06-05 11:05:34 -04:00
Tom Klein
d98692ef21 Bug 1063486 - Track current point in _cairo_path_bounder_curve_to r=jmuizelaar 2015-05-30 16:07:48 +01:00
Lee Salzman
954ff38e34 Bug 1159273 - Update Cairo/Pixman renaming to not leak the symbols we use and silence linker warnings. r=jrmuizel 2015-05-13 11:54:18 +09:00
David Major
ed6ca74f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium 2015-04-27 19:59:27 -04:00
Jonathan Kew
b22e6bb289 Bug 1149519 - Workaround for GDI's failure to return empty extents for blank glyphs. r=roc 2015-04-01 12:46:53 +01:00
Nathan Froyd
bde3bbdb83 Bug 967300 - enable cairo's atomic support on gcc-esque compilers; r=mshal
Cairo has a number of nifty features predicated on support for atomic
operations on integer types.  Normally, such support would be determined
by cairo's configure script.  But since we don't run cairo's configure
script, we need to manually define HAVE_INTEL_ATOMIC_PRIMITIVES during
cairo's build.  That macro enables codepaths that depend on certain
SIZEOF_* variables being defined by autoconf, so we also need to add the
necessary code in moz.build to set those.
2015-01-15 15:53:28 -05:00
Joel Maher
c1defb9bb7 Bug 1125509 - [backout 70aa258394bf] 10% tsvgx linux* regression on inbound (Jan 22) from push c6ece3462afd. r=froydnj 2015-02-10 11:13:34 -05:00
Nathan Froyd
41450a70de Bug 1122235 - set HAVE_UINT64_T for cairo compilation to improve codegen; r=mshal 2015-01-15 16:17:55 -05:00
Nathan Froyd
0dea0c395b Bug 967300 - enable cairo's atomic support on gcc-esque compilers; r=mshal
Cairo has a number of nifty features predicated on support for atomic
operations on integer types.  Normally, such support would be determined
by cairo's configure script.  But since we don't run cairo's configure
script, we need to manually define HAVE_INTEL_ATOMIC_PRIMITIVES during
cairo's build.  That macro enables codepaths that depend on certain
SIZEOF_* variables being defined by autoconf, so we also need to add the
necessary code in moz.build to set those.
2015-01-15 15:53:28 -05:00
Jacek Caban
8f5ffaf898 Bug 1092130 - Fixed build errors found by mingw after bug 1076698 landed (-Werror=missing-braces errors). r=cpearce 2014-11-03 10:28:52 +01:00
Markus Stange
73d43eef9d Bug 1073230 - Address Jeff's review comments from bug 1011166 comment 60. r=jrmuizel 2014-09-30 13:51:09 +02:00
Nathan Froyd
16d88a5419 Bug 1061791 - move CFLAGS usages in gfx/cairo/* to moz.build; r=mshal 2014-07-28 15:03:06 -04:00
Matt Woodrow
bec5406d7c Bug 1050788 - Fix a bug where cairo's region clipping code incorrectly handled empty clips. r=jrmuizel
--HG--
extra : rebase_source : 653c04da802a5e6598638baaaab05c059b46709d
2014-08-27 10:22:38 +12:00
Markus Stange
9823bd0e51 Bug 1011166 - Improve the workarounds cairo does when rendering large gradients with pixman. rubber-stamp=roc, pending r?jrmuizel 2014-08-21 13:57:55 +02:00
Gian-Carlo Pascutto
435754d481 Bug 1047548 - Fix missing CXXFLAGS for no-X builds. r=glandium 2014-08-04 08:24:03 +02:00
Nathan Froyd
d86ff9f990 Bug 1042878 - part 2 - move MOZ_CAIRO_CFLAGS et al additions to C*FLAGS into moz.build; r=glandium 2014-07-24 11:55:33 -04:00
Nicolas Silva
c051112381 Bug 1034593 - Backout the cairo clip optimization because it produces incorrect clipping in certain cases. r=jrmuizel 2014-07-10 20:11:01 +02:00
Jonathan Kew
f10e532151 bug 1034230 - handle bad 'seac' in type1 charstring. r=jrmuizel 2014-07-10 10:11:26 +01:00
Ehsan Akhgari
073cfcb68f Bug 1034927 - Mention the size of the pointer explicitly in order to work around a clang-cl bug; r=jrmuizel
This works around http://llvm.org/PR20216.
2014-07-07 22:45:37 -04:00
Bas Schouten
f57a546031 Bug 1029919: Properly do the required composite for unbounded operators even when the fill doesn't intersect the extents. r=jrmuizel 2014-07-07 17:35:26 +02:00
Nicolas Silva
0d4782c58b Bug 1034593 - Teach cairo to not fail at creating oversized masks in case of huge clips. r=jrmuizel 2014-07-07 16:13:16 +02:00
Jeff Muizelaar
aa6588b9fc Bug 1032328. cairo: Don't use __FUNCTION__ as a string literal.
This was upstreamed as 550385fb004e6064305518cf265adc03bd2d0c0b
2014-06-30 14:26:03 -04:00
Jeff Muizelaar
740e816034 Bug 1026461. #include intrin.h in pixman-x86.c for __cpuid.
This is required to build with clang-cl because it wraps the msvc
intrinsics in intrin.h

--HG--
extra : rebase_source : db1945bfceec5e9657f7bc93de0256b20bab70a1
2014-06-17 14:09:35 -04:00
Ehsan Akhgari
79a6a76cb1 Bug 1024713 - Fix a compilation error in cairo with clang-cl; r=jrmuizel 2014-06-13 11:34:07 -04:00
Jonathan Kew
ee01ff691c bug 981627 - glyph surface with ARGB format might not be a true color glyph. r=jrmuizel 2014-03-24 14:35:43 +00:00
Ehsan Akhgari
5ab76fe98e Bug 979118 - Add global MMX_FLAGS, SSE_FLAGS and SSE2_FLAGS variables; r=glandium 2014-03-19 21:55:00 -04:00
Chris Peterson
9f74c97105 Bug 666656 - Suppress clang and gcc warnings in third-party gfx code: angle, cairo, and pixman. r=BenWa 2014-02-28 23:16:37 -08:00
Jeff Muizelaar
4dad29c033 Bug 979894. Add unwind information for pixman arm functions. r=jseward
This isn't technically correct because these functions will never call
functions that throw exceptions, however it lets the profiler unwind them.
The unwinding will also probably be wrong during prologue/epilogue. The right
solution is probably to use cfi.
2014-03-10 12:31:58 -04:00