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

93 Коммитов

Автор SHA1 Сообщение Дата
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