107 Commits

Author SHA1 Message Date
benjamin%smedbergs.us
3968e1b42d Back out bug 412320 and various followups because the perf impact was minimal and the code is more complicated
git-svn-id: svn://10.0.0.236/trunk@246221 18797224-902f-48f8-a5cc-f745e15eee43
2008-02-21 20:39:23 +00:00
benjamin%smedbergs.us
cc4193bab8 Bug 412320 - Try code-generation for QI impls, r=roc+luser
git-svn-id: svn://10.0.0.236/trunk@243992 18797224-902f-48f8-a5cc-f745e15eee43
2008-01-25 17:14:53 +00:00
bsmedberg%covad.net
117197e182 Re-landing bug 316416 with biesi's uninitialized-rv catch and with the windows nsIFile hashing cached (bug 316732)
git-svn-id: svn://10.0.0.236/trunk@185996 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-13 17:55:43 +00:00
bsmedberg%covad.net
9c52a8d23a Reverting bug 316416 due to Ts regression and mysterious monkey orange :-(
git-svn-id: svn://10.0.0.236/trunk@185645 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-03 15:27:17 +00:00
bsmedberg%covad.net
dc84be3e28 Bug 316416 - Convert nsIComponentLoader into nsIModuleLoader, xpcom bits r=darin xpconnect bits r=shaver; and bug 318625 - Make a version of nsTArray.AppendElement that doesn't copy-construct, r=darin
git-svn-id: svn://10.0.0.236/trunk@185574 18797224-902f-48f8-a5cc-f745e15eee43
2005-12-02 16:34:42 +00:00
bsmedberg%covad.net
5ecf8d2231 Bug 316558 - Stop implementing a few old nsIComponentManagerObsolete methods, r=darin
git-svn-id: svn://10.0.0.236/trunk@184708 18797224-902f-48f8-a5cc-f745e15eee43
2005-11-15 20:15:05 +00:00
bsmedberg%covad.net
b7271f1273 Bug 296561 - rework static component loading so that nsIXULAppInfo/Runtime/etc are available during autoregistration/xpcom-startup notification (and make static component loading saner in general) - r=shaver+dougt, a=asa
git-svn-id: svn://10.0.0.236/trunk@176383 18797224-902f-48f8-a5cc-f745e15eee43
2005-07-21 13:33:43 +00:00
bsmedberg%covad.net
2b651d90dc Bug 282761 - crash if getClassObject "succeeds" but returns null r=dougt
git-svn-id: svn://10.0.0.236/trunk@169491 18797224-902f-48f8-a5cc-f745e15eee43
2005-02-19 14:43:42 +00:00
darin%meer.net
86a93a5874 fixes bug 263360 "Make CallCreateInstance use NS_GetComponentManager instead of nonfrozen/deprecated nsComponentManager symbols" r=bsmedberg sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@165662 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-23 20:53:38 +00:00
bzbarsky%mit.edu
135f4a26a4 Don't store "no such component" entries in the hashtable when a contractid
lookup fails.  Now that we preload the registry, that serves no purpose.  Bug
230776, patch by Malcolm Rowe <malcolm-bmo@farside.org.uk>, r=dougt, sr=alecf


git-svn-id: svn://10.0.0.236/trunk@155079 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-18 17:35:29 +00:00
gerv%gerv.net
210853d71e Bug 236613: change to MPL/LGPL/GPL tri-license.
git-svn-id: svn://10.0.0.236/trunk@155067 18797224-902f-48f8-a5cc-f745e15eee43
2004-04-18 14:21:17 +00:00
scott%scott-macgregor.org
72c723ac25 Back out the backout of Bug #235882. It looks like dbaron's leak fix actually fixed the regressions the component manager
changes caused for JS components.


git-svn-id: svn://10.0.0.236/trunk@153826 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-10 06:40:36 +00:00
scott%scott-macgregor.org
fb2ac810aa Backout Bug #235882. This broke the component manager's ability to load JS components leading to several regressions,
most noticeably: Bug #236952.


git-svn-id: svn://10.0.0.236/trunk@153824 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-10 06:11:10 +00:00
timeless%mozdev.org
467a5e68f1 Bug 235882 Make nsComponentManagerImpl::AddLoaderType return only one type of value
r=dougt


git-svn-id: svn://10.0.0.236/trunk@153738 18797224-902f-48f8-a5cc-f745e15eee43
2004-03-09 07:09:52 +00:00
bryner%brianryner.com
1bd144eac3 Continuing removal of unneeded virtual destructors (bug 229875). r=dougt, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@151669 18797224-902f-48f8-a5cc-f745e15eee43
2004-01-22 01:01:19 +00:00
bryner%brianryner.com
b5ccad4460 Bug 229875 - eliminate unnecssary public/virtual destructors. This patch changes all refcounted classes under xpcom/, which aren't inherited from or used on the stack, to have private, nonvirtual destructors. r=dougt, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@151359 18797224-902f-48f8-a5cc-f745e15eee43
2004-01-15 06:14:18 +00:00
bsmedberg%covad.net
2397aa3c81 Fix static build bustage from bug 223084 - r=bryner Sorry about that!
git-svn-id: svn://10.0.0.236/trunk@148667 18797224-902f-48f8-a5cc-f745e15eee43
2003-10-31 20:50:22 +00:00
dougt%meer.net
62a22c39a4 Enables debug stackcrawl support in GRE builds. b=208098. r=dbaron.
git-svn-id: svn://10.0.0.236/trunk@144537 18797224-902f-48f8-a5cc-f745e15eee43
2003-07-07 22:11:36 +00:00
seawood%netscape.com
18593c4931 Make user-specific application directory name configurable using --with-user-appdir.
Thanks to Ben Bucksch <ben.bucksch@beonex.com> for the original patch.
Bug #58327 r=dougt


git-svn-id: svn://10.0.0.236/trunk@144350 18797224-902f-48f8-a5cc-f745e15eee43
2003-07-01 18:32:49 +00:00
bsmedberg%covad.net
e3c168a346 Bug 193031 fix category manager to use aPersist parameter. Bug 54639 Category Manager is not thread-safe. Bug 208437 separate threadsafe nsBaseHashtable into super-class nsBaseHashtableMT. r=dougt/alecf I know Sun Workshop builds are still broken... working on it.
git-svn-id: svn://10.0.0.236/trunk@143853 18797224-902f-48f8-a5cc-f745e15eee43
2003-06-18 11:26:27 +00:00
dougt%meer.net
ca6e5be051 Stacks nsFactoryEntry's so that we can support overloading factories a bit better. r=darin, a=blizzard, b=204870
git-svn-id: svn://10.0.0.236/trunk@142385 18797224-902f-48f8-a5cc-f745e15eee43
2003-05-13 22:50:03 +00:00
alecf%netscape.com
ab3b9db8cd fix for bug 196210, component manager is malloc-happy:
- use custom non-allocating CID formatter when writing out compreg.dat
- arena allocate category names and keys
- pass around string lengths so we don't keep calling strlen
r=dougt


git-svn-id: svn://10.0.0.236/trunk@139432 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-14 05:07:24 +00:00
dougt%netscape.com
f1e172a2b3 Adding debug support to detect reentrant create instance patterns, r+sr=alecf@netscape.com, b=194568
git-svn-id: svn://10.0.0.236/trunk@139311 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-12 03:58:33 +00:00
dougt%netscape.com
928f8738d9 Converting the file location of the component registry and the xpti manifest file to use the directory service. r=darin, b=191055
git-svn-id: svn://10.0.0.236/trunk@139289 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-11 21:36:59 +00:00
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
3fd622cba7 backing out last change - using linear list does not change the start up time.
git-svn-id: svn://10.0.0.236/trunk@138786 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-03 03:26:02 +00:00
dougt%netscape.com
ffaba2352d Reverting mAutoRegEntries hashtable change. I believe it was responsible for the bulk of the 200ms spike. b=195494.
git-svn-id: svn://10.0.0.236/trunk@138784 18797224-902f-48f8-a5cc-f745e15eee43
2003-03-03 01:19:58 +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
dougt%netscape.com
6684eeb0e6 xpcom is unable to always load .js component file. r=ssu, sr=alecf, a=rjesup, b=190560 build/nsXPComInit.cpp
git-svn-id: svn://10.0.0.236/trunk@137042 18797224-902f-48f8-a5cc-f745e15eee43
2003-01-28 22:07:53 +00:00
dougt%netscape.com
dffd6e4f8a Fixes 48888 - xpcom flat file backend. r=dp@netscape.com sr=waterson@netscape.com
git-svn-id: svn://10.0.0.236/trunk@123350 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 21:33:05 +00:00
seawood%netscape.com
87c856e6bd Use the same name for the application profile directory in the registry as the profile manager does.
Bug #146150 r=arougthopher


git-svn-id: svn://10.0.0.236/trunk@123299 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-14 05:08:05 +00:00
dp%netscape.com
3bf7d05b91 bug 130381 Using arena for registry prepopulation r=dougt sr=alecf a=asa
git-svn-id: svn://10.0.0.236/trunk@120580 18797224-902f-48f8-a5cc-f745e15eee43
2002-05-02 21:25:08 +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
kmcclusk%netscape.com
575a192c88 Backing out the fix for Bad use of nsIFile in component manager to fix spell checker. bug 106949 r=jband a=brendan
git-svn-id: svn://10.0.0.236/trunk@110446 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-14 01:27:16 +00:00
pete%alphanumerica.com
ec5da21679 b=106949, r=ccarlen, sr=jband
Bad use of nsIFile in component manager

--pete


git-svn-id: svn://10.0.0.236/trunk@110210 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-11 03:25:32 +00:00
neeti%netscape.com
4dc47433dd bug 106466 - Removed nsServiceEntry from ComponentManager, r=dougt, sr=brendan
git-svn-id: svn://10.0.0.236/trunk@108297 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-16 13:53:04 +00:00
dp%netscape.com
5a69dc4d07 bug 108071 Eliminate 4000 calls to malloc by using copy getters of
registry. r=dveditz, sr=sfraser


git-svn-id: svn://10.0.0.236/trunk@108250 18797224-902f-48f8-a5cc-f745e15eee43
2001-11-16 02:38:23 +00:00
seawood%netscape.com
4551221bef Landing the rest of the mach-o OSX changes.
Bug #75653 r=cls sr=waterson


git-svn-id: svn://10.0.0.236/trunk@106461 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-27 07:38:18 +00:00
neeti%netscape.com
b5893430a8 fix for bug 96461 - using PLDHash for ComponentManager,r=shaver@mozilla.org, sr=brendan@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@106014 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-23 02:28:12 +00:00
dougt%netscape.com
7afa8ce1d2 Allows a QI from nsIServiceManager to nsIServiceManagerObsolete. b=105136, r=beard, sr=darin
git-svn-id: svn://10.0.0.236/trunk@105560 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 23:39:20 +00:00
dougt%netscape.com
2367cd653a API Freeze for nsIServiceManager r=shaver@mozilla.org, sr=rpotts@netscape.com bug 99147
git-svn-id: svn://10.0.0.236/trunk@105458 18797224-902f-48f8-a5cc-f745e15eee43
2001-10-16 03:35:52 +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
dp%netscape.com
5928625a80 bug 100682 temporary way to get service without creating a new
one. This will get fixed the right way along with other api changes
for component and servicemanager r=sfraser/dougt, sr=mscott


git-svn-id: svn://10.0.0.236/trunk@103669 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-25 00:38:44 +00:00
dougt%netscape.com
6abd1d51a4 Merge ServiceManager and ComponentManager. Bug 96457. r=dp@netscape.com, sr=wat
erson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@102449 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-06 21:13:11 +00:00
valeski%netscape.com
8db35965a8 r=dbaron, sr=dougt. 97667. nsIInterfaceRequestor is now frozen. nsIInterfaceRequestorUtils.h is now required if you want to use do_GetInterface() for convenience. The two were split because the stuff that is now in nsIInterfaceRequestorUtils.h wasn't ready for freezing. Also, .idl files should just contain interface defs anyway.
git-svn-id: svn://10.0.0.236/trunk@102327 18797224-902f-48f8-a5cc-f745e15eee43
2001-09-05 21:28:38 +00:00
dp%netscape.com
dd5adbe141 bug# 96701 Using an array instead of hash table to store loader
data. Storing index into loader data array rather than allocating and
copying the type string. r=dougt, sr=jband, a=asa


git-svn-id: svn://10.0.0.236/trunk@102024 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-30 14:10:41 +00:00
dp%netscape.com
1c97d50450 bug 94883 nsCreateInstanceByContractID() performance improvement
git-svn-id: svn://10.0.0.236/trunk@101561 18797224-902f-48f8-a5cc-f745e15eee43
2001-08-21 22:42:35 +00:00
av%netscape.com
b6f5088ad1 Backing out existing fix for 87193 -- r=mstolz, sr=shaver, attinasi
git-svn-id: svn://10.0.0.236/trunk@99374 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-17 02:24:16 +00:00