Nathan Froyd
a2f2f68970
Bug 1161627 - part 3 - remove TemporaryRef<T> from RefPtr.h; r=ehsan
2015-05-05 13:22:12 -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
Nathan Froyd
123e1631f7
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
Milan Sreckovic
b05ff05c6a
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
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
2e9c6d19f2
Bug 1116905 - part 4 - remove implicit conversion from non-nullptr T* to TemporaryRef<T>; r=ehsan
2015-04-30 15:21:05 -04:00
Nathan Froyd
334eeef68e
Bug 1116905 - part 2 - add MakeAndAddRef helper function to facilitate constructing TemporaryRef; r=Ms2ger
...
With implicit conversion to TemporaryRef going away, one can no longer write:
return new T(...);
in a function returning TemporaryRef<T>. Instead, provide MakeAndAddRef
to prevent people from having to construct boilerplate RefPtrs or
similar. It also makes converting from TemporaryRef to already_AddRefed
somewhat easier.
2015-04-30 15:19:49 -04:00
Randall Barker
c236b48231
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
...
--HG--
extra : rebase_source : 93f11457b16b344e148a6fcb924b286ef8a48051
2015-04-03 15:52:00 +02:00
Wes Kocher
e226c762ee
Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
...
--HG--
extra : amend_source : 047ed43008cea68775c544cdf0df2819cfb24589
2015-04-02 13:42:34 -07:00
Randall Barker
683155c363
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC r=froydnj
2015-04-02 12:12:37 -07:00
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ehsan Akhgari
0da19b297b
Bug 1121489 follow-up: Addresss the review comment
2015-01-19 09:07:57 -05:00
Ehsan Akhgari
5e8e593966
Bug 1121489 - Make it possible to construct a RefPtr from an already_AddRefed; r=froydnj
...
This will pave the way towards having a MakeAndAddRef function
that returns an already_AddRefed and can be used in graphics code.
2015-01-19 09:00:01 -05:00
Masatoshi Kimura
bf312ad056
Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo
2015-01-11 11:34:52 +09:00
Ehsan Akhgari
4354953b4f
Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo
...
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:
#!/bin/bash
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "*/.git*" \
! -wholename "obj-*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Ehsan Akhgari
860da94550
Bug 1114999 - Part 2: Apply MOZ_NO_ADDREF_RELEASE_ON_RETURN to all smart pointer arrow operators that can return refcounted objects; r=jrmuizel
2015-01-06 16:30:03 -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
Ehsan Akhgari
339c337cc5
Bug 1117036 - Make it possible to optionally mark functions defined by MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME as MOZ_OVERRIDE; r=froydnj
2015-01-05 11:28:55 -05:00
Ehsan Akhgari
9297631e0b
Bug 1114880 follow-up: Rename MOZ_{STRONG,WEAK}_REF to MOZ_{OWNING,NON_OWNING}_REF
...
--HG--
extra : rebase_source : 51fff0785d112b5b87be3c6ff723c8986b37effe
2014-12-23 21:17:50 -05:00
Ehsan Akhgari
cef42d50e5
Bug 1114979 - Annotate some strong and weak references in MFBT; r=froydnj
...
--HG--
extra : rebase_source : 63d9ca59f8f6be06efd087600c8fd5c5f52e5cd1
2014-12-23 17:26:28 -05:00
Nicholas Nethercote
6548e9518e
Bug 1045920 (part 2) - Add mfbt/tests/TestRefPtr.cpp. r=froydnj.
2014-07-30 06:59:52 -07:00
Nicholas Nethercote
2a0942be41
Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
...
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Ehsan Akhgari
29433bf8d1
Bug 1026718 - Expand MOZ_DECLARE_REFCOUNTED_TYPENAME unconditioanlly in order to make it available outside of libxul as well; r=Waldo
2014-06-18 20:11:21 -04:00
Ehsan Akhgari
8b30e40485
Bug 1013662 - Fix bad implicit conversion constructors in MFBT; r=froydnj,Waldo
2014-06-06 23:17:06 -04:00
Ehsan Akhgari
7257ee5010
Bug 1004564 - Move AtomicRefCounted to mozilla::external and outlaw it in Gecko code; r=froydnj
2014-05-01 14:33:20 -04:00
Ehsan Akhgari
fceee9b5aa
Bug 985878 - Make AtomicRefCounted thread safe; r=khuey
2014-03-25 09:02:26 -04:00
Ehsan Akhgari
8cd0c0f21d
Bug 935778 - Part 3: Add trace-refcount logging for AddRef and Release in RefCounted objects; r=dbaron
2014-03-09 14:36:36 -04:00
Ehsan Akhgari
9c823473c2
Bug 935778 - Part 0.7: Emit the correct type name from FilterNodeLightingSoftware; r=jrmuizel, parts r=dbaron
2014-02-26 10:13:48 -05:00
Ehsan Akhgari
677b8c872c
Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
2014-02-24 21:08:51 -05:00
Ehsan Akhgari
0db909c03c
Backed out changeset f74c9326b89c (bug 976247) because I landed the wrong patch :(
2014-02-24 21:07:37 -05:00
Ehsan Akhgari
c102d49715
Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
...
--HG--
extra : rebase_source : e73444ec000f1e867651d39cf2aa6beaf88bf4f3
2014-02-24 19:37:34 -05:00
Ehsan Akhgari
e1b60f2947
Bug 935778 - Part 0.6: Add support for MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME and use it in moz2d
...
X-Git-Commit-ID: bc256ac44cbba52b04f8f0390965632ec4507608
2014-02-24 08:23:37 -05:00
Ehsan Akhgari
e4ed013f53
Bug 935778 - Part 1.1: Re-add the refcount assertions for AddRef(), and make the assertions for Release() use a signed integer
2014-02-22 11:23:03 -05:00
Ehsan Akhgari
a8a0206da1
Bug 935778 - Part 1: Add RefCountType, a type compatible with nsrefcnt, to MFBT; r=dbaron,froydnj
2014-02-21 14:45:50 -05:00
Ehsan Akhgari
5704b555e2
Bug 935778 - Part 0.2: Spray some MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree
2014-02-20 21:33:49 -05:00
Seth Fowler
f9cdc752b1
Bug 912299 - Make RefCounted's refcount field mutable. r=waldo
2013-09-06 13:32:55 -07:00
Ehsan Akhgari
2824b29025
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
51f391870b
Bug 896341 - Update include guards and modelines in MFBT; r=Waldo
2013-07-24 09:41:39 +02:00
Mike Hommey
32f20f1c9f
Bug 864035 - Add an atomic RefCounted and WeakPtr implementation. r=Waldo
2013-05-18 09:52:53 +02:00
Ehsan Akhgari
16e22cc0af
Bug 863884 - Prepare WeakPtr to support a thread-safe variant; r=Waldo
2013-04-19 17:59:01 -04:00
Nicholas Cameron
c08ac751c5
Bug 837297; change RefCounted::dead to a define; r=waldo
2013-02-05 16:53:57 +13:00
Mike Hommey
66cbfc73f8
Bug 834769 - Change the "destroyed" state value for RefCounted. r=Waldo
2013-01-29 09:35:16 +01:00
Mike Hommey
17103848ed
Backout changeset bc2bbe9836c7 (bug 834769) for bustage.
2013-01-29 09:49:16 +01:00
Mike Hommey
19f90e4909
Bug 834769 - Change the "destroyed" state value for RefCounted. r=Waldo
2013-01-29 09:35:16 +01:00
Jeff Walden
986ff95100
Style patrol to make everything conform to mfbt/STYLE. No bug, r=sparky
2012-06-03 20:36:43 -07:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Jeff Walden
eaa4a32656
Add introductory comments to the files in mfbt/ that aren't copied from elsewhere, to facilitate easier MXR directory skimming. No bug, r=lumpy
...
--HG--
extra : rebase_source : dd834c64e625a0184b64d13e2a2e6fd8960ca832
2011-12-28 10:48:54 -06:00
Jeff Walden
b00479bc34
Bug 712129 - Move MOZ*INLINE macros from Util.h into Attributes.h, where they make more sense. r=luke
...
--HG--
extra : rebase_source : f62a21c8833c9d5eb7351b18ba14f14d4286b3c0
2011-12-19 14:45:52 -05:00
Jeff Walden
05dcc6d231
Bug 712129 - Move assertion code into a new mfbt/Assertions.h header. r=luke
...
--HG--
extra : rebase_source : 6587b6aa4180493c48b0663bc627543020a21deb
2011-12-19 14:28:35 -05:00
Jeff Walden
d2d9341b8a
Bug 704127 - Move C++ attribute support out of mozilla/Types.h and into mozilla/Attributes.h so that it can be used by code that's not yet compatible with the full mfbt experience. r=cjones
...
--HG--
extra : rebase_source : 7b653358a73f222c055f5139e33ca470475f88c9
2011-11-20 12:22:51 -08:00