Benjamin Smedberg
c3f5b450d3
Bug 568691 - Fix MOZ_OMNIJAR registration, r=mwu
2010-07-02 09:53:19 -04:00
Benjamin Smedberg
2115ff7b10
Require XPT files to be loaded explicitly: they are never auto-registered when found in a components/ directory.
2010-06-29 18:16:48 -04:00
Benjamin Smedberg
196f9d1675
Fix and test logging of manifest parsing and registration. I discovered that the outer loop doesn't track line numbers correctly when there are multiple newlines in a row, which requires manual looping instead of using nsCRT::strtok.
2010-06-28 13:55:57 -04:00
Benjamin Smedberg
e507d10498
Bug 568691 - Normalize relative paths on Windows to use back slashes, and add a manifest processing directive for XPT files so that extension chrome.manifest can point to them and we don't have to troll around in extension components/ directories.
2010-06-25 13:55:46 -04:00
Benjamin Smedberg
ae66b12077
Bug 568691, followup to RegisterFactory implementation: make the nsFactoryEntry hold a CIDEntry with the proper CID, because code elsewhere expects that to be present (ContractIDToCID and the pending-CID checks).
2010-06-25 10:44:35 -04:00
Benjamin Smedberg
14ddc8858d
Remove hard tabs which I accidentally introduced into nsComponentManager.{h,cpp}.
2010-06-23 13:36:53 -04:00
Benjamin Smedberg
c410913dc1
Implement RereadChromeManifests for bug 568691.
2010-06-22 16:24:01 -04:00
Benjamin Smedberg
726d0cfc47
Address review comments from bug 568691 comment 13/14/17:
...
* rename mozilla::Module struct entries to be clearer
* change Module documentation so that the last entry is { NULL } in all cases (the compiler will 0-expand the structure)
* remove NS_XPCOM_COMPONENT_REGISTRY_FILE
* add MOZ_MEDIA/MOZ_OGG/MOZ_WAVE/MOZ_WEBM ifdefs to nsHTMLMediaElement.h and nsContentUtils.cpp
2010-06-21 12:46:26 -04:00
Benjamin Smedberg
2ebeafd362
Merge mozilla-central into the "branch" for but 568691. The omnijar XPT/component/chrome registration was removed during this merge, and will be re-added to the component manager shortly.
2010-06-21 11:41:42 -04:00
Benjamin Smedberg
d2fcac6b2a
Bug 568691 part C - Register all components based on reading .manifest files from the components directories. Binary components auto-register using "binary-component name.dll". JS components register using "component CID file.js" "contract @mozilla.org/contract;1 CID" and "category categoryname keyname value".
...
This patch has some bugs, specifically we stop looking for .manifest files in chrome/. I will fix that in a followup. It also probably breaks non-libxul builds because of ordering issues.
Another followup will actually fix our in-tree JS components and add build machinery for creating a proper components.manifest file.
2010-06-11 16:13:26 -04:00
Benjamin Smedberg
0e824d90bb
Bug 568691 part A - register static and binary components using data tables rather than programmatic nsIComponentRegistrar methods. This part contains the important needs-review bits of the change: part B contains the mechanical changes to each module in order to actually get a working build. Part C will contain changes necessary to register JS components from .manifest files
2010-06-10 14:11:11 -04:00
Michael Wu
e1047fa362
Bug 552121 - Load js modules and components from the omnijar [7/7], r=bsmedberg
2010-06-15 12:38:46 -07:00
Benjamin Smedberg
5e5b33e904
Bug 519357 - Only load known binary components from the app directory by reading a components.list file, r=vlad
2009-11-05 09:08:49 -05:00
Sergey Yanovich
1eb9f303d0
Bug 462497. Don't reacquire a monitor in nsComponentManagerImpl::HashContractID that we already hold. r=bsmedberg
2009-01-08 21:41:55 +13:00
Ben Turner
288e486cf1
Bug 449822 - "Service manager can create two instances of a service". r=bsmedberg.
2008-09-04 15:44:41 -07:00
7b34ae7602
Back out bug 412320 and various followups because the perf impact was minimal and the code is more complicated
2008-02-21 12:39:20 -08:00
db8d572868
Bug 412320 - Try code-generation for QI impls, r=roc+luser
2008-01-25 09:14:48 -08:00
bsmedberg@covad.net
8e60d2c8d4
Re-landing bug 316416 with biesi's uninitialized-rv catch and with the windows nsIFile hashing cached (bug 316732)
2005-12-13 17:55:43 +00:00
bsmedberg@covad.net
6bad7c90d3
Reverting bug 316416 due to Ts regression and mysterious monkey orange :-(
2005-12-03 15:27:17 +00:00
bsmedberg@covad.net
489c776123
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
2005-12-02 16:34:42 +00:00
bsmedberg@covad.net
4aa213f9ae
Bug 316558 - Stop implementing a few old nsIComponentManagerObsolete methods, r=darin
2005-11-15 20:15:05 +00:00
bsmedberg@covad.net
df1a9ad1b8
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
1771b490e2
Bug 282761 - crash if getClassObject "succeeds" but returns null r=dougt
2005-02-19 14:43:42 +00:00
darin@meer.net
b9a22224f6
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
5608945d45
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
c0cd46fc51
Bug 236613: change to MPL/LGPL/GPL tri-license.
2004-04-18 14:21:17 +00:00
scott@scott-macgregor.org
717aefc968
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
3442c57c9f
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
603ca03a9e
Bug 235882 Make nsComponentManagerImpl::AddLoaderType return only one type of value
...
r=dougt
2004-03-09 07:09:52 +00:00
bryner@brianryner.com
73c3254bfa
Continuing removal of unneeded virtual destructors (bug 229875). r=dougt, sr=dbaron.
2004-01-22 01:01:19 +00:00
bryner@brianryner.com
3736b6e206
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
4baf331386
Fix static build bustage from bug 223084 - r=bryner Sorry about that!
2003-10-31 20:50:22 +00:00
dougt@meer.net
f09eff5661
Enables debug stackcrawl support in GRE builds. b=208098. r=dbaron.
2003-07-07 22:11:36 +00:00
seawood@netscape.com
45303a5858
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
92d9617dd5
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
2e63d94e9d
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
b119b32b00
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
54b1236275
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
b9e6f9b823
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
6a0e2d5228
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
d0bca9a770
Backout of 193442/191415. a=brade,dougt
2003-03-03 21:00:07 +00:00
dougt@netscape.com
bde93f77ba
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
d0b57db9ca
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
6f1eaa830d
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
37bab56a32
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
013fcc43be
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
b1412f047f
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
366a5d8fa7
bug 130381 Using arena for registry prepopulation r=dougt sr=alecf a=asa
2002-05-02 21:25:08 +00:00
dougt@netscape.com
c3e0a303eb
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
32ebf7f11f
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