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

997 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd 31c615bd95 Bug 1195477 - part 1 - use -no-integrated-as for clang builds on ARM, moz.build changes; r=glandium
We have a lot of assembly written assuming gas's conventions, which
clang's integrated assembler doesn't support.  Disable the integrated
assembler for those pieces of code.
2016-06-23 17:46:59 -04:00
Jeff Muizelaar 83442b6d87 Bug 1279413. pixman: avoid overflow in create_bits function.
This is from the upstream:
https://lists.freedesktop.org/archives/pixman/2014-April/003244.html
2016-06-22 20:52:31 -04:00
Jonathan Watt 03036022ec 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 0a7e186b25 Bug 1272500: Make cairo-surface-wrapper not double-apply device transform. r=jrmuizel
MozReview-Commit-ID: EkWqiPEidE3
2016-06-01 15:25:26 +02:00
peter chang 66d1a9ac76 Bug 1201874 - create core text font with correct size,r=lsalzman
MozReview-Commit-ID: GXH7ExjMI2m

--HG--
extra : rebase_source : 373db7088d6a82e0bd7ee94436617c6293d3aaa4
2016-05-24 10:48:07 +08:00
Karl Tomlinson 2ed4bd01ae bug 1273701 don't reuse pixman images when not thread-safe r=jrmuizel
From
https://cgit.freedesktop.org/cairo/commit/?id=71e8a4c23019b01aa43b334fcb2784c70daae9b5
https://bugs.freedesktop.org/show_bug.cgi?id=34177

--HG--
extra : amend_source : f0d0f6d62a9c3c1dd00b803463b812db690f756e
extra : transplant_source : %A9v%1Cx4%24%C8i%E8%AF%97U%CB%E2%7C%D2%5E%EARe
2016-05-18 11:55:29 +12:00
Markus Stange 68f8a0a260 Bug 1271112 - Check transformed gradient end points for fixed point overflow, not the size of the gradient. r=jrmuizel
The gradient on this website had, the float values of xdim and ydim were
about 7500, which is definitely representable by 16.16 fixed point values.
But the matrix had a large (> 32000) translation on it.

MozReview-Commit-ID: 1WVhZQLF99g

--HG--
extra : rebase_source : b60c5e37f7dcb94943dadfc4ac73a58e9e18f1d9
2016-05-12 17:45:38 -04:00
Lee Salzman c0e46e46a6 Bug 726206 - check for failure in cairo _dwrite_draw_glyphs_to_gdi_surface_gdi. r=jrmuizel 2016-05-12 16:47:26 -04:00
Lee Salzman cb9bfa1888 Bug 1161170 - backport upstream fix for race in Cairo freed_pool. r=jrmuizel 2016-04-21 11:49:02 -04:00
Benoit Girard c4b31b9fa6 Bug 1258558 - Don't check extents for empty regions. r=jrmuizel
MozReview-Commit-ID: FEkiTr3azlV

--HG--
extra : rebase_source : 3cee0f7a404f3c9e4388b525229c3bb68c3f2df6
2016-03-23 14:38:30 -04:00
Mike Hommey 0a771514a8 Bug 1256988 - Replace tests on MOZ_WIDGET_GTK with tests on MOZ_WIDGET_TOOLKIT containing gtk. r=chmanchester
But only do that for the AC_SUBST. The AC_DEFINE is still useful.
2016-03-17 06:49:44 +09:00
Jeff Muizelaar 9dcdc9ab75 Bug 1255281. Add pixman fast path for bilinear x888_8888_SRC. r=lsalzman
This avoids falling back to a slow path when doing x8888 -> 8888 scales. It is basically just cherrypicked from upstream.
2016-03-11 08:23:48 +08:00
Mike Shal c9d34595e9 Bug 1252304 - Remove gfx/cairo/cairo/src/Makefile.in; r=chmanchester
MozReview-Commit-ID: ByMJUfjpSB1

--HG--
extra : rebase_source : fecb76cb1946f4541d9e47616e969be78d741ed6
2016-02-26 23:18:53 -05:00
Lee Salzman f6dc8f24e8 Bug 1249813 - part 2 - make Cairo mark a surface as clear if clip covers entire surface. r=jrmuizel 2016-02-25 14:38:05 -05:00
Bas Schouten 9c134bf2d5 Bug 1241012: Remove moz-d2d1-1.h stub headers from the tree. r=jrmuizel
--HG--
extra : rebase_source : 8c5c8bcd043a96c83148bfc065cddf5100cd59ee
2016-01-20 04:50:22 +01:00
Nathan Froyd b83566b4a1 Bug 1222166 - use gcc/clang warning flags for clang-cl in moz.build files; r=glandium
This patch turns off a number of gcc/clang-specific warnings for
clang-cl as well, as clang-cl understands all the warning flags that
clang understands.  We currently don't turn on all the gcc/clang
warnings for clang-cl in configure, but that can be done separately, and
this patch addresses some pain points (particularly for cairo).
2015-11-05 16:05:26 -05:00
Bill McCloskey e5a4fce1c1 Bug 1236266 - Don't generate invalid empty regions in pixman (r=jmuizelaar) 2016-01-06 10:22:54 -08:00
Nigel Babu becd126e52 Backed out changeset 38405f32bcbc (bug 1236266)
--HG--
extra : commitid : IwCw2YT3aTZ
2016-01-06 14:02:50 +05:30
Nigel Babu 247ba57ebf Backed out changeset 39aca33612f1 (bug 1236266)
--HG--
extra : commitid : AalW5RyEMsG
2016-01-06 14:02:47 +05:30
Bill McCloskey 9a22f96774 Bug 1236266 - Fix up review comment (r=jmuizelaar) 2016-01-05 22:10:40 -08:00
Bill McCloskey 2d5dab22d4 Bug 1236266 - Don't generate invalid empty regions in pixman (r=jmuizelaar) 2016-01-05 21:59:46 -08:00
Nicholas Nethercote a9f31c44eb Bug 1232219 (part 4) - Enable -Wunused for C code, except where it's too annoying. r=glandium.
--HG--
extra : rebase_source : febc9aac7ec5e3699742e728065c370dcee4f0f3
2015-12-16 22:59:42 -08:00
Lee Salzman eb43cc65f5 Bug 1215774 - use abort() to abort on error in Cairo. r=jmuizelaar 2015-11-20 15:24:31 -05:00
Tom Klein df61b215e4 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 dd50b531bf Bug 1217963 - Correct the spelling of "corect" rs=mossop
--HG--
extra : commitid : KIXf5DKKRrc
extra : source : 3f3fbf4e7a52b1bbb2848edd65eaacc7282b1a01
2015-10-23 16:02:56 -07:00
Lee Salzman 4de7b1c5de 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 bcce985327 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 d31ab38281 Bug 1205854 - Initialize variable in _cairo_matrix_transformed_circle_major_axis.
CLOSED TREE

--HG--
extra : amend_source : 5644bded8302d97a9fcf50738950fd4e2e1419ff
2015-10-21 12:48:58 -04:00
Lee Salzman 6b93ba2439 Bug 1205854 - Workaround for Windows printer drivers that can't handle swapped X and Y axes. r=jrmuizel
--HG--
extra : histedit_source : 03180d1b57d978be70be0feb2dbb167b52e49fcf%2C352058d1d245f67feaea2a925ff7dac116390dab
2015-10-20 13:38:57 -04:00
Nicholas Nethercote 5b34a25af2 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.

--HG--
extra : rebase_source : f0a601d77b5f42b4fbe090693234f934e3becc42
2015-10-19 18:05:20 -07: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
Milan Sreckovic ce072c79e4 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 a452602084 Bug 1202696 - check surface status in _cairo_surface_get_extents. r=jmuizelaar
--HG--
extra : rebase_source : bf9bf49cf9829370ab20567f10ce4c20fa5c9fca
2015-09-23 14:40:18 -04:00
Nicholas Nethercote f44287005f 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.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Nathan Froyd cc763887fa 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 7894c2fd13 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 b50c5b4695 Bug 1179859 - Fix _cairo_box_intersects_line_segment early rejection tests. r=jrmuizel 2015-07-21 23:38:44 -04:00
Bas Schouten 2ce73b774c Bug 1187075: Implement cairo atomics for Win32. r=jrmuizel 2015-07-24 16:41:02 +00:00
Ehsan Akhgari e1e6ebdf67 Bug 1180552 - Don't treat -Wuninitialized warnings as errors in Cairo; r=jrmuizel 2015-07-13 19:28:53 -04:00
Tom Klein 69ad936a10 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.

--HG--
extra : rebase_source : f9a52a5c6d20e560946abc4fb61bfd4a71fafb6a
2015-06-18 13:15:00 -04:00
Ryan VanderMeulen b290b7f37c 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 5e589d88a4 Bug 853889 - Check orientation of single trapezoid in _cairo_bentley_ottmann_tessellate_rectangular_traps. r=jmuizelaar
--HG--
extra : rebase_source : 852a5923994f3d75f0ec68fe9d500f3cade5ba18
2015-06-15 16:57:00 +02:00
Ted Mielczarek 8cbf08bf4d bug 1171117 - Fix cairo to build on iOS. r=jrmuizel
Cherry-pick cairo upstream rev 70cc8f250b5669e757b4f044571ba0f71e3dea9e and add CoreText include for iOS

--HG--
extra : commitid : JgGU6cuhap3
extra : rebase_source : c3d45f452d5a7e04adfc0468cddb5e722778c9fb
2015-02-11 15:13:24 -05:00
Nathan Froyd 492600a381 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 21241a6bbf Bug 1063486 - Track current point in _cairo_path_bounder_curve_to r=jmuizelaar 2015-05-30 16:07:48 +01:00
Lee Salzman c4fcd378b2 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 ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Jonathan Kew 33944052e0 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 b3d7979acb 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.

--HG--
extra : rebase_source : 2f00c4e48145b9f72839c57a619058a7bdec8efd
2015-01-15 15:53:28 -05:00