Nathan Froyd
075adc9ec6
Bug 1445584 - add a move assignment operator for nsCOMPtr; r=gerald
...
Somehow we didn't have this before. The lack thereof was causing us to
do unnecessary things during event dispatch.
2018-03-14 08:22:30 -04:00
Kris Maglione
b46bd8b6b0
Bug 1411817: Add do_AddRef overloads for nsCOMPtr<T> and nsRevocableEventPtr<T>. r=froydnj
...
MozReview-Commit-ID: gEU7whtNHc
--HG--
extra : rebase_source : 6763e6b31be8a3341f968eef057b756fbfe3cbbe
extra : amend_source : da6140fb0559d78b46e80e72e8b6768bf2364fb1
2017-10-25 19:46:50 -07:00
Nathan Froyd
c5fa35746e
Bug 1390568 - manually de-virtualize do_QueryReferent; r=ehsan
...
nsQueryReferent is defined as an nsCOMPtr_helper, which implies that
calling its operator() method requires a virtual call. While
nsQueryReferent is marked `final`, compiler inlining decisions make it
impossible to de-virtualize the call to operator(). However, we have
many other classes returned by do_* functions that nsCOMPtr handles
directly, requiring no extra virtual calls, and we can give
nsQueryReferent the same treatment.
2017-08-24 20:04:31 -04:00
Tristan Bourvon
ba0998ae31
Bug 1380423 - Add static-analysis to enforce strict rules on functions which can run scripts. r=mystor
...
MozReview-Commit-ID: GGSyq0z5msB
2017-08-08 19:48:53 +03:00
Michael Layzell
46ade67ada
Bug 1331434 - Part 2: Add MOZ_MAY_CALL_AFTER_MUST_RETURN and MOZ_MUST_RETURN_FROM_CALLER annotations, r=ehsan
...
MozReview-Commit-ID: 1o2egvdhkqT
2017-03-07 19:06:48 -05:00
Benjamin Smedberg
d478e7c99f
Bug 1332631 part B - file moves from xpcom/glue to xpcom/base, r=froydnj
...
MozReview-Commit-ID: ARS1aTugYjl
--HG--
rename : xpcom/glue/AutoRestore.h => xpcom/base/AutoRestore.h
rename : xpcom/glue/EnumeratedArrayCycleCollection.h => xpcom/base/EnumeratedArrayCycleCollection.h
rename : xpcom/glue/IntentionalCrash.h => xpcom/base/IntentionalCrash.h
rename : xpcom/glue/nsCOMPtr.cpp => xpcom/base/nsCOMPtr.cpp
rename : xpcom/glue/nsCOMPtr.h => xpcom/base/nsCOMPtr.h
rename : xpcom/glue/nsCRTGlue.cpp => xpcom/base/nsCRTGlue.cpp
rename : xpcom/glue/nsCRTGlue.h => xpcom/base/nsCRTGlue.h
rename : xpcom/glue/nsClassInfoImpl.cpp => xpcom/base/nsClassInfoImpl.cpp
rename : xpcom/glue/nsCycleCollectionNoteChild.h => xpcom/base/nsCycleCollectionNoteChild.h
rename : xpcom/glue/nsCycleCollectionNoteRootCallback.h => xpcom/base/nsCycleCollectionNoteRootCallback.h
rename : xpcom/glue/nsCycleCollectionParticipant.cpp => xpcom/base/nsCycleCollectionParticipant.cpp
rename : xpcom/glue/nsCycleCollectionParticipant.h => xpcom/base/nsCycleCollectionParticipant.h
rename : xpcom/glue/nsCycleCollectionTraversalCallback.h => xpcom/base/nsCycleCollectionTraversalCallback.h
rename : xpcom/glue/nsDebug.h => xpcom/base/nsDebug.h
rename : xpcom/glue/nsIClassInfoImpl.h => xpcom/base/nsIClassInfoImpl.h
rename : xpcom/glue/nsID.cpp => xpcom/base/nsID.cpp
rename : xpcom/glue/nsID.h => xpcom/base/nsID.h
rename : xpcom/glue/nsIInterfaceRequestorUtils.cpp => xpcom/base/nsIInterfaceRequestorUtils.cpp
rename : xpcom/glue/nsIInterfaceRequestorUtils.h => xpcom/base/nsIInterfaceRequestorUtils.h
rename : xpcom/glue/nsINIParser.cpp => xpcom/base/nsINIParser.cpp
rename : xpcom/glue/nsINIParser.h => xpcom/base/nsINIParser.h
rename : xpcom/glue/nsISupportsImpl.cpp => xpcom/base/nsISupportsImpl.cpp
rename : xpcom/glue/nsISupportsImpl.h => xpcom/base/nsISupportsImpl.h
rename : xpcom/glue/nsISupportsUtils.h => xpcom/base/nsISupportsUtils.h
rename : xpcom/glue/nsIWeakReferenceUtils.h => xpcom/base/nsIWeakReferenceUtils.h
rename : xpcom/glue/nsMemory.cpp => xpcom/base/nsMemory.cpp
rename : xpcom/glue/nsMemory.h => xpcom/base/nsMemory.h
rename : xpcom/glue/nsTWeakRef.h => xpcom/base/nsTWeakRef.h
rename : xpcom/glue/nsVersionComparator.cpp => xpcom/base/nsVersionComparator.cpp
rename : xpcom/glue/nsVersionComparator.h => xpcom/base/nsVersionComparator.h
rename : xpcom/glue/nsWeakReference.cpp => xpcom/base/nsWeakReference.cpp
rename : xpcom/glue/nsWeakReference.h => xpcom/base/nsWeakReference.h
extra : rebase_source : df11b181f383b70ffe5051716d63ed11b98be53b
extra : histedit_source : 6d0743fac0562e4676e44a52f0e85375fb4a44ff
2017-01-23 09:24:01 -05:00
seawood%netscape.com
4008d44ab5
Removing nsCOMPtr.{h,cpp} from xpcom/base. They have been copied (in the cvs repo) and are built in xpcom/glue.
...
Bug #99698
2001-09-30 03:30:29 +00:00
gerv%gerv.net
4e12e44b2f
Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
2001-09-28 20:14:13 +00:00
dougt%netscape.com
8d512061e8
Landing nsISupports changes. Freezes nsISupports.idl and nsrootidl.idl. r=valeski@netscape.com, sr=rpotts@netscape.com bug 98281
2001-09-27 03:43:00 +00:00
brendan%mozilla.org
dbd7fed5b1
FASTLOAD_20010703_BRANCH landing, r=dbaron, sr=shaver.
2001-07-31 19:05:34 +00:00
scc%mozilla.org
6805c2745f
bug #75504 ; sr=jband. making it impossible to misuse |getter_AddRefs| in the way jband discovered
2001-05-03 10:15:09 +00:00
brendan%mozilla.org
4f5aafa905
Checkin shaver's patch to allow debug Mozilla builds to dynamicly link with XPCOM-based, nsCOMPtr-using optimized plugins (77112, r=brendan, sr=scc, a=chofmann).
2001-04-24 21:13:15 +00:00
dbaron%fas.harvard.edu
1244386ebc
Fix bustage on VC++ and gcc 2.7.2.x caused by incorrect overload resolution.
2001-04-07 17:25:16 +00:00
dbaron%fas.harvard.edu
780cb86a7a
Replace my previous incorrect fix for |operator==| ambiguities with a correct one: provide additional |operator==| and |operator!=| for comparing nsCOMPtrs to raw pointers that take a non-const raw pointer argument so that builtin operators will not have a better conversion for one argument. b=65664 r=waterson@netscape.com sr=scc@mozilla.org
2001-04-07 15:29:39 +00:00
dbaron%fas.harvard.edu
59a4590389
Make |nsCOMPtr<T>::operator&| private so that it is not used by clients. Legitimate users should use |address_of| instead. b=59414 r=disttsc@bart.nl sr=scc@mozilla.org
...
Fix ambiguities relating to the various forms of |operator==| defined for nsCOMPtrs by avoiding |const| for parameters for compilers where it (incorrectly) confuses overload resolution. r=scc@mozilla.org sr=brendan@mozilla.org b=65664
2001-02-04 19:57:29 +00:00
dbaron%fas.harvard.edu
3331dd382b
Attempt to fix |address_of| bustage on IRIX. r=scc@mozilla.org b=59414
2000-12-10 03:13:53 +00:00
dbaron%fas.harvard.edu
81352c0825
Work in progress for bug 59414. Prepare to make |nsCOMPtr|'s |operator&| private to prevent many cases of accidental usage, and provide |address_of| for clients who really want a pointer to an nsCOMPtr. r=scc@mozilla.org sr=waterson@netcape.com
2000-12-09 04:45:43 +00:00
cls%seawood.org
f9754b268f
Workaround for long-standing AIX bustage
2000-07-28 08:11:51 +00:00
mkaply%us.ibm.com
dc2e138a70
# 37239
...
r = valeski, a = brendan
OS/2 bring-up - Yes I know this is ugly.
We are getting a linker error on this delete.
We want to get our builds up by any means necessary,
so I need to comment this out for us for now.
2000-06-14 00:26:52 +00:00
scc%mozilla.org
5108fd1bbe
further logging fixes; removed |explicit| to "nscore.h"; removed old-style logging definitions for |NSCAP_ADDREF| and |NSCAP_RELEASE|, define them externally if you want them (the new comment says how); fixed some comments... I'll be moving to doc-style comments soon to better support doxygen
2000-06-10 09:58:13 +00:00
scc%mozilla.org
fbdb41c4de
further fix for the defined case. r=dbaron
2000-06-08 05:08:14 +00:00
scc%mozilla.org
372c751346
Improved logging facilities on |nsCOMPtr| in cooperation with dbaron, for his new logging tools. r=dbaron
2000-06-08 04:52:39 +00:00
waterson%netscape.com
94bd261c1c
Canonify HAVE_CPP_ACCESS_CHANGING_USING and HAVE_CPP_AMBIGUITY_RESOLVING_USING.
2000-06-05 00:46:37 +00:00
scc%mozilla.org
ebc8903c87
Bug #39824 . Checking in patch from dp. This patch fixes exports on some |nsCOMPtr_helper| classes so we can link appropriately. r=scc.
2000-05-20 18:31:45 +00:00
waterson%netscape.com
8e51bfbbef
Remove #ifdef that is unnecessary when STL headers are not included.
2000-05-14 00:05:24 +00:00
waterson%netscape.com
2ecdf03c7c
Add necessary code to get NEW_STRING_APIS to compile properly on gcc-2.7.2.3. r=scc
2000-05-13 00:05:29 +00:00
scc%netscape.com
e3490a6024
changed some comments
2000-05-12 05:20:21 +00:00
waterson%netscape.com
9de0d361a8
Beef up autoconf tests to differentiate 'ambiguity resolving' and 'access changing' support of the 'using' keyword. Add a test to see if the 'std' namespace is used on the platform. r=scc
2000-03-28 07:01:37 +00:00
scc%netscape.com
367b68ace3
slight renaming and fixed a template signature for AIX
2000-03-22 22:52:17 +00:00
scc%netscape.com
532a4d13c7
Added the Bill Law trick to make |nsCOMPtr| break the build for everybody where it use to break it only for Solaris and a few others (the `tainting' problem). Added a haiku. r=danm
2000-03-18 05:17:46 +00:00
scc%netscape.com
d6840ff7c1
Renamed an internal typename. Was |nsDontAddRef<T>|, now is |already_AddRefed<T>| in hopes that it can be used outside of "nsCOMPtr.h". Moved |HAVE_CPP_...| symbols out of here and into "nscore.h" because more files need them. r=pinkerton
2000-03-17 23:08:18 +00:00
scc%netscape.com
18df765f41
wrapped |nsCOMPtr| vs. raw pointer comparisons in a |#ifndef| for |NSCAP_NSCOMPTR_TO_RAW_COMPARISONS_ARE_AMBIGUOUS| which is currently not defined. When an autoconf test defines this symbol, these operators will go away, and Linux will never be bit by the |nsCOMPtr| can't compare to a raw pointer error. Currently, there is no effect. r={mjudge,rginda}
2000-02-12 23:30:52 +00:00
scc%netscape.com
18d254421b
enable the |ASSERT_NO_QUERY_NEEDED| tests for the |getter_AddRefs()| case as well. bug #26420 , r=dougt
2000-02-06 21:17:51 +00:00
scc%netscape.com
f1d17da7df
Fixed tabs, some comments, etc. Made |do_QueryInterface()| not participate in the |...TEST_DONTQUERY_CASES| test to help us debug bug #25327 . r=pinkerton
2000-01-29 22:29:08 +00:00
scc%netscape.com
a2dea03069
macros and defs to removed conditional definition of |GetIID()| within |nsISupports|. r=beard, (waterson?), bug=10477
2000-01-13 05:48:47 +00:00
scc%netscape.com
964ca8227e
Fix specialized |CallQueryInterface| as per review by travis ... r=travis.
1999-12-08 01:44:06 +00:00
scc%netscape.com
8c4ec2ebea
Adding an alternate version of |CallQueryInterface| as an experiment on behalf of travis. This function is not yet called, and should not effect the build or the runtime. r=hyatt
1999-12-07 14:09:29 +00:00
scc%netscape.com
778573923a
fixed an annoying, but rare, bug where an |nsCOMPtr| in an ownership ring could |Release()| twice. See the comment in the code for details. r=waterson
1999-11-20 08:19:24 +00:00
scc%netscape.com
d5c96b7f3f
missed two T-->nsISupports instances, which primary platforms didn't catch, since they weren't instantiated
1999-11-08 12:25:11 +00:00
scc%netscape.com
20035843b1
Specialize |nsCOMPtr| for |nsISupports| (i.e., |nsCOMPtr<nsISupports>|). The specialization _does_not_ have the invariant that |nsCOMPtr<T>| has of always pointing to the COM-correct interface. An |nsCOMPtr<nsISupports>| essentially means "a pointer to _any_ [XP]COM interface". This change allows dougt to fix his M11 bug. a=chofmann, r={danm, hyatt}
1999-11-08 11:43:11 +00:00
dmose%mozilla.org
142ac52eaf
updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
1999-11-06 03:43:54 +00:00
dougt%netscape.com
fd87026ad8
backing out changes. looks like this stuff is untested in a full build.
1999-11-05 03:31:04 +00:00
cls%seawood.org
9c777b0938
Fix for the template variable change from <T> to <nsISupports>. r=dougt
1999-11-05 03:11:03 +00:00
dougt%netscape.com
477a69da9d
Fix for 17842. Make nsCOMPtr<nsISupports> should not be weak typed. scc's
...
this change to me and since he is on vacation until monday and I need this
for an M11 bug, I am checking it in. I am hoping it is the right
thing to do.
a=brendan.
1999-11-05 02:18:46 +00:00
dveditz%netscape.com
04c2ee43f4
shutting up copious warnings using /W4 on MSVC
1999-11-03 07:39:19 +00:00
scc%netscape.com
b2c12428df
changed the mechanism underlying |do_QueryInterface| to decouple |nsCOMPtr| from services, |nsIWeakReference|, etc. This change fixes bug #17364 , and paves the way for making |nsCOMPtr| cooperate with services. r=valeski (additional builds done by dmose and syd)
1999-10-31 00:35:48 +00:00
scc%netscape.com
2162d2e029
some small documentation changes, plus removed a function that was otherwise unused, and was confusing Solaris.
1999-08-26 10:45:50 +00:00
scc%netscape.com
504c1add4e
fixed tabs
1999-08-23 10:07:16 +00:00
scc%netscape.com
0921e3bfc2
renamed to QueryReferent, do_QueryReferent, etc.
1999-08-13 23:00:58 +00:00
scc%netscape.com
2e0d0f92ea
experiment: I don't think it like the forward declaration
1999-08-03 10:44:12 +00:00