Ehsan Akhgari
a9b1426983
Bug 1015430 - Fix more XPCOM constructors to clarify whether they should be explicit; r=froydnj
2014-05-25 21:16:01 -04:00
Nathan Froyd
e12481c9a7
Bug 984443 - get rid of #ifndef $OTHER_HEADER bits from xpcom/ as relics of a bygone era; r=ehsan
2014-03-17 12:20:47 -04:00
Kyle Huey
7067fb5db1
Bug 345123: Remove nsGetterAddRefs<T>'s operator nsISupports**. r=bsmedberg
2014-03-15 12:00:17 -07:00
Kyle Huey
84360900b0
Bug 967364: Pass already_AddRefed by reference instead of by value. r=bsmedberg
2014-03-15 12:00:17 -07:00
Kyle Huey
e78b977cbc
Bug 967364: Use every already_AddRefed. r=bsmedberg
2014-03-15 12:00:16 -07:00
Kyle Huey
c49e590515
Bug 967364: Privatize already_AddRefed::mRawPtr. r=bsmedberg
2014-03-15 12:00:15 -07:00
Kyle Huey
510a49016d
Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg
2014-03-15 12:00:15 -07:00
L. David Baron
4f04bcdc57
Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
...
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Nathan Froyd
a6e810d1ba
Bug 976161 - delete dead NSCAP_DISABLE_TEST_DONTQUERY_CASES code; r=bsmedberg
2014-02-24 13:02:43 -05:00
Jeff Walden
b01c238639
Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
...
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer. (Examples are provided in NullPtr.h comments.) The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes. This problem is unavoidable without true nullptr. Currently, the only valid use for NullptrT is believed to be in operator overloads. All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.
--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
2014-01-02 17:27:41 -06:00
Birunthan Mohanathas
4dce3f3fa6
Bug 784739 - Switch from NULL to nullptr in xpcom/ (2/3); r=ehsan
2013-10-10 16:41:39 -04:00
Ehsan Akhgari
5ee21d6d3f
Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
...
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:
# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.cc" \
-o -iname "*.mm" \) | \
xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
modules/libmar/src/mar_private.h \
modules/libmar/src/mar.h
# assert_replacer.py
#!/usr/bin/python
import sys
import re
pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")
def replaceInPlace(fname):
print fname
f = open(fname, "rw+")
lines = f.readlines()
for i in range(0, len(lines)):
while True:
index = re.search(pattern, lines[i])
if index != None:
index = index.start()
lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
for j in range(i + 1, len(lines)):
if lines[j].find(" ", index) == index:
lines[j] = lines[j][0:index] + lines[j][index+4:]
else:
break
else:
break
f.seek(0, 0)
f.truncate()
f.write("".join(lines))
f.close()
argc = len(sys.argv)
for i in range(1, argc):
replaceInPlace(sys.argv[i])
--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Ms2ger
db26bfced0
Bug 213324 - Remove getter_AddRefs(T*); r=ehsan
2013-07-10 11:56:21 +02:00
Aryeh Gregor
99703ffbe7
Bug 859817 - Eliminate implicit conversion from raw pointer to already_AddRefed; r=bz sr=bsmedberg
2013-04-10 17:22:53 +03:00
Aryeh Gregor
659b807986
Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger
2013-04-22 14:15:59 +03:00
Aryeh Gregor
eecc44edc5
Bug 859817 - Introduce already_AddRefed.downcast(); r=ehsan
2013-04-21 14:56:06 +03:00
Joshua Cranmer
a74766f285
Bug 856108 - Port static analyses to clang, part 2f: use MOZ_STACK_CLASS in xpcom. r=bsmedberg
2013-04-11 22:21:40 -05:00
Boris Zbarsky
07a59e8ded
Bug 857645. Make it possible to copy-initialize an nsCOMPtr<T> from an already_AddRefed<U> as long as U inherits from T. r=ehsan
2013-04-03 22:33:34 -04:00
Phil Ringnalda
177cee569f
Back out 8396d7543197 (bug 857645) for build bustage
...
CLOSED TREE
2013-04-04 22:27:19 -07:00
Boris Zbarsky
05d3fe3059
Bug 857645. Make it possible to copy-initialize an nsCOMPtr<T> from an already_AddRefed<U> as long as U inherits from T. r=ehsan
2013-04-05 00:57:39 -04:00
Trevor Saunders
e3b2aa92a5
bug 822717 - remove checks for old gcc r=glandium
2012-12-18 13:22:28 -05:00
Benoit Jacob
ee1217da86
Bug 806279 - CC macros refactoring: part 3: fold the TRAVERSE_NATIVE and AMBIGUOUS cases - r=mccr8,smaug
2012-11-15 02:32:39 -05:00
Benoit Jacob
4a50000d0e
Bug 806279 - CC macros refactoring: part 1: implement type-generic CC UNLINK/TRAVERSE macros - r=mccr8,smaug
2012-11-15 02:32:39 -05:00
Makoto Kato
222556a3d5
Bug 786579 - Remove old MSVC (<=2003) support. r=khuey
2012-09-28 16:02:40 +09:00
Joshua Cranmer
4b8f318e78
Bug 773637 - Kill NS_SCRIPTABLE annotations, Part 1: Remove NS_*PARAM annotations. r=ehsan
...
--HG--
extra : rebase_source : a0b4bc50fece36d9a90fed61431635948bfa33b5
2012-07-06 15:14:07 -05:00
Ehsan Akhgari
04e53539b4
Backout changeset 34c8a2369cbc (bug 771266) because the fastcall annotation actually matters
2012-07-05 18:19:07 -04:00
Ehsan Akhgari
910d251f2f
Bug 771266 - Part 2: Remove the fastcall annotation from ~nsCOMPtr_base, because it doesn't mean anything now that it's inline; irc-r=Neil
2012-07-05 16:26:59 -04:00
Ehsan Akhgari
32a035f454
Bug 771266 - Inline nsCOMPtr_base's destructor; r=jlebar
2012-07-05 15:12:13 -04:00
L. David Baron
9e9f3a474a
Back out half of the previous patch for bug 709747, since the nsCOMPtr<nsISupports>::forget(nsISupports**) specialization is substantially different from nsCOMPtr<T>::forget(I**), and uses swap which already does the needed logging.
2012-06-29 22:50:45 -07:00
Kyle Huey
08ad5220dd
Bug 709747: Fix COMPtr logging for .forget(). r=dbaron
2012-06-29 10:10:31 -07:00
Jonathan Watt
6380335603
Bug 767388 - Kill NS_DEBUG. r=bz.
...
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Marco Bonardo
13014e7f1c
Bug 718999 - make "You can't dereference a NULL nsCOMPtr" assertions fatal.
...
r=bsmedberg
2012-01-24 20:37:48 +01:00
Ms2ger
87dae851e7
Bug 709747 - Support nsCOMPtr<T>::forget(I**); r=bsmedberg
2011-12-18 10:39:22 +01:00
Ehsan Akhgari
a544dace2d
Bug 710473 - Backout the nsDerivedSafe part from bug 666414 to make PGO builds on Windows work again; r=roc (cause he volunteered) a=xul-diet
2011-12-13 20:03:24 -05:00
Andrew Quartey
faa8be8d82
Bug 706010 - Remove NS_SPECIALIZE_TEMPLATE and HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX; r=khuey a=cleanup/removal
2011-12-13 14:17:59 +00:00
Jeff Walden
3d8e7a0d23
Bug 707352 - Remove NS_FINAL_CLASS completely. r=cjones
2011-12-05 17:10:05 -05:00
Jeff Walden
19f38bafe5
Bug 704127 - Implement MOZ_FINAL as a modifier for classes and virtual member functions. r=cjones
...
--HG--
extra : rebase_source : d95a3b3e726f810f299314358ba8c5e23557698e
2011-11-20 22:21:16 -08:00
Ehsan Akhgari
7e4b277a75
Bug 689397 - Work around the broken-ness of gcc4.2 on Mac which causes the protection implemented in bug 666414 not take effect; r=bsmedberg
2011-09-26 20:45:25 -04:00
Aditya Bhatt
126fa835f9
Bug 689301 - Compile error in nsTimerImpl.cpp with gcc 4.6.0 on Fedora core 15 x64; r=espindola
2011-09-27 17:11:03 -04:00
Ehsan Akhgari
b542efd4e6
Bug 666414 - Prevent AddRef and Release from being called on the pointers wrapped in nsCOMPtr and nsRefPtr; r=bsmedberg
2011-09-16 16:22:44 -04:00
Matheus Kerschbaum
3bcb2143b6
Bug 680625 part 0b: Remove more workarounds for past century compilers. r=ted
2011-08-26 00:35:13 +01:00
Chris Jones
ccb97b45d7
Bug 570912: Allow already_AddRefed<T> to be coerced to already_AddRefed<U> when T can be coerced to U. r=dbaron
2010-06-21 15:35:49 -05:00
Boris Zbarsky
e02c1954a4
Bug 523651. Add a CallQueryInterface that works well with nsCOMPtr. r=bsmedberg
2009-10-23 16:24:47 -04:00
Peter Van der Beken
5027e033b5
Fix for bug 481677 (Avoid hash lookups in XPCWrappedNative::GetNewOrUsed). r=bz, sr=jst.
...
--HG--
extra : rebase_source : 6062975766022118372d2e52f81659f87276b8ec
2009-03-18 19:02:48 +01:00
Peter Van der Beken
69e9aba8c8
Backing out f385e435c082, fix for bug 481677 (Avoid hash lookups in XPCWrappedNative::GetNewOrUsed), to try to fix orange.
2009-03-19 14:05:26 +01:00
Peter Van der Beken
f6b313dc83
Fix for bug 481677 (Avoid hash lookups in XPCWrappedNative::GetNewOrUsed). r=bz, sr=jst.
...
--HG--
extra : rebase_source : 9e25f0d56df57d65559e18acd49412e3e164821e
2009-03-18 19:02:48 +01:00
Benjamin Smedberg
8e93542d35
Bug 469072 - Annotations in XPCOM, and a couple related code fixups, to make outparams spit out useful warnings, r=bent
2008-12-11 15:13:52 -05:00
Henry Jia
2b7c0d663c
Bug 178189 - |nsCOMPtr|: do we still care about VC++4.2? and if not, can we remove this comment; r=(scc + benjamin)
2008-09-29 00:17:30 +02:00
Benjamin Smedberg
e8fa485944
From bug 449561, bug 445949, and others: let's just ditch nsDerivedSafe since the class of errors it's trying to protect against are uncommon in today's world. r=dbaron
2008-08-11 11:05:58 -04:00