Commit Graph

830 Commits

Author SHA1 Message Date
Michael Layzell
8b08edab66 Bug 1192130 - Part 2: Use MOZ_NON_AUTOABLE to validate the usage of already_AddRefed, r=ehsan 2015-08-14 17:33:54 -04:00
Aryeh Gregor
c352c94520 Bug 1193298 - Part 3: Delete RefPtr<T>::operator T*()&&. r=froydnj
I put MOZ_HAVE_REF_QUALIFIERS in Attributes.h for lack of a better
place.  I didn't especially want to make a whole new file for it.

To make the tree compile, support for moving RefPtr to nsRefPtr was
needed.  I chose to put the definitions in RefPtr.h instead of
nsRefPtr.h because RefPtr.h looks to be included in fewer files, so I
preferred to bloat fewer files with the extra include.

For some reason operator!() wasn't necessary here, although it seems it
is for nsRefPtr.
2015-08-11 06:45:00 -04:00
Aryeh Gregor
f382bc9200 Bug 1179451 - Part 5: Delete nsRefPtr<T>::operator T*()&&. r=froydnj 2015-08-13 15:22:48 +03:00
Nathan Froyd
349b3d497a Bug 1193005 - delete unused function nsRefPtr::begin_assignment; r=erahm
We don't use it; the getter_AddRefs overload for nsRefPtr uses
StartAssignment, which is the same thing.
2015-08-11 00:23:33 -04:00
Michael Layzell
32ec5dc140 Bug 885515 - Part 2: Add MOZ_HEAP_CLASS to mfbt, r=ehsan 2015-08-09 12:42:11 -04:00
Nick Fitzgerald
e8b315de6c Bug 1186693 - Add exhaustive matching to mozilla::Variant; r=Waldo 2015-08-08 16:43:35 -07:00
Nathan Froyd
7188e1bbca Bug 1189894 - remove Atomics.h IntrinsicAddSub hack; r=erahm
This hack was only required for broken headers in GCC 4.6.  Since we
only support GCC 4.7+ now, this hack is no longer necessary.
2015-07-31 22:25:21 -04:00
Botond Ballo
4a77fdbb9e Bug 1056356 - Add support for nsRefPtr<const T>. r=froydnj 2015-08-05 13:52:06 -04:00
Aryeh Gregor
a3c0771347 Bug 1190823 - Move OwningNonNull.h to xpcom/base/; r=froydnj 2015-08-05 15:28:27 +03:00
Makoto Kato
4b306660cb Bug 1190313 - Set MOZ_HAVE_EXPLICIT_CONVERSION on VS2015. r=nfroyd 2015-08-05 17:14:42 +09:00
James Cheng
93eb81cff3 Bug 1189231 - Refine operator() call with perfect forwarding. r=nfroyd 2015-07-30 21:16:00 -04:00
Michael Layzell
d070709c54 Bug 1187073 - Use MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS to validate the usage of AlignedStorage2. r=ehsan 2015-07-31 13:59:00 -04:00
Muhsin Ali Steiman
e399be8e28 Bug 1188895 - Replace U+0A00 with U+0200 in MacroForEach.h. r=Ms2ger 2015-08-01 00:36:00 -04:00
James Cheng
1e66e2028a Bug 975246 - Part1 - Implement operator->* in nsRefPtr. r=nfroyd, r=gerald 2015-07-29 19:47:00 +02:00
Bobby Holley
106e778c81 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Ehsan Akhgari
28032343dd Bug 1188204 - Fix more constructors in MFBT; r=froydnj 2015-07-28 12:24:39 -04:00
Oliver Henshaw
f0a68f98ca Bug 1186126 - Note incompatibility with NSPR printf-like functions. r=nfroyd
printf-like functions
2015-07-27 10:08:00 +02:00
Liang-Heng Chen
4acd801361 Bug 1185706 - support Tie() for mozilla::Pair. r=froydnj 2015-07-24 00:42:00 +02:00
Ehsan Akhgari
80e818c7ad Bug 1159433 - Part 2: Add the MOZ_NON_MEMMOVABLE and MOZ_NEEDS_MEMMOVABLE_TYPE macros to MFBT; r=froydnj 2015-07-24 19:15:18 -04:00
Michael Layzell
8b87634b54 Bug 1123907 - Part 2: Add MOZ_NEEDS_NO_VTABLE_TYPE to Attributes.h, and use it to verify the EntryType argument of nsTHashtable; r=ehsan 2015-07-24 19:14:09 -04:00
Nick Fitzgerald
b617878aef Bug 1186650 - Do not mark mozilla::Variant copy and move constructors as explicit. r=Waldo 2015-07-22 14:49:00 -04:00
Liang-Heng Chen
db840bd7a1 Bug 1186315 - Fix TestTuple error and add it into testing list. r=nfroyd 2015-07-21 22:54:00 +02:00
Makoto Kato
5b5ffe9631 Bug 1007050 - Remove std::isinf workaround for MSVS. r=Waldo 2015-07-23 14:52:29 +09:00
David Major
486abe85e1 Bug 1185686: Fix Atomics.h ifdefs for clang-cl. r=froydnj 2015-07-20 17:04:46 -04:00
Botond Ballo
e81bbdf989 Bug 1184385 - Add a Tie() utility function for tuples (the equivalent of std::tie()) to MFBT. r=froydnj 2015-07-18 03:48:39 -04:00
Nick Fitzgerald
74215e3709 Bug 1184235 - Add mozilla::Vector::emplaceBack; r=froydnj 2015-07-20 11:13:28 -07:00
Nick Fitzgerald
23b2dd138f Bug 1184839 - Provide an overloaded == operator for mozilla::Variant; r=Waldo 2015-07-19 16:32:00 +02:00
Jeff Gilbert
75a1ce4070 Bug 1182370 - _BitScan* does not modify *pIndex if input is zero. - r=waldo 2015-07-17 10:24:30 -07:00
Jeff Gilbert
39d3e5cddc Bug 1177887 - Deref *after* changing the value held by RefPtr. - r=waldo 2015-07-16 17:15:44 -07:00
Benoit Girard
2e648924e7 Bug 1182516 - Add Chaos Mode environment variable MOZ_CHAOSMODE. r=roc 2015-07-14 17:29:23 -04:00
Birunthan Mohanathas
e52329c788 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
Michael Layzell
1a947e7297 Bug 1180993 - Part 2: Add the MOZ_MUST_USE attribute to mfbt, and use it to verify usage of already_AddRefed. r=ehsan 2015-07-06 21:42:00 -04:00
Steve Fink
7eba9889ce Bug 1180299 - Implement ScopeExit for running actions at the end of a scope, r=Waldo 2015-07-03 14:20:55 -07:00
Xidorn Quan
1e6359f6d7 Bug 1175485 part 4 - Add unit test for integer range. r=waldo 2015-07-02 13:31:07 +10:00
Xidorn Quan
35b2239278 Bug 1175485 part 3 - Remove unused operators, typedefs and IteratorTraits. r=waldo 2015-07-02 13:31:07 +10:00
Xidorn Quan
3f14e188e0 Bug 1175485 part 2 - Add static_assert to MakeRange to ensure it is used with integers. r=waldo 2015-07-02 13:31:07 +10:00
Xidorn Quan
2884d76b1c Bug 1175485 part 1 - Allow inner iterator of ReverseIterator deref to any type, and change IntegerIterator, EnumeratedRange, and nsFrameList::Iterator to return value type instead of a reference. r=roc,waldo 2015-07-02 13:31:07 +10:00
Nathan Froyd
51fdfa32f5 Bug 1161627 - part 3 - remove TemporaryRef<T> from RefPtr.h; r=ehsan 2015-05-05 13:22:12 -04:00
Nathan Froyd
46d6f38e68 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
Nick Fitzgerald
8583ece95d Bug 1174906 - Add a mozilla::Variant<T1, T2, ...> template class; r=Waldo 2015-06-30 10:01:00 -07:00
Markus Stange
0528311764 Bug 1165185 - Try to avoid invalidations when scrolling transformed elements. r=roc 2015-06-15 19:20:59 -04:00
Nicholas Nethercote
9d4dcf615a Bug 1174046 - Fix PLDHashTable::Iterator in chaos mode again. r=froydnj, a=philor
CLOSED TREE

If you use PLDHashTable::Iterator in chaos mode with a table with zero
capacity, a |% 0| operation takes place in randomUint32LessThan. This change
avoids that.
2015-06-11 18:23:26 -07:00
Nathan Froyd
3d34ab1a0b Bug 1161627 - part 1 - add move constructor and assignment operator for already_AddRefed&& to RefPtr; r=ehsan
This change is prep work for future mass rewriting.
2015-05-05 13:02:21 -04:00
Kartikaya Gupta
1b00006d7a Bug 1164218 - Allow running individual mochitests and reftests in chaos mode. r=roc,froydnj 2015-06-04 13:44:55 -04:00
Michael Layzell
14e80467b9 Bug 1169337 - Clarify MOZ_{NON_,}OWNING_REF/MOZ_UNSAFE_REF documentation. r=froydnj 2015-06-01 14:44:00 -04:00
Milan Sreckovic
a5295afcda Bug 1131463 - Report AtomicRefCounterWithFinalize doing the wrong thing with AddRef and Release in release build as well. r=sotaro 2015-05-29 16:41:28 -04:00
Bobby Holley
4417102168 Bug 1168008 - Make IsConvertible handle void. r=gerald 2015-05-28 16:03:08 -07:00
Mike Hommey
2c863b9fe4 Bug 991983 - Define SOURCES as SourcePath. r=gps 2015-05-28 07:34:15 +09:00
Kartikaya Gupta
3cb1d2d0cc Bug 1160285 - Add a staticruntime version of mfbt and link some stuff against it. r=glandium 2015-05-27 17:22:29 -04:00
Botond Ballo
0fe06cffa0 Bug 1119980 - Use 'snprintf' instead of 'sprintf' to avoid a warning on Lollipop-based builds. r=froydnj 2015-05-26 14:33:55 -04:00