Граф коммитов

112 Коммитов

Автор SHA1 Сообщение Дата
Andrew McCreight d2ec8127e0 Bug 1279609 - nsRunnableMethodImpl should use a non-public destructor. r=froydnj 2016-07-05 12:03:18 -07:00
Nathan Froyd f7ee3c3dbf Bug 1281626 - part 5 - move nsRunnableFunction into mozilla::detail and rename it; r=khuey
We do this for similar reasons as nsRunnableMethod*: less prefixing and
a more obvious signal that this is a private implementation class.
2016-06-28 22:24:54 -04:00
Nathan Froyd 65715152b1 Bug 1281626 - part 4 - change NS_NewRunnableFunction to return already_AddRefed; r=khuey
This change makes it more consistent with NS_NewRunnableMethod and also
opens up optimization opportunities for later.
2016-06-28 22:24:54 -04:00
Nathan Froyd f624e16333 Bug 1281626 - part 2 - make RunnableMethod* internals final classes; r=khuey
This step is mostly tidiness.
2016-06-28 22:24:54 -04:00
Nathan Froyd bcf3920031 Bug 1281626 - part 1 - move nsRunnableMethod* into mozilla::detail and rename them; r=khuey
Less ns-prefixing is more better.  Also, this renaming makes clearer
that these classes are private implementation details, which is good,
because we're going to take advantage of that fact in a bit.
2016-06-28 22:24:54 -04:00
Gerald Squelart e8513ef5ee Bug 1271593 - NS_NewRunnableFunction should forward its arg - r=froydnj
By perfect-forwarding its argument, we can automatically gain move semantics
optimization when storing the given function object into nsRunnableFunction.
Also it allows movable-only function objects.

Note that any reference is removed from the type to be stored, so that the
runnable always contain a concrete function object.

MozReview-Commit-ID: 9EZK84ZhMvR

--HG--
extra : rebase_source : e1f87c3284fda4df6d13839ea6a0b0c2ce196833
2016-06-02 01:21:36 +02:00
L. David Baron fc6592bdbc Bug 1271182 - Add some deleted assignment operators and copy constructors. r=khuey
These are generally good practice for reference-counted objects; they
catch cases where these operations are used by accident, breaking
reference-counting.

This doesn't show any existing problems, though.

MozReview-Commit-ID: EvRkNCymOqT
2016-05-25 18:04:35 -07:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Kyle Huey 7c2af31504 Bug 1268313: Part 5 - Make NS_NewRunnableMethod able to call const functions. r=froydnj 2016-05-05 01:44:59 -07:00
Kyle Huey 156b8c1933 Bug 1268313: Part 4 - Replace NewCancelableRunnableMethod with NS_NewCancelableRunnableMethod. r=froydnj 2016-05-05 01:44:59 -07:00
Kyle Huey 7f54121b91 Bug 1268313: Part 3 - Replace some NewCancelableRunnableMethod with NS_NewNonOwningCancelableRunnableMethod. r=froydnj 2016-05-05 01:44:59 -07:00
Carsten "Tomcat" Book 5d43a44ec6 Backed out changeset 3f2f3fcac66b (bug 1268313)
--HG--
extra : rebase_source : 438e7d7077b900ef252bd628f4559424eebd211f
2016-04-29 14:21:23 +02:00
Carsten "Tomcat" Book 4bb6f48de3 Backed out changeset 6a8d57e8fa8e (bug 1268313)
--HG--
extra : rebase_source : 8690897fd41073f22c8b25db5e8ce88df76a2bb7
2016-04-29 14:21:22 +02:00
Carsten "Tomcat" Book 894326b653 Backed out changeset 726f7361e0b8 (bug 1268313)
--HG--
extra : rebase_source : 3e04a6751a1cce2be7692763b4520dcca053f210
2016-04-29 14:21:20 +02:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kyle Huey 732a15e600 Bug 1268313: Part 5 - Make NS_NewRunnableMethod able to call const functions. r=froydnj 2016-04-28 14:08:24 -07:00
Kyle Huey c724d0c867 Bug 1268313: Part 4 - Replace NewCancelableRunnableMethod with NS_NewCancelableRunnableMethod. r=froydnj 2016-04-28 14:08:24 -07:00
Kyle Huey a13954d079 Bug 1268313: Part 3 - Replace some NewCancelableRunnableMethod with NS_NewNonOwningCancelableRunnableMethod. r=froydnj 2016-04-28 14:08:24 -07:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Kyle Huey 2709afd167 Bug 1263311: Part 3 - s/nsCancelableRunnable/CancelableRunnable/g. r=froydnj 2016-04-11 11:40:06 -07:00
Kyle Huey 1cc02aa8c6 Bug 1263311: Part 1 - Change the nsICancelableRunnable interface. r=froydnj 2016-04-11 11:40:06 -07:00
Wes Kocher 7d2cebe912 Backed out 3 changesets (bug 1263311) for Windows build failures in ServiceWorkerPrivate.cpp CLOSED TREE
Backed out changeset 0434a548e1fe (bug 1263311)
Backed out changeset 60b1be29446c (bug 1263311)
Backed out changeset 18132498bc40 (bug 1263311)

MozReview-Commit-ID: LPEa05QobdQ
2016-04-11 12:50:56 -07:00
Kyle Huey d200ed89d0 Bug 1263311: Part 3 - s/nsCancelableRunnable/CancelableRunnable/g. r=froydnj 2016-04-11 11:40:06 -07:00
Kyle Huey f13a6fc866 Bug 1263311: Part 1 - Change the nsICancelableRunnable interface. r=froydnj 2016-04-11 11:40:06 -07:00
Botond Ballo 5a57a5b196 Bug 1163320 - Variadic implementation of nsRunnableMethodArguments. r=froydnj
MozReview-Commit-ID: 13YyOyiionD

--HG--
extra : rebase_source : 89a0ad0877ed3290a41288523fe9b13d9c5bac7d
extra : source : ed761807105b30069d5a7412f8dacf75429eeeb6
2015-05-11 17:24:21 -04: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
Xidorn Quan 7ba467bc22 Bug 1186745 part 6 - Fix event leak when using NS_DispatchToCurrentThread. r=froydnj
--HG--
extra : source : c8159664670c96e6cfa4c856d6eb14bb9495cd6f
2015-10-06 13:00:59 +11:00
Wes Kocher 1d312920f4 Backed out 6 changesets (bug 1186745) for android Cpp failures
Backed out changeset 237a6acf0709 (bug 1186745)
Backed out changeset 7b530871783a (bug 1186745)
Backed out changeset 73f73b531fc8 (bug 1186745)
Backed out changeset e36909748ddf (bug 1186745)
Backed out changeset 3a31df8787f0 (bug 1186745)
Backed out changeset df9cb8f5f0a5 (bug 1186745)
2015-10-02 10:35:09 -07:00
Xidorn Quan 863594b840 Bug 1186745 part 6 - Fix event leak when using NS_DispatchToCurrentThread. r=froydnj
--HG--
extra : source : a0baaf79582846e447014b2e933266c3150941aa
2015-10-03 00:18:24 +10:00
Phil Ringnalda c096566a7e Back out 6 changesets (bug 1186745) for cpptest failure in runnable_utils_unittest, nrappkit_unittest, test_nr_socket_unittest
Backed out changeset c6142b815de0 (bug 1186745)
Backed out changeset d8f740ef2430 (bug 1186745)
Backed out changeset edc0b56d81fa (bug 1186745)
Backed out changeset 383f8ac033ea (bug 1186745)
Backed out changeset ce960a661987 (bug 1186745)
Backed out changeset 3e9783023fb2 (bug 1186745)

--HG--
extra : rebase_source : 4681d6abaaa927ddb863f944efc87e6c6f6c2e26
2015-09-28 19:05:02 -07:00
Xidorn Quan e26e72c529 Bug 1186745 part 6 - Fix event leak when using NS_DispatchToCurrentThread. r=froydnj
--HG--
extra : source : 839c394ca2362db534c9a12b14be3a9f3f5d6ff5
2015-09-29 09:28:22 +10:00
Nathan Froyd c6d5ee54fb Bug 1179787 - part 2 - add template logic for smart pointer template arguments in NS_NewRunnableMethod*; r=botond 2015-07-02 11:17:49 -04:00
Nathan Froyd 8ddd161b85 Bug 1179787 - part 1 - forward StorensRefPtrPassByPtr's constructor argument; r=botond
StorensRefPtrPassByPtr is currently used for storing reference-counted
types passed as T* template arguments to NS_NewRunnableMethodWith*.
We'd also like to use it to store nsRefPtr<T> template arguments.  While
it could be used in its current form, it'd be better for its constructor
to support forwarding, so that something like:

  NS_NewRunnableMethodWithArg<nsRefPtr<T>>(..., nsRefPtr<T>(local));

doesn't cause unnecessary reference counting.
2015-07-02 11:05:52 -04:00
Ehsan Akhgari 7a81d59cb2 Bug 1188203 - Fix more constructors in XPCOM; r=froydnj 2015-07-28 12:24:37 -04:00
Randell Jesup c87c478f4f Bug 1155059: Patch 1&2 - Convert Dispatch() and friends to already_AddRefed<> r=froydnj
Modify Dispatch IDL and code to deal with MSVC issues with overloaded templates r=froydnj
2015-07-09 23:21:46 -04:00
Ryan VanderMeulen 8e70b92b80 Backed out changeset c1cd7aff7c94 (bug 1163320) for causing silent Hazard build bustage.
--HG--
extra : rebase_source : 34f9d17d9c9c3b2bfd5bd8d4be48a05acc0c5908
2015-06-03 12:46:19 -04:00
Botond Ballo a1ee749697 Bug 1163320 - Variadic implementation of nsRunnableMethodArguments. r=froydnj
--HG--
extra : source : ed761807105b30069d5a7412f8dacf75429eeeb6
2015-05-11 17:24:21 -04:00
Cervantes Yu 55152ad9d9 Backout change 39e167bbd14c, a80140872ea5, adae9be2294d and b71ccef9c674 (bug 970307). 2015-05-19 14:31:25 +08:00
Carsten "Tomcat" Book 005c5ce415 Backed out changeset 4d2839eea957 (bug 970307) 2015-05-19 11:44:27 +02:00
Cervantes Yu a12ce249b1 Backout change 39e167bbd14c, a80140872ea5, adae9be2294d and b71ccef9c674 (bug 970307).
--HG--
extra : rebase_source : 829e80228e07440285383316d2c4fea017828529
2015-05-19 14:31:25 +08:00
Gerald Squelart 2b1b8b1729 Bug 1153295 - Select StorensRefPtrPassPtr for types with AddRef and Release methods. r=nfroyd 2015-04-26 04:52:00 -04:00
Cervantes Yu 4f02100ffd Backed out 2 changesets (bug 1138620)
Backed out changeset e60b4b01c05d (bug 1138620)
Backed out changeset 52d49dd25d6d (bug 1138620)
2015-04-24 15:05:44 +08:00
Cervantes Yu d827320379 Bug 1138620 - Part 1: Allow binary modules to create unmonitored threads that doesn't keep the Nuwa process from stabalization. r=nfroyd 2015-04-21 18:23:09 +08:00
Kartikaya Gupta d7702657e5 Bug 1152753 - Add a wrapper to be able to dispatch C++11 lambdas to nsIThread. r=froydnj 2015-04-10 08:13:00 -04:00
Kartikaya Gupta f7dbd8ca43 Bug 1146349 - Allow NS_NewRunnableMethodWithArgs to take up to 8 arguments. r=froydnj 2015-04-14 11:36:35 -04:00
Kartikaya Gupta 0f4033d26f Back out cset 35cae02f1552 (bug 1152753) because it introduces a footgun. r=me 2015-04-10 12:13:55 -04:00
Kartikaya Gupta 1cc7ec6936 Bug 1152753 - Add a wrapper to be able to dispatch C++11 lambdas to nsIThread. r=froydnj 2015-04-10 08:13:00 -04:00
Ben Kelly c32262c9c1 Bug 1142852 P1 Fix NS_NewNonOwningRunnableMethodWithArgs() so that it compiles. r=froydnj 2015-03-23 22:28:09 -04:00
Nathan Froyd e7363b8b6b Bug 1141692 - use an actual Atomic for nsThreadPoolNaming::mCounter; r=bsmedberg
Marking a variable as volatile is never the right thing to do when
dealing with threads.  Use real atomic accesses instead.
2015-03-10 14:41:45 -04:00