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

166 Коммитов

Автор SHA1 Сообщение Дата
Bas Schouten ad65c68987 Bug 1107792: Don't ask for similar if the surface has an error, and more data in crash reports. r=milan
--HG--
extra : commitid : 2BXoALYvMhT
2015-12-24 12:55:36 -05:00
Milan Sreckovic 9ac3b8bc44 Bug 1230740 - wallpaper patch for a missing nullptr scenario. r=bas 2015-12-14 13:11:00 +01:00
Milan Sreckovic bf9a6ffcc5 Bug 1219494 - Part 2. gfx/2d and gfxCrash. r=milan
* * *
Bug 1219494: Part 3. gfx/thebes, gfx/src and gfxCrash
2015-11-26 08:38:00 +01:00
Milan Sreckovic b216c58347 Bug 1200021 - Part 3: Add DrawTarget::IsValid and don't let Cairo version snapshot invalid surface. r=bas 2015-12-04 13:43:00 -05:00
Robert O'Callahan ef0cbe97ce Bug 1224976. Recover from singular-matrix cairo errors. r=mattwoodrow
--HG--
extra : commitid : GIbNC6bzIJp
extra : rebase_source : 15643f58ae0f360a5b91c146c686b0a9a0c19a8a
2015-11-16 17:35:23 +13:00
Bas Schouten b8dfcb93d1 Bug 1210560 - Part 5: Convert BasicLayers usecases to PushGroupForBlendBack and temporary surfaces. r=jrmuizel 2015-11-11 16:15:39 +01:00
Jeff Muizelaar d267b10514 Bug 1209812 (part 5) - Add endian-neutral variants to SurfaceFormat. r=nical,Bas.
--HG--
extra : rebase_source : 9726a7a1e70dc2a8341415b69f4b7322e4274fee
2015-10-18 21:53:40 -07:00
Nicholas Nethercote a34d272e2b Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas.
--HG--
extra : rebase_source : 1efcfb2522e823e55b5c7b77531a9d2c42c49c8b
2015-10-22 23:01:31 -07:00
Ted Mielczarek fc136257e3 bug 1170987 - Fix gfx/2d to build on iOS. r=jrmuizel 2015-10-28 14:10:24 -05:00
Milan Sreckovic dd6aa8383f Bug 1217192 - Use gfxCriticalNote where we're already using the non-default construction parameter. r=mchang 2015-10-21 14:34:00 +02: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
Lee Salzman df37acf297 Bug 1185636 - Remove hard stop workaround for Cairo due to regressions. r=jrmuizel 2015-07-20 14:51:50 -04:00
Milan Sreckovic 2ef858355b Bug 1182209 - Additional info with some critical errors. r=mchang
CLOSED TREE
2015-07-14 15:22:29 -04:00
Birunthan Mohanathas a8939590de 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
Lee Salzman 6f442f976d Bug 1170390 - Detect 16bpp cairo xlib surface format. r=jrmuizel 2015-07-06 20:19:56 -04:00
Lee Salzman 97d3a0fc71 Bug 1180246 - Part 1 - remove dependencies on gfxD2DSurface. r=bas
--HG--
extra : rebase_source : 199520a80f8d904f2034fa39d9640d271078a6ac
2015-07-02 08:02:51 -04:00
Nathan Froyd 974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Andrew Comminos 8f3a42c617 Bug 1177807 - Mark cairo surface dirty in ReleaseBits. r=jrmuizel 2015-06-26 11:34:00 +02:00
Lee Salzman 3fe9408260 Bug 1033375 - Nudge simple linear gradients with hard stops to half-pixel gradient. r=nical 2015-06-23 20:50:36 -04:00
Andrew Comminos bc95798c00 Bug 1169370 - Mark tree Cairo surface dirty after borrow. r=jrmuizel
--HG--
extra : rebase_source : 3e9d5349a0218a60ff2178aeec42741028427824
2015-06-10 12:16:00 -04:00
Lee Salzman cb8cec408b Bug 1171454 - Workaround for Cairo's source operator with alpha handling. r=jrmuizel
--HG--
extra : rebase_source : 12d68416660935bf2072a898c903f29b80c39107
2015-06-05 15:30:13 -04:00
Nathan Froyd db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Nathan Froyd c24f5f4e7c Bug 1116905 - part 3 - remove dependence on implicit conversion from T* to TemporaryRef<T>, gfx changes; r=jrmuizel 2015-04-30 15:20:30 -04:00
Lee Salzman e38cad0b37 Bug 1127752 - fixes for using Skia and OMTC with GTK3. r=jrmuizel 2015-05-13 11:54:17 +09:00
Nicolas Silva 08a5fef1fc Bug 1144147 - Warning fix in DrawTargetCairo.cpp. r=jrmuizel 2015-03-17 16:53:46 +01:00
Nicolas Silva 0863d3f6fa Bug 1123080 - Use cairo's image backend as canvas fallback on windows. r=Bas 2015-03-12 19:40:06 +01:00
Milan Sreckovic 60347c0d1e Bug 1133119 - ::Map should fail if the data is null, and add more null pointer checks. r=mattwoodrow 2015-03-03 11:17:55 -05:00
Ehsan Akhgari a41280816e Bug 1116622 - Give TemporaryRef a take() method semantically equivalent to already_AddRefed::take(); r=froydnj
This is in preparation of removing TemporaryRef.  It should help make
already_AddRefed a drop-in replacement for it.
2015-01-05 11:32:37 -05:00
Milan Sreckovic 3c6462cb13 Bug 1095510 - See if ClearRect has weird data. r=jmuizelaar 2014-12-19 16:06:15 -05:00
Nicholas Nethercote dee00140c0 Bug 1113037 - Use stack allocation in DrawTargetCairo::FillGlyphs() in the common case. r=mattwoodrow.
--HG--
extra : rebase_source : f6270322664121cec3c82a7448c80963df6b0e5f
2014-12-18 21:23:28 -08:00
Milan Sreckovic 8445ba0749 Bug 1101685 - Optionally assert in loggers, default to true on gfxCriticalError. Clean up the calls where large texture sizes were triggering the asserts in tests. r=nical 2014-12-17 17:54:04 -05:00
James Willcox 18fac679db Bug 1049138 - Use the cairo surface format to determine gfx format when able r=jmuizelaar
--HG--
extra : histedit_source : 9027bee76ab792d29a920bffb6443f40e6a35e13
2014-12-17 15:49:57 -06:00
Carsten "Tomcat" Book f901cbe58a Backed out changeset 8b751f12a3ad (bug 1101685) for windows 7 debug crashtest/reftest crashes 2014-12-17 12:56:04 +01:00
Milan Sreckovic 0b0239db58 Bug 1101685 - Optionally assert in loggers, default to true on gfxCriticalError. Clean up the calls where large texture sizes were triggering the asserts in tests. r=nical 2014-12-16 13:22:26 -05:00
Milan Sreckovic 8aa1b59e6c Bug 1095925: Propagate the error up the chain. r=jmuizelaar 2014-11-14 16:11:02 -05:00
Jonathan Watt 307ac4cb7f Bug 1083755 - Port the CAIRO_COORD_MAX code in nsRenderingContext::FillRect to DrawTargetCairo::FillRect. r=Bas, a=kwierso 2014-11-06 22:07:36 +00:00
Jeff Muizelaar 1ba41a49b3 Bug 1072847 - Initialize mSurface. r=BenWa
--HG--
extra : rebase_source : abd536b8cd2e91c28ea0cd09e21a12da1e8dcee1
2014-10-28 10:08:25 -04:00
Michael Wu 4ca86f8969 Bug 1082745 - Avoid reoptimizing optimized SourceSurfaceCairos, r=bas 2014-10-15 17:13:14 -04:00
Mason Chang 4b2df54aa2 Bug 1056340 - Clip viewport fixed position overflow to scroll frame. r=roc 2014-09-23 09:44:00 -04:00
Bas Schouten b80e27d67f Bug 1069584: Bail if a cairo surface is in an invalid state. r=jrmuizel 2014-09-19 00:01:24 +02:00
Bas Schouten 01be2f7434 Bug 1068613 - Part 4: Log failures in CairoCreateSimilar. r=jrmuizel 2014-09-17 23:23:09 +02:00
Matt Woodrow c71a91908f Bug 1062723 - Part 2: Implement source clipping for DrawTargetCairo. r=Bas
--HG--
extra : rebase_source : 9e02e1e91c3bcd455640a1f60e4da673302c5cf1
2014-09-12 17:11:36 +12:00
Ehsan Akhgari 3cc9664125 Bug 1060802 - Fix some more bad implicit constructors in gfx; r=roc 2014-08-31 23:31:20 -04:00
Matt Woodrow 7c24945392 Bug 1053934 - Don't use the cairo context to create similar surfaces since it might be in an error state. r=jrmuizel 2014-08-28 16:07:43 +12:00
Matt Woodrow a021626551 Bug 1051592 - Clip DrawTargetCairo's context to the surface bound to prevent massive mask allocations within cairo. r=jrmuizel 2014-08-15 14:23:22 +12:00
Ryan VanderMeulen 32e4c3bc63 Backed out changeset 028c43cd12a5 (bug 1051592) for Windows bustage.
CLOSED TREE
2014-08-15 00:37:46 -04:00
Matt Woodrow 0e61a0217b Bug 1051592 - Clip DrawTargetCairo's context to the surface bound to prevent massive mask allocations within cairo. r=jrmuizel
--HG--
extra : rebase_source : 89bc9dd9c4d5120c73b025d5106827594fac6663
2014-08-15 14:23:22 +12:00
Nicolas Silva 5cfb339954 Bug 1025138 - Integrate DrawTargetTiled preffed off. r=mattwoodrow 2014-08-06 14:40:03 +02:00
Matt Woodrow 7da54f591c Bug 1035168 - Use Map api to check if DataSourceSurfaces have data available in DrawTargetCairo. r=Bas 2014-07-09 13:53:48 +12:00