86 Commits

Author SHA1 Message Date
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
mstoltz%netscape.com
539425ad49 Checking in bug 87913 for jesse@netscape.com - Allow untrusted scripts
to call Components.manager.autoRefresh, but only with default params.
r=mstoltz, sr=jst.


git-svn-id: svn://10.0.0.236/trunk@99050 18797224-902f-48f8-a5cc-f745e15eee43
2001-07-11 04:48:55 +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
scc%mozilla.org
90f810b66a bug #85271: sr=waterson, r={beard, jag, dbaron}, a=asa. Eliminate features of |nsXPIDLC?String| that keep it out of the string hierarchy (i.e., using assigment to rebind ownership, static |Copy| members, and |getter_Shares|), fixing some leaks in the process.
git-svn-id: svn://10.0.0.236/trunk@97289 18797224-902f-48f8-a5cc-f745e15eee43
2001-06-17 05:23:38 +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
kandrot%netscape.com
df46e3cf1c Fix for bug #46709
Allows registry buffer size to be modified.  Increases buffer size during
initial start up, then decreases size.

r=rayw


git-svn-id: svn://10.0.0.236/trunk@78470 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-08 01:51:45 +00:00
rayw%netscape.com
90d0498159 Per bug 3690:
Added new functions to the registry for reading / writing byte arrays
of binary content and escaping registry keys that contain binary
content.  Modified code which reads/writes location of dll or javascript
for components to use new ReadBytesUTF8/WriteBytesUTF8 and which uses
or reads the keys to use EscapeKey and UnescapeKey.

r=dveditz


git-svn-id: svn://10.0.0.236/trunk@69307 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 01:24:36 +00:00
dveditz%netscape.com
4eddb0ee15 Bug 23941 speed up install on Mac, r=cathleen, a=jar;
Bug 12817 no Autoreg (in optimized builds) unless xpinstall detects flag indicating install has happened or build number changed, r=dp, a=jar;
Bug 23859 add wstring API to nsIRegistry for profile manager/i18n, r=gayatrib, a=jar;


git-svn-id: svn://10.0.0.236/trunk@61370 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-20 03:12:59 +00:00
dveditz%netscape.com
9f13883da5 registry speed ups (part of 12817)
git-svn-id: svn://10.0.0.236/trunk@61112 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-16 07:45:20 +00:00
dougt%netscape.com
834bfb40d0 Fix for bug 25941. r=dp,scc.
git-svn-id: svn://10.0.0.236/trunk@59376 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-01 07:54:46 +00:00
dougt%netscape.com
9b70d475ce Giving these files Purify loving. r=dveditz
git-svn-id: svn://10.0.0.236/trunk@59112 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-28 23:37:27 +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
40adb96b8f Implementing access to servicemanager from component manager via
nsIInterfaceRequestor. r=scc


git-svn-id: svn://10.0.0.236/trunk@57455 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-11 22:54:46 +00:00
beard%netscape.com
fed38c19f8 fix C string leak, bug=18699, r=shaver
git-svn-id: svn://10.0.0.236/trunk@53951 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:14:23 +00:00
shaver%netscape.com
6896473ece - NS_ERROR_FACTORY_REGISTER_AGAIN for deferring registration of a module until
later in the autoreg cycle.
- teach native component loader about deferred components
- add nsIComponentLoader::registerDeferredComponents
- teach component manager about deferred components
- made nsID::Parse take a |const char *| instead of a simple |char *|.
- move release of XPTI singletons until _after_ shutting down the component
  manager to prevent re-initialization during JS component shutdown.
- category manager work: really delete from reg, start on enumeration
- use nsXPIDLCString instead of autoStringFree.
- fix nsRegistry to use allocator properly.
- cleaner memory management in nsFactoryEntry.
- capitalization fixed in nsIComponentLoader.idl
- clean up loader creation logic
- remove/disable lots of DEBUG_shaver noise
- added (disabled) warning about NSGetFactory usage
- move .so and .shlb higher up in the ValidDllExtensions list to marginally
  speed up registration.
- added nsDll::GetRegistryLocation API
- properly export nsSupportsArray.h
- capitalization fixes in nsIEnumerator.idl
- added deferral to nsSample.js


git-svn-id: svn://10.0.0.236/trunk@53047 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:28:34 +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
dp%netscape.com
32ccfffb02 bug#14656 Circular release problem of component manager. Fixed by
adding shutdown() method that gets called before the last
release. Enabled only for dp & shaver until we resolve js coredump.


git-svn-id: svn://10.0.0.236/trunk@51416 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-21 21:34:39 +00:00
scc%netscape.com
38a4215c26 Bug #15292, r=dp. Made the component manager inherit from |nsSupportsWeakReference|, fixed its |QueryInterface()| appropriately, and added casts in two places that became ambiguous now that the component manager had multiple |nsISupports| in it. Now one can hold a weak reference to the component manager using |nsIWeakReference|.
git-svn-id: svn://10.0.0.236/trunk@50853 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-15 21:14:43 +00:00
shaver%netscape.com
393d020282 nsIRegistry scriptability and beginning of category support, r=dp,alecf,dveditz a=leaf,chofmann
git-svn-id: svn://10.0.0.236/trunk@49272 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-29 02:35:42 +00:00
dp%netscape.com
24f11a016d Passing down NS_Shutdown to Unloading of libraries.
git-svn-id: svn://10.0.0.236/trunk@49101 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-26 18:04:27 +00:00
shaver%netscape.com
d13e0a7104 lose some DEBUG_shaver debugging noise
git-svn-id: svn://10.0.0.236/trunk@47584 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 14:45:29 +00:00
shaver%netscape.com
d28ae6ecaf fix memory leaks (eep) and add some debugging noise for myself
git-svn-id: svn://10.0.0.236/trunk@46470 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-09 00:48:30 +00:00