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

125 Коммитов

Автор SHA1 Сообщение Дата
Michael Wu ef808d0528 Bug 533038 - 1. Generalize manifest reading code and add api for reading manifests from jars, r=bsmedberg a=blocking-beta6 2010-09-08 20:37:11 -07:00
Benjamin Smedberg 0503e044c7 Fix omnijar from bug 579178 - move the manifest ziploader code into xpcom/components, and don't load the same JAR a bunch of times.
--HG--
rename : modules/libjar/nsManifestZIPLoader.cpp => xpcom/components/nsManifestZIPLoader.cpp
rename : modules/libjar/nsManifestZIPLoader.h => xpcom/components/nsManifestZIPLoader.h
2010-08-04 14:09:21 -04:00
Benjamin Smedberg 319f11fc9c Bug 579178 part A - Code changes to add a "manifest" directive to read sub-manifests and read only the root chrome.manifest file, instead of enumerating components/*.manifest and chrome/*.manifest. Review comments by Mossop to be addressed in a followup commit. 2010-07-22 10:31:29 -04:00
Benjamin Smedberg a18bc5814e Bug 568691 - Fix MOZ_OMNIJAR registration, r=mwu
--HG--
rename : modules/libjar/nsXPTZipLoader.cpp => modules/libjar/nsManifestZIPLoader.cpp
rename : modules/libjar/nsXPTZipLoader.h => modules/libjar/nsManifestZIPLoader.h
rename : xpcom/reflect/xptinfo/public/nsIXPTLoader.idl => xpcom/components/nsIManifestLoader.idl
2010-07-02 09:53:19 -04:00
Benjamin Smedberg e2c331db23 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 47235edc30 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 3fb6224e19 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 ddbba9f3f0 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 107141f8f0 Remove hard tabs which I accidentally introduced into nsComponentManager.{h,cpp}. 2010-06-23 13:36:53 -04:00
Benjamin Smedberg d251d0ff10 Implement RereadChromeManifests for bug 568691. 2010-06-22 16:24:01 -04:00
Benjamin Smedberg 18fcb3c625 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 0df0345c66 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.
--HG--
rename : content/base/public/nsIChromeRegistry.idl => chrome/public/nsIChromeRegistry.idl
2010-06-21 11:41:42 -04:00
Benjamin Smedberg edbd474f05 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 c611ebcd81 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 63c737142d Bug 552121 - Load js modules and components from the omnijar [7/7], r=bsmedberg 2010-06-15 12:38:46 -07:00
Benjamin Smedberg 1ead4f5856 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 40952ed115 Bug 462497. Don't reacquire a monitor in nsComponentManagerImpl::HashContractID that we already hold. r=bsmedberg
--HG--
extra : rebase_source : 5a024be37b8d28025f24b207d9622c1b597daea0
2009-01-08 21:41:55 +13:00
Ben Turner 9ecb398b01 Bug 449822 - "Service manager can create two instances of a service". r=bsmedberg. 2008-09-04 15:44:41 -07:00
benjamin@smedbergs.us 1141ded71b 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
benjamin@smedbergs.us adac3963d9 Bug 412320 - Try code-generation for QI impls, r=roc+luser 2008-01-25 09:14:48 -08:00
bsmedberg%covad.net 75f0b3fd3c 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 d54d3d7b09 Reverting bug 316416 due to Ts regression and mysterious monkey orange :-( 2005-12-03 15:27:17 +00:00
bsmedberg%covad.net 28e3019754 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 18f06c31b3 Bug 316558 - Stop implementing a few old nsIComponentManagerObsolete methods, r=darin 2005-11-15 20:15:05 +00:00
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