Ehsan Akhgari
28032343dd
Bug 1188204 - Fix more constructors in MFBT; r=froydnj
2015-07-28 12:24:39 -04:00
Jeff Gilbert
39d3e5cddc
Bug 1177887 - Deref *after* changing the value held by RefPtr. - r=waldo
2015-07-16 17:15:44 -07: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
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
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
Nathan Froyd
f61c010661
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
6e617deb41
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
3e410cfd9b
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
70c940e622
Bug 1093934 - Create a XPCOM library that can be used to support standalone WebRTC. r=nfroyd
2015-04-03 15:52:00 +02:00
Wes Kocher
e1bc5d7b91
Backed out changeset 0f5799df920b (bug 1093934) for various test failures CLOSED TREE
2015-04-02 13:42:34 -07:00
Randall Barker
3d56345656
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
33bb32f549
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
15fd019c38
Bug 1121489 follow-up: Addresss the review comment
2015-01-19 09:07:57 -05:00
Ehsan Akhgari
2a9cd3b8f2
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
f70d08c5aa
Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo
2015-01-11 11:34:52 +09:00
Ehsan Akhgari
b6e35bb4b4
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
26a8215eb5
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
ef6963bd58
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
9aa1366870
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
ca18c36a95
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
a6e15b91de
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
a4be05bebe
Bug 1045920 (part 2) - Add mfbt/tests/TestRefPtr.cpp. r=froydnj.
2014-07-30 06:59:52 -07:00
Nicholas Nethercote
8ea1b7923f
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
95cc33a82f
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
861dfcddf0
Bug 1013662 - Fix bad implicit conversion constructors in MFBT; r=froydnj,Waldo
2014-06-06 23:17:06 -04:00
Ehsan Akhgari
9f53091c9b
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
230348ae5d
Bug 985878 - Make AtomicRefCounted thread safe; r=khuey
2014-03-25 09:02:26 -04:00
Ehsan Akhgari
30fd1ca65f
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
9832e51d4c
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
8686774566
Bug 976247 - Remove a useless static keyword from mozilla::detail::DEAD; r=froydnj
2014-02-24 21:08:51 -05:00
Ehsan Akhgari
a196505a83
Backed out changeset f74c9326b89c (bug 976247) because I landed the wrong patch :(
2014-02-24 21:07:37 -05:00
Ehsan Akhgari
98a137f278
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
cc2dbcc735
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
c7a347a4b9
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
f4ddde0564
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
8212be10db
Bug 935778 - Part 0.2: Spray some MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree
2014-02-20 21:33:49 -05:00
Seth Fowler
11f1b0d393
Bug 912299 - Make RefCounted's refcount field mutable. r=waldo
2013-09-06 13:32:55 -07: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
28a9e7aa20
Bug 896341 - Update include guards and modelines in MFBT; r=Waldo
2013-07-24 09:41:39 +02:00
Mike Hommey
6334a79a0e
Bug 864035 - Add an atomic RefCounted and WeakPtr implementation. r=Waldo
2013-05-18 09:52:53 +02:00
Ehsan Akhgari
8b9a514d5f
Bug 863884 - Prepare WeakPtr to support a thread-safe variant; r=Waldo
2013-04-19 17:59:01 -04:00
Nicholas Cameron
0b1477418d
Bug 837297; change RefCounted::dead to a define; r=waldo
2013-02-05 16:53:57 +13:00
Mike Hommey
017feef7d9
Bug 834769 - Change the "destroyed" state value for RefCounted. r=Waldo
2013-01-29 09:35:16 +01:00
Mike Hommey
6e52d18740
Backout changeset bc2bbe9836c7 (bug 834769) for bustage.
2013-01-29 09:49:16 +01:00
Mike Hommey
592595bea6
Bug 834769 - Change the "destroyed" state value for RefCounted. r=Waldo
2013-01-29 09:35:16 +01:00
Jeff Walden
03b6751e09
Style patrol to make everything conform to mfbt/STYLE. No bug, r=sparky
2012-06-03 20:36:43 -07:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Jeff Walden
157c2375be
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
6dab78f2df
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