Commit Graph

136 Commits

Author SHA1 Message Date
David Anderson
30e9c14eff Null-check D3D10 devices in a few places. (bug 1225645, r=bas) 2015-11-19 15:04:46 -08:00
Phil Ringnalda
04f94361ed Back out changeset 98bd7a8e4705 (bug 1225645) for Windows build bustage
CLOSED TREE
2015-11-18 18:48:14 -08:00
David Anderson
ca5b902f03 Null-check D3D10 devices in a few places. (bug 1225645, r=bas) 2015-11-18 12:16:54 -08: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
Milan Sreckovic
2ef858355b Bug 1182209 - Additional info with some critical errors. r=mchang
CLOSED TREE
2015-07-14 15:22:29 -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
Andreas Pehrson
f9165d38d7 Bug 1162357 - Convert some usage of DataSourceSurface::GetData() to Map(). r=bas
--HG--
extra : rebase_source : aebb45613926c64355e5b193bc79166cf04292be
2015-06-10 19:01:00 +08:00
David Major
eb73e64e7c Bug 1173107: Add hexa() around various hr logging. r=jrmuizel a=KWierso 2015-06-09 16:48:59 -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
Milan Sreckovic
37797d57bf Bug 1130195: Report the failed bitmap creation, but still crash. r=bschouten 2015-02-25 17:44:56 -05:00
Markus Stange
6e4e723923 Bug 1092634 - Let feColorMatrix and feComponentTransfer generate output outside their input's bounds. r=Bas
This makes the color matrix and component transfer Moz2D filters generate
an infinite output, which is then cropped to the primitive's filter
primitive subregion by a subsequent crop filter node. This still gives us
different behavior than other browser when the primitive subregion is
overridden using the x/y/width/height attributes - other browsers either
ignore those completely (IE) or only let them crop the default subregion
(which is defined to be the same as the input subregion) and not enlargen
it - but I'll fix that in a separate bug.
2015-02-09 14:04:11 -05:00
Bas Schouten
11de23359f Bug 1089454: Prevent usage of incompatible graphics objects after device reset. r=jrmuizel 2015-01-28 00:54:19 +00:00
Bas Schouten
6551fc8ba4 Bug 1114398 - Part 1: Make Direct2D paths specifically typed to a backend type. r=jrmuizel 2015-01-08 00:10:48 +00:00
Ryan VanderMeulen
20d7991ef8 Bug 1114577 - GFX cleanups now that Windows SDK 8.1 is the minimum supported version. r=jmuizelaar, r=glandium 2015-01-07 11:32:07 -05: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
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
Bas Schouten
f62c69e9d3 Bug 892910: Deal with newSize becoming empty in CreatePartialBitmapForSurface. r=BenWa
This patch deals with the situation where newSize becomes empty and causes a division by 0 in the current code. It also ensures all the callers will abort any potential drawing when CreatePartialBitmapForSurface returns a nullptr.
2014-11-20 20:48:01 +00:00
Nicolas Silva
cc878d2bd9 Bug 1086670 - Add some gfxCriticalError logs around DrawTarget creation. r=Bas 2014-11-20 15:48:07 +01:00
Jacek Caban
6df0dc3d0a Bug 1068195 - Fix an invalid MOZ_ASSERT in moz2d code, asserting the value of a constant string pointer. r=jrmuizel 2014-11-19 11:08:14 +01:00
Matt Woodrow
04920ac4b0 Bug 1075616 - Do partial uploads of non-D2D SourceSurfaces when we have a sampling rect. r=Bas
--HG--
extra : rebase_source : d08b5d3d515484ebc0f8a3be774d66c3b881a8d4
2014-09-24 13:23:15 -04:00
Markus Stange
9e1c33c018 Bug 983574 - When setting a SourceSurface input on a FilterNodeD2D1, delay the conversion to ID2D1Image until the actual DrawFilter call. r=Bas 2014-09-25 15:18:29 -04:00
Nicolas Silva
a318a426b4 Bug 1070018 - Log HRESULT error codes as hexadecimal values rather than signed integers. r=Bas 2014-09-23 11:35:39 -04:00
Bas Schouten
31c3a34f20 Bug 1071045: Report error codes and size/format information to D2D error reporting. r=nical 2014-09-22 19:33:04 +00:00
Bas Schouten
3022f3b91f Bug 1069592: Annotate several more Direct2D errors. r=jrmuizel 2014-09-19 00:01:25 +02:00
Ryan VanderMeulen
41c82d525f Backed out changeset 0cc9fcdca191 (bug 1068195) for Windows crashtest asserts.
CLOSED TREE
2014-09-17 20:47:35 -04:00
Ehsan Akhgari
27838f10b2 Bug 1068195 - Fix an invalid MOZ_ASSERT in moz2d code, asserting the value of a constant string pointer; r=jrmuizel 2014-09-17 17:54:43 -04:00
Nicolas Silva
fbfe674e91 Bug 1068613 - Part 3: Log failures in D2D, D2D 1.1 and the D3D11 TextureClient. r=bas 2014-09-17 23:23:09 +02:00
Bas Schouten
0920068608 Bug 1066670: Deal with a failed brush creation by drawing transparent black. r=jrmuizel 2014-09-14 23:51:34 +02:00
Bas Schouten
fe58303a8a Bug 1066668: Do not attempt to interop with D2D 1.1 inside D2D 1.0. r=jrmuizel 2014-09-14 23:51:34 +02:00
Matt Woodrow
f88faad335 Bug 1062723 - Part 5: Implement source clipping for DrawTargetD2D. r=Bas
--HG--
extra : rebase_source : d1d1a33f3007f92055488d79c6cdc039efe48a25
2014-09-12 17:19:23 +12:00
Nicolas Silva
79f2cf5d6d Bug 1061696 - Don't crash release builds when failing to allocate a surface in AutoRestoreClippedOut::save. r=Bas 2014-09-11 17:27:48 +02:00
Botond Ballo
a5db405d9f Bug 1057642 - Revert [Int]::PointTyped::[x|y] to be of primitive type. r=kats
--HG--
extra : rebase_source : 55e56423f6c8f5278315a6dc9dfcb9fb983c9309
2014-08-28 12:45:48 -04:00
Botond Ballo
ffebd18f0b Bug 923512 - Introduce strongly-typed coordinate classes. r=kats,Bas
--HG--
extra : rebase_source : 22e5fe577ea503aede765c70e16c0bf875c4a9fd
2014-08-19 13:08:16 -04:00
Jonathan Watt
c90e727466 Bug 1024983 - Stop addrefing and releasing excessively in the Moz2D code in functions that return a TemporaryRef. r=mstange 2014-06-13 17:09:23 +01:00
Matt Woodrow
d8e88266a3 Bug 997551 - Avoid copying data in GetSourceSurfaceForSurface whenever possible. r=Bas 2014-04-25 15:31:53 +12:00
Matt Woodrow
6b0c6f1f73 Bug 996929 - Implement OptimizeSourceSurface for all Moz2D backends. r=Bas 2014-04-17 12:45:25 +12:00
Markus Stange
6122161e8f Bug 982698 - Make FilterNodeD2D1 support DataSourceSurface input surfaces. r=Bas 2014-04-15 23:45:11 +01:00
Jonathan Watt
8e4c4665a0 Bug 982884 - Make DrawTargetD2D::GetBitmapForSurface correctly handle fractional source rect for data surfaces. r=Bas 2014-03-13 09:58:22 +00:00
Ehsan Akhgari
9f44a4933c Bug 977279 - Add a missing initguid.h include to DrawTargetD2D.cpp 2014-02-28 10:42:23 -05:00
Masatoshi Kimura
8ddf7de8a5 Bug 969918 - Use decltype to declare pointers for dynamic-loaded functions. r=jimm sr=roc 2014-02-18 07:32:52 +09:00
Brian Smith
6677116ee0 Bug 958906: Remove reliance on implicit conversion from enum types to integers to fix VS2013 build bustage, r=bjacob
--HG--
extra : rebase_source : 2e197e5f74cf20eae6f9b1801056d0438e527696
2014-01-11 22:26:20 -08:00
Benoit Jacob
f447d87c57 Bug 958375 - 8/9 - Make remaining Moz2D enums typed - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:17 -05:00
Benoit Jacob
6660086ef4 Bug 958375 - 7/9 - Make Font-related enums typed - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Benoit Jacob
ccaa35314d Bug 958375 - 6/9 - Make BackendType and NativeSurfaceType typed enums - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Benoit Jacob
a1e7c32630 Bug 958375 - 4/9 - Make SurfaceFormat a typed enum - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Benoit Jacob
80ebacd7e6 Bug 958375 - 1/9 - Make SurfaceType a typed enum - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 13:55:24 -05:00