53 Commits

Author SHA1 Message Date
dougt%netscape.com
265d430432 relanding. Add experimental support to the native component loader so that native components can declare what libraries it depends on. (193442)Fixed a bug where we didn't check return from GetLastModification in nsDll::HasChanged. Thank you ajschult@eos.ncsu.edu for pointing out the problem and suggesting a fix. Converted a linear search of compreg entries to be a hash lookup. Also cleaned up the xcdll class. Reviewers= Alec, Darin.
git-svn-id: svn://10.0.0.236/trunk@138914 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-05 03:22:12 +00:00
tor%cs.brown.edu
c4dd047dc5 Backout of 193442/191415. a=brade,dougt
git-svn-id: svn://10.0.0.236/trunk@138808 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-03 21:00:07 +00:00
dougt%netscape.com
555ccf142c Add experimental support to the native component loader so that native components can declare what libraries it depends on. (193442) Storing the GRE location in a relative way so that we can change GRE versions between launches assuming that they are compatible (191415). Fixed a bug where we didn't check return from GetLastModification in nsDll::HasChanged. Thank you ajschult@eos.ncsu.edu for pointing out the problem and suggesting a fix. Converted a linear search of compreg entries to be a hash lookup. Also cleaned up the xcdll class. Reviewers= Alec, Darin.
git-svn-id: svn://10.0.0.236/trunk@138725 18797224-902f-48f8-a5cc-f745e15eee43
2003-02-28 21:30:35 +00:00
dbaron%dbaron.org
6ed727cbe8 Bug 178643: Remove uses of NS_INIT_ISUPPORTS, since it is no longer needed. r=timeless sr=jag
git-svn-id: svn://10.0.0.236/trunk@136028 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-08 23:19:20 +00:00
dougt%netscape.com
3ce22699b8 landing 172512. nsEmbedString for component developers and embeders. r=alec, sr=jag/darin, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@132196 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-17 23:41:47 +00:00
dougt%netscape.com
c1cfcf9d80 backing out nsGenericFactory.cpp
git-svn-id: svn://10.0.0.236/trunk@131200 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-04 23:23:51 +00:00
dougt%netscape.com
686f5cf33f First cut of the nsIStringService. 172512. r=jag, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@131183 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-04 22:25:41 +00:00
dougt%netscape.com
77abf83626 Fixes XPCOM Glue on linux, b=168584, sr=rpotts, r=alec
git-svn-id: svn://10.0.0.236/trunk@130583 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-27 13:07:01 +00:00
law%netscape.com
4afa6f5035 Backing out timeless's change (plus mine that fixed the build bustage); hopefully will clear orange on Linux builds
git-svn-id: svn://10.0.0.236/trunk@129587 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-14 00:18:33 +00:00
law%netscape.com
23dd8de824 Fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@129581 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-13 23:06:10 +00:00
timeless%mac.com
55fa722b62 Bug 155413 nsIClassInfo crash [@nsGenericFactory::GetHelperForLanguage] mInfo is null
r=dougt sr=dveditz


git-svn-id: svn://10.0.0.236/trunk@129573 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-13 22:36:48 +00:00
dougt%netscape.com
d65d49c1a2 More XPCOM Glue changes and fixes. r=waterson, sr=rpotts, 154262.
git-svn-id: svn://10.0.0.236/trunk@124420 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-01 20:37:17 +00:00
dougt%netscape.com
12a170e07e synchronizing component registration output with xpcom shutdown. b=138667 r=jband sr=shaver
git-svn-id: svn://10.0.0.236/trunk@121337 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-11 21:15:06 +00:00
dougt%netscape.com
32fbf8f488 Make generic module support usable by component and plugin developers. This patch removes the dependency on nsHashtable. bug 108233. sr=alecf@netscape.com, sr=jband@netscape.com, a=asa@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@115929 18797224-902f-48f8-a5cc-f745e15eee43
2002-03-06 04:22:27 +00:00
dougt%netscape.com
408ba7a40c Fix for 103518. Call module destructor function *after* destroying factories. submitted by Henry.Jia@sun.com, r=dp/dougt, sr=alecf
git-svn-id: svn://10.0.0.236/trunk@113819 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-06 20:47:37 +00:00
cathleen%netscape.com
ec77313291 eliminates 107 nsCRT::memset calls to use memset instead. removed nsCRT::memset() function. bug 118135 r=dp sr=brendan
git-svn-id: svn://10.0.0.236/trunk@113659 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-05 01:41:13 +00:00
sfraser%netscape.com
a58abd053a Chamnges to allow for making every module's nsModuleComponentInfo data const; bug 74803. r=dp, sr=waterson
git-svn-id: svn://10.0.0.236/trunk@113190 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-30 04:05:47 +00:00
dougt%netscape.com
011f9b10e5 1. Converts callers of nsIComponentManagerObsolete to use
nsIComponentRegistrar.

2. Converts callers of nsComponentManager::AutoRegister to use
nsIComponentRegistrar's autoRegistrar method.

3. Add nsIComponentRegistrar implmentation to nsComponentManagerImpl.

4. Rearrange nsComponentManager.cpp so that related methods are in the same
place.

5. Added a C-style function NS_GetComponentRegistrar so that getting the
registrar is easier in some places.

6. Added a nsISimpleEnumerator interface on PLDHashTableEnumeratorImpl.  in
this way, the same base class can support both old style and new style
enumerations.

7. Fixed a nasty bug where unregistring factories will leave the contract id
hash with a dangling pointer.  Now, when unregister is called we search the
contract id hash for entries which have the given doomned cid and remove them.


Bug 115853.  r=dp@netscape.com, sr=rpotts@netscape.com


git-svn-id: svn://10.0.0.236/trunk@113143 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-29 21:22:13 +00:00
dougt%netscape.com
c01e94cad7 nsIComponentManager API Changes (bug 98553)
a) create a new nsIComponentManager with only four functions on it:
CreateInstance CreateInstanceByContractID GetClassInfo GetClassInfoByContractID.

b) rename the old nsIComponentManager to nsIComponentManagerObsolete.

c) fixes callers which use to access the nsIComponentManager for component
registration functionality.  These callers will temporary use the
nsIComponentManagerObsolete interface.

d) Create a new API NS_GetComponentManager() which mirrors the
NS_GetServiceManager()

e) Perserves the old NS_GetGlobalComponentManager().  Note the cast usage.

r/sr = rpotts@netscape.com  alecf@netscape.com  brendan@mozilla.org


git-svn-id: svn://10.0.0.236/trunk@110748 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-19 00:12:41 +00:00
gerv%gerv.net
13afb6d0f9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
git-svn-id: svn://10.0.0.236/trunk@104119 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-28 20:14:13 +00:00
waterson%netscape.com
42e83067a0 Bug 96910. Restore NS_NewGenericModule() entry point for backwards compatibility. r=dougt, sr=jband, a=asa
git-svn-id: svn://10.0.0.236/trunk@101976 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-29 21:59:43 +00:00
waterson%netscape.com
4e63322b10 Bug 93100. Change NS_DECL_NSGETMODULE to be table driven so we can get at module ctor & dtor callbacks. Update meta-module and static-module stuff for this change, fix meta-module to not register stuff twice. r=cls,leaf
git-svn-id: svn://10.0.0.236/trunk@101447 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-21 00:55:20 +00:00
brendan%mozilla.org
50f90d9eeb Restore scriptable nsIClassInfo.classID but add fast/C++-only classIDNoAlloc; define and use nsIClassInfo::EAGER_CLASSINFO in caps (93792, sr=waterson&jst).
git-svn-id: svn://10.0.0.236/trunk@100464 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-07 03:59:29 +00:00
waterson%netscape.com
6de9a41f13 Bug 71248. Convert content, layout, parser, and uconv to generic modules so that they can be linked into a meta-module. r=cathleen, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@100459 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-07 02:55:54 +00:00
vidur%netscape.com
4153742b9d Temporary fix for bug 92859. Components can now be registered with the generic module macros to have class info, but not be instantiable via the component manager. Currently, the class object of such components are created eagerly at module initialization time. A future fix might create them lazily. r/sr=jband, jst
git-svn-id: svn://10.0.0.236/trunk@100386 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-06 07:05:22 +00:00
brendan%mozilla.org
f5bc62edea FASTLOAD_20010703_BRANCH landing, r=dbaron, sr=shaver.
git-svn-id: svn://10.0.0.236/trunk@100030 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-31 19:05:34 +00:00
dbaron%fas.harvard.edu
9359000a40 Header include dependency cleanup. b=64023 r=jag rs=brendan
git-svn-id: svn://10.0.0.236/trunk@99299 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-16 02:40:48 +00:00
waterson%netscape.com
18986ada3f Land STATIC_BUILD_20010612_BRANCH, which supports building mozilla with components statically linked into the executable, as well as 'meta modules' that combine components into uber-DLLs.
git-svn-id: svn://10.0.0.236/trunk@97613 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-20 20:21:49 +00:00
jst%netscape.com
43eee52859 Landing the XPCDOM_20010329_BRANCH branch, changes mostly done by jband@netscape.com and jst@netscape.com, also some changes done by shaver@mozilla.org, peterv@netscape.com and markh@activestate.com. r= and sr= by vidur@netscape.com, jband@netscape.com, jst@netscpae.com, danm@netscape.com, hyatt@netscape.com, shaver@mozilla.org, dbradley@netscape.com, rpotts@netscape.com.
git-svn-id: svn://10.0.0.236/trunk@94242 18797224-902f-48f8-a5cc-f745e15eee43
2001-05-08 17:42:36 +00:00
shaver%mozilla.org
823ae8572c 67699: all your nsIClassInfo is belong to us
- teach nsGenericFactory about nsIClassInfo, and nsIClassInfo.idl to the
  builds
- add a heaping serving of macro love for classes that want to support it
- convert many modules to use nsGenericModule the new way
- handful of warning and modeline fixes
- nsSample and some XPConnect test classes now have nsIClassInfo support for
  testing


git-svn-id: svn://10.0.0.236/trunk@89354 18797224-902f-48f8-a5cc-f745e15eee43
2001-03-12 20:43:02 +00:00
warren%netscape.com
a8b9664a8c Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc.
git-svn-id: svn://10.0.0.236/trunk@81967 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 22:17:53 +00:00
warren%netscape.com
c6b67eceeb Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson
git-svn-id: svn://10.0.0.236/trunk@81885 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 22:43:51 +00:00
rayw%netscape.com
d9228441a4 Bug 37275, Changing value of all progids, and changing everywhere a progid
is mentioned to mention a contractid, including in identifiers.

r=warren


git-svn-id: svn://10.0.0.236/trunk@79036 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-13 23:57:52 +00:00
sfraser%netscape.com
6f132223fd Bump up the intial hash table size in a bunch of places to avoid resizing the hash later. r=scc
git-svn-id: svn://10.0.0.236/trunk@63690 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-22 02:43:48 +00:00
warren%netscape.com
d100457780 Bug 21556: Making linux be thread-safe. Making tons of classes implement threadsafe AddRef/Release. a=jar
git-svn-id: svn://10.0.0.236/trunk@62243 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-05 21:26:01 +00:00
dougt%netscape.com
714da09a59 Landing nsIFile.
git-svn-id: svn://10.0.0.236/trunk@58490 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-24 21:28:28 +00:00
dp%netscape.com
4a6c6f75e5 Providing register and unregister hook per component in the generic
module. r=alecf


git-svn-id: svn://10.0.0.236/trunk@57433 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-11 21:18:55 +00:00
jband%netscape.com
8d2d9e7f1f Allow generic module stuff to work with singletons. Needed to fix bug 22922. r=dp
git-svn-id: svn://10.0.0.236/trunk@57061 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-07 02:18:13 +00:00
sspitzer%netscape.com
d1968e1600 purify related fixes. first, prevent a crash that was prevent me
from running purify in nsGenericFactory.cpp.  Second, add support
for "mozilla -pure".  Only works if you've build mozilla.bin.pure, of course.


git-svn-id: svn://10.0.0.236/trunk@56038 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-15 06:23:50 +00:00
dp%netscape.com
9b0cfefb70 NS_GET_IID(). Thanks to patch from pp@ludasdesign.com r=dp@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54812 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-30 23:36:32 +00:00
dp%netscape.com
7790c1ad9c Eliminating leak of factory when getting it from hashtable.
Using NS_IMPL_ISUPPORTS1
Removing NS_DEFINE_IID
r=warren@netscape.com


git-svn-id: svn://10.0.0.236/trunk@54049 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:21:53 +00:00
warren%netscape.com
4306e0bc94 Fixed generic module factory lookup to look in cache.
git-svn-id: svn://10.0.0.236/trunk@53955 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:46:50 +00:00
warren%netscape.com
6be51335c6 Minor fix.
git-svn-id: svn://10.0.0.236/trunk@53344 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:10:40 +00:00
warren%netscape.com
f4eb982ac0 Added NS_NewGenericModule. Made NS_IMPL_NSGETFACTORY use it to save space. r=dp,alecf
git-svn-id: svn://10.0.0.236/trunk@53341 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:07:26 +00:00
dmose%mozilla.org
0efb7c174c updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:43:54 +00:00
scc%netscape.com
56d5ad0b43 got rid of |NS_IMPL_ISUPPORTS|, where possible, in favor of |NS_IMPL_ISUPPORTS0| or ...1 according to the specific use; got rid of |NS_DEFINE_IID| where possible, or where it should have been |NS_DEFINE_CID|; fixed bad implementations of |QueryInterface|, where possible. Built, tested apprunner, reviewed the changes with hyatt (since he was around to look) before checking in
git-svn-id: svn://10.0.0.236/trunk@44139 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-23 10:14:16 +00:00
scc%netscape.com
a2d0be4d64 |nsISupports::GetIID()| --> |nsCOMTypeInfo<nsISupports>::GetIID()|
git-svn-id: svn://10.0.0.236/trunk@37444 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-29 21:01:31 +00:00
warren%netscape.com
42b3b62f98 Fixed GenericFactory linkage problems.
git-svn-id: svn://10.0.0.236/trunk@33604 18797224-902f-48f8-a5cc-f745e15eee43
1999-06-03 21:51:14 +00:00
dp%netscape.com
befa259a88 Landing xpcom20/21 branch.
git-svn-id: svn://10.0.0.236/trunk@32644 18797224-902f-48f8-a5cc-f745e15eee43
1999-05-26 01:38:36 +00:00
scc%netscape.com
817f56596f rename |IID()| --> |GetIID()|
git-svn-id: svn://10.0.0.236/trunk@22744 18797224-902f-48f8-a5cc-f745e15eee43
1999-03-03 19:48:57 +00:00