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

151 Коммитов

Автор SHA1 Сообщение Дата
bsmedberg%covad.net 5fba1c6aea 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 2005-07-21 13:33:43 +00:00
bsmedberg%covad.net 68e5fbad29 Bug 282761 - crash if getClassObject "succeeds" but returns null r=dougt 2005-02-19 14:43:42 +00:00
darin%meer.net 6d8591d85f fixes bug 263360 "Make CallCreateInstance use NS_GetComponentManager instead of nonfrozen/deprecated nsComponentManager symbols" r=bsmedberg sr=dbaron 2004-11-23 20:53:38 +00:00
bzbarsky%mit.edu a59c28f736 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
2004-04-18 17:35:29 +00:00
gerv%gerv.net 31625ba2b1 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:21:17 +00:00
scott%scott-macgregor.org 819efeac2a 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.
2004-03-10 06:40:36 +00:00
scott%scott-macgregor.org 5ed82ec38c Backout Bug #235882. This broke the component manager's ability to load JS components leading to several regressions,
most noticeably: Bug #236952.
2004-03-10 06:11:10 +00:00
timeless%mozdev.org 666079e2c3 Bug 235882 Make nsComponentManagerImpl::AddLoaderType return only one type of value
r=dougt
2004-03-09 07:09:52 +00:00
bryner%brianryner.com a10a5e8383 Continuing removal of unneeded virtual destructors (bug 229875). r=dougt, sr=dbaron. 2004-01-22 01:01:19 +00:00
bryner%brianryner.com 0c7c3a2ff3 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. 2004-01-15 06:14:18 +00:00
bsmedberg%covad.net 2923bed5da Fix static build bustage from bug 223084 - r=bryner Sorry about that! 2003-10-31 20:50:22 +00:00
dougt%meer.net a856820d8e Enables debug stackcrawl support in GRE builds. b=208098. r=dbaron. 2003-07-07 22:11:36 +00:00
seawood%netscape.com 8fdbbdff1d 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
2003-07-01 18:32:49 +00:00
bsmedberg%covad.net a82cd52521 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. 2003-06-18 11:26:27 +00:00
dougt%meer.net 3c693caabd Stacks nsFactoryEntry's so that we can support overloading factories a bit better. r=darin, a=blizzard, b=204870 2003-05-13 22:50:03 +00:00
alecf%netscape.com 8e11ceab33 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
2003-03-14 05:07:24 +00:00
dougt%netscape.com 2ccd3b4f03 Adding debug support to detect reentrant create instance patterns, r+sr=alecf@netscape.com, b=194568 2003-03-12 03:58:33 +00:00
dougt%netscape.com a4c7c7573f Converting the file location of the component registry and the xpti manifest file to use the directory service. r=darin, b=191055 2003-03-11 21:36:59 +00:00
dougt%netscape.com 939bb1e75c 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. 2003-03-05 03:22:12 +00:00
tor%cs.brown.edu db50a85d91 Backout of 193442/191415. a=brade,dougt 2003-03-03 21:00:07 +00:00
dougt%netscape.com 41a7079693 backing out last change - using linear list does not change the start up time. 2003-03-03 03:26:02 +00:00
dougt%netscape.com 2fbb3eb669 Reverting mAutoRegEntries hashtable change. I believe it was responsible for the bulk of the 200ms spike. b=195494. 2003-03-03 01:19:58 +00:00
dougt%netscape.com dccf8bcbee 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. 2003-02-28 21:30:35 +00:00
dougt%netscape.com 1953de132a xpcom is unable to always load .js component file. r=ssu, sr=alecf, a=rjesup, b=190560 build/nsXPComInit.cpp 2003-01-28 22:07:53 +00:00
dougt%netscape.com f93a81bfcb Fixes 48888 - xpcom flat file backend. r=dp@netscape.com sr=waterson@netscape.com 2002-06-14 21:33:05 +00:00
seawood%netscape.com d3d6e929f1 Use the same name for the application profile directory in the registry as the profile manager does.
Bug #146150 r=arougthopher
2002-06-14 05:08:05 +00:00
dp%netscape.com 65a183cd7a bug 130381 Using arena for registry prepopulation r=dougt sr=alecf a=asa 2002-05-02 21:25:08 +00:00
dougt%netscape.com c50ca402ad 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
2002-01-29 21:22:13 +00:00
dougt%netscape.com 849d297364 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
2001-12-19 00:12:41 +00:00
kmcclusk%netscape.com d63ec3efab Backing out the fix for Bad use of nsIFile in component manager to fix spell checker. bug 106949 r=jband a=brendan 2001-12-14 01:27:16 +00:00
pete%alphanumerica.com 7c2ab7cf47 b=106949, r=ccarlen, sr=jband
Bad use of nsIFile in component manager

--pete
2001-12-11 03:25:32 +00:00
neeti%netscape.com 0edebe6c41 bug 106466 - Removed nsServiceEntry from ComponentManager, r=dougt, sr=brendan 2001-11-16 13:53:04 +00:00
dp%netscape.com f9950de713 bug 108071 Eliminate 4000 calls to malloc by using copy getters of
registry. r=dveditz, sr=sfraser
2001-11-16 02:38:23 +00:00
seawood%netscape.com 9b5ae05e33 Landing the rest of the mach-o OSX changes.
Bug #75653 r=cls sr=waterson
2001-10-27 07:38:18 +00:00
neeti%netscape.com 04ab881373 fix for bug 96461 - using PLDHash for ComponentManager,r=shaver@mozilla.org, sr=brendan@mozilla.org 2001-10-23 02:28:12 +00:00
dougt%netscape.com 004836dcaf Allows a QI from nsIServiceManager to nsIServiceManagerObsolete. b=105136, r=beard, sr=darin 2001-10-16 23:39:20 +00:00
dougt%netscape.com 4f3a44d63b API Freeze for nsIServiceManager r=shaver@mozilla.org, sr=rpotts@netscape.com bug 99147 2001-10-16 03:35:52 +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
dp%netscape.com a682729604 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
2001-09-25 00:38:44 +00:00
dougt%netscape.com f72e52e830 Merge ServiceManager and ComponentManager. Bug 96457. r=dp@netscape.com, sr=wat
erson@netscape.com
2001-09-06 21:13:11 +00:00
valeski%netscape.com 93959d48cc 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. 2001-09-05 21:28:38 +00:00
dp%netscape.com 80feb5b38b 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
2001-08-30 14:10:41 +00:00
dp%netscape.com b27e59a919 bug 94883 nsCreateInstanceByContractID() performance improvement 2001-08-21 22:42:35 +00:00
av%netscape.com 3ee52d160b Backing out existing fix for 87193 -- r=mstolz, sr=shaver, attinasi 2001-07-17 02:24:16 +00:00
mstoltz%netscape.com 755eb0ae93 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.
2001-07-11 04:48:55 +00:00
waterson%netscape.com b74d6e1c8b 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. 2001-06-20 20:21:49 +00:00
scc%mozilla.org a8fb409c6e 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. 2001-06-17 05:23:38 +00:00
rayw%netscape.com 0257791053 Bug 37275, Changing value of all progids, and changing everywhere a progid
is mentioned to mention a contractid, including in identifiers.

r=warren
2000-09-13 23:57:52 +00:00
kandrot%netscape.com e89ce829b0 Fix for bug #46709
Allows registry buffer size to be modified.  Increases buffer size during
initial start up, then decreases size.

r=rayw
2000-09-08 01:51:45 +00:00
rayw%netscape.com d0199a10bc 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
2000-05-12 01:24:36 +00:00
dveditz%netscape.com a63ee75907 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;
2000-02-20 03:12:59 +00:00
dveditz%netscape.com f620060761 registry speed ups (part of 12817) 2000-02-16 07:45:20 +00:00
dougt%netscape.com f9a743cbcb Fix for bug 25941. r=dp,scc. 2000-02-01 07:54:46 +00:00
dougt%netscape.com bae665046a Giving these files Purify loving. r=dveditz 2000-01-28 23:37:27 +00:00
dougt%netscape.com 0b0346079c Landing nsIFile. 2000-01-24 21:28:28 +00:00
dp%netscape.com 2df47b0c6d Implementing access to servicemanager from component manager via
nsIInterfaceRequestor. r=scc
2000-01-11 22:54:46 +00:00
beard%netscape.com 252e9c7159 fix C string leak, bug=18699, r=shaver 1999-11-19 02:14:23 +00:00
shaver%netscape.com c73533acb7 - 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
1999-11-10 00:28:34 +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
dp%netscape.com 03fd310400 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.
1999-10-21 21:34:39 +00:00
scc%netscape.com ef8d06d258 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|. 1999-10-15 21:14:43 +00:00
shaver%netscape.com f28337480b nsIRegistry scriptability and beginning of category support, r=dp,alecf,dveditz a=leaf,chofmann 1999-09-29 02:35:42 +00:00
dp%netscape.com 602baa248e Passing down NS_Shutdown to Unloading of libraries. 1999-09-26 18:04:27 +00:00
shaver%netscape.com 070f7e8f51 lose some DEBUG_shaver debugging noise 1999-09-15 14:45:29 +00:00
shaver%netscape.com a131f8079e fix memory leaks (eep) and add some debugging noise for myself 1999-09-09 00:48:30 +00:00
shaver%netscape.com aee3857b3b teach component manager that there are non-native entries in the registry 1999-09-07 23:18:47 +00:00
shaver%netscape.com c1950cee17 Moved abs:/rel: handling to ComponentManager.
Made nsIModule::GetClassObject and nsIFactory scriptable for JS components.
Added registryLocation param to nsIModule::(Un)RegisterSelf.
1999-09-07 05:06:37 +00:00
shaver%netscape.com 6cecf4c569 convert to CreateInstanceFromProgID 1999-09-05 06:27:42 +00:00
shaver%netscape.com c8ebe122e6 Added ComponentLoaders to registry and abandoned the progID suffix strategy
to reduce evil in universe.
Added nsIComponentManager::RegisterComponentLoader.
Dead code removal.
Make AutoRegister eagerly created all as-yet-unloaded component loaders and
AutoRegister with them as well.
Removed much #ifdef DEBUG_shaver noise.
1999-09-02 07:00:29 +00:00
shaver%netscape.com 1db9afa25d Removed nsIFactory.h (generated now).
Factored ComponentManager to support multiple ComponentLoaders.
Added support for relative paths in registry.
General cleanup.
(Broke detection of changed DLLs; dp is fixing -- thanks!)
1999-08-31 21:40:21 +00:00
dp%netscape.com e3d3ff58c6 PlatformFind() changed to return nsDll * instead of FactoryEntry. This
is an internal api change.
1999-08-20 23:06:47 +00:00
dp%netscape.com d42f5605f4 - Adding nsComponentMangager::GetClassObject()
- Adding a nsIID parameter to the nsIModule:GetClassObject()
1999-08-19 14:54:12 +00:00
dp%netscape.com 967a7ea8e9 - using ComponentManager instead of service manager in nsIModule
- Adding UnregisterComponentSpec()
All the above are required for xpcom review.
1999-08-13 19:30:13 +00:00
jband%netscape.com c153f122e9 adding enumeration of CLSIDs and ProgIDs using code from Robert Ginda <rginda@ix.netcom.com> 1999-08-09 05:02:25 +00:00
dp%netscape.com 759351891f - Added internal UnloadLibraries() that can take a NULL service
manager too for nsXPComShutdown()'s sake
1999-07-31 05:55:26 +00:00
warren%netscape.com 334c7b3f3e Added destructor/cleanup code. 1999-07-28 08:01:03 +00:00
dp%netscape.com cc376e10ad Landing XPCOM_M8_PERF_BRANCH.
- GetFactoryEntry() factored out into a function
- Factory Cacheing enabled
- deletion of removed factory entries enabled
- Locks removed from FindFactory() and Register*()
1999-07-07 07:47:14 +00:00
dp%netscape.com 0fc11b859d PlatformPrePopulateRegistry() 1999-07-02 03:35:09 +00:00
mcafee%netscape.com 7f42e390e5 BeOS changes 1999-06-29 10:27:58 +00:00
dp%netscape.com 65fc0e7499 XPCOM switched to using nsIFileSpec. 1999-06-22 14:02:58 +00:00
dp%netscape.com 462e42b5b3 - NS_RegistryGetFactory API Change
- QuickRegister eliminated
1999-06-14 02:07:03 +00:00
dp%netscape.com 94344009c8 Landing xpcom20/21 branch. 1999-05-26 01:38:36 +00:00
dp%netscape.com 2f513cd724 Landing M6 XPCOM Code cleanup branch 1999-05-06 13:29:37 +00:00
dveditz%netscape.com e90a239bae minor startup performance improvement 1999-05-06 04:19:06 +00:00
dp%netscape.com f562822847 ProgID hashing fixed. We now hash the progids passed in with RegisterFactory() also. Thanks to Nicholas Ambrose <nick87@hotmail.com> for yet another patch. 1999-04-12 12:32:24 +00:00
dp%netscape.com 10c331806e Caching of commonly used registry keys. Patch from Nicholas Ambrose <nick87@hotmail.com>. Thanks nick. 1999-04-06 08:26:38 +00:00
waterson%netscape.com 0c12345a07 Fix build bustage on Win32. 1999-04-02 21:13:20 +00:00
dp%netscape.com 146db3b3fb API Cleanup. 1999-04-02 20:28:22 +00:00
dp%netscape.com a855a3539a XPCOM used nsIRegistry. Thanks to Nicholas Ambrose <nick87@hotmail.com> 1999-03-31 07:04:12 +00:00
waterson%netscape.com 89e53b21e2 Changed RDF progids to use forward-slashes instead of pipes. 1999-03-30 01:09:24 +00:00
dp%netscape.com f40fa2de73 Forcing xpcom registry recreation after moving appcores.dll from bin/components to bin/ since mailnew links with it 1999-03-16 01:33:46 +00:00
dp%netscape.com 82188ec99d Using nsHashtable and nsProgIDKey for dll hashing 1999-03-12 11:25:17 +00:00
dp%netscape.com 38a1ba3588 Forcing XPCOM registry recreation 1999-03-12 08:53:45 +00:00
dp%netscape.com 63ec363dda Unix: Autoregistration disabled at initialization. This should be done by app. 1999-03-12 00:05:54 +00:00
dp%netscape.com e11be739ca creating ~/.mozilla under unix if not already there. 1999-03-11 07:44:23 +00:00
dp%netscape.com c64e0b5054 changing to correct indent style and tabs. Beautify... 1999-03-10 09:53:25 +00:00
dp%netscape.com c3220b48e7 Recheckin because of loss during ComponentManager Merge
- Using Reg*Raw() interface to support component urls storage in registry.
 - Implemented recursive version of DeleteKey() so that Reg*Raw() interface could be used

 - Fixing memory corruption; access of deleted dll object
1999-03-10 09:16:28 +00:00
akkana%netscape.com 5a4c5d7eac fixing merge problem of windows not looking for components in components directory - dp & akkana 1999-03-09 22:18:32 +00:00
dp%netscape.com c2192b4a62 registry version to 0.40 for component manager change 1999-03-09 21:31:33 +00:00
warren%netscape.com a8bace7801 Trying a hack to see if I can make linux happy. 1999-03-09 10:15:54 +00:00