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
db9b653c42
Bug 568691 - register chrome/*.manifest in addition to components/*.manifest files, chrome appears to work in xpcshell again.
2010-06-21 13:49:38 -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
8af9251fe4
Merge platform-specific branches of bug 568691.
2010-06-21 08:57:50 -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
dfd21e98ac
Fix Linux compile errors/warnings in xpcom/components
2010-06-11 12:03:06 -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
Josh Matthews
2abfb422b2
Bug 564689 - Signed/unsigned comparison warnings in nsComponentManager.cpp r=bsmedberg
...
--HG--
extra : rebase_source : 9d74a7a43a729ce9e0f96bd98992e6359da23322
2010-05-19 16:37:10 -04:00
Ehsan Akhgari
db9d404619
Bug 560647 - add startup timeline instrumentation; r=vlad
2010-05-19 19:22:19 -04:00
Taras Glek
023d663a32
Bug 516085 - C++ easy access for common global services r=bsmedberg
2010-04-02 11:38:25 -07:00
Vladimir Vukicevic
eef31a2a3e
b=519357, followup leak fix
2009-11-13 12:08:34 -08:00
Benjamin Smedberg
105915805e
Build bustage fix, bug 519357. I hate compilers.
2009-11-05 09:22:45 -05: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
bhsieh@mozilla.com
e1ceff4347
Bug 511761 - Only use compatibility.ini (not .autoreg, or stat()s) to invalidate fastloads and other caches (r=bsmedberg, RELAND WITH TEST FIX)
2009-10-15 23:32:29 -07:00
Paul O’Shannessy
5703d590b2
Backed out changeset 89f53914ecd9 (bug 511761)
2009-10-14 12:41:03 -07:00
bhsieh@mozilla.com
98a3f13ee0
Bug 511761 - Only use compatibility.ini (not .autoreg, or stat()s) to invalidate fastloads and other caches (r=bsmedberg)
2009-10-14 09:40:45 -07:00
Karsten Düsterloh
7551b2feb8
Backed out changeset ecd2b45a42af (Bug 364864) due to Leak test red
2009-10-05 23:34:21 +02:00
Karsten Düsterloh
2690b85054
Bug 364864: nsICategoryManager::deleteCategoryEntry does not persist outside of component registration; r=bsmedberg
2009-10-05 21:05:24 +02:00
Hashem Masoud
b71a1a1cfa
Bug 489502 - Replace NS_ASSERTION(0, ...) by NS_ERROR(...) in mozilla-central; r=benjamin
2009-08-14 16:09:00 +02:00
Arpad Borsos
4fc5b38c9d
Bug 474369 - get rid of nsVoidArray, xpcom part; r=bsmedberg
2009-04-03 18:43:08 +02:00
Neil Rashbrook
56f8f9628c
Bug 484309 Switch component manager logging over to NS_Free c.f. bug 331165 r+sr=bsmedberg
2009-04-01 17:08:03 +01:00
Neil Rashbrook
a3cb4f1f32
Fix allocator abuses: bug 331165 r+sr=bsmedberg; bug 484309 r+sr=bsmedberg; bug 484312 r+sr=biesi
2009-03-25 13:19:08 +00: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
timeless@mozdev.org
65a8d44305
Bug 470595 - crash [@ strlen - nsComponentManagerImpl::IsContractIDRegistered], r=bsmedberg
2009-01-07 20:42:15 -08:00
Taras Glek
c145993f88
Bug 470859: speed things up by getting rid of dead nsID callsites r=bsmedberg
2009-01-05 14:48:25 -08:00
Arpad Borsos
c72ef7d248
Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan
2008-10-10 17:04:34 +02: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
Jesse Ruderman
a1dd1f31eb
Fix spelling error in a log message (bug 443520).
2008-07-05 18:09:24 -07:00
Sudheer Kumar Peddireddy
e620026ed6
Increase the initial sizes of hash tables that are guaranteed to grow. b=432633 r=dbaron
2008-06-03 15:25:31 -07:00
brade@comcast.net
a9022666e1
Bug #416886 ; r=bsmedberg, a=beltzner Preserve original order when processing deferred components. Add TestRegistrationOrder automated test.
2008-03-31 07:40:10 -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
86efff4ec1
Bug 416886 - Find module loaders which are part of the static component list early, and process components which end up in the leftovers list in forwards instead of reverse order. This means that JS component in extensions can correctly override JS components in the core app. r=dougt a=schrep
2008-02-21 08:23:06 -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
bugzilla@standard8.plus.com
c76cefc88d
Bug 410326 do_CreateInstanceFromCategory is no longer used. r/sr=benjamin,a1.9=dsicore
2008-01-04 10:08:34 -08:00
jwalden@mit.edu
6d7584839a
Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros.
2007-07-08 00:08:04 -07:00
joshmoz@gmail.com
066729b99b
fix some gcc 4 warnings in xpcom. patch by Christian Haberstroh. b=382753 r=bent sr=bsmedberg
2007-06-04 08:44:43 -07:00
dbaron@dbaron.org
d98d9fdec5
Remove unused getKey callback from PLDHashTableOps/JSDHashTableOps. b=374906 r=bsmedberg
2007-03-27 08:33:38 -07:00
dbaron%dbaron.org
3c8ac979e5
Revert previous change since nsRegistry still uses it. b=359512
2006-11-04 17:06:32 +00:00
dbaron%dbaron.org
bfc25c8481
Remove unneded NS_COM. b=358953 r=bsmedberg
2006-11-03 23:04:15 +00:00
timeless%mozdev.org
bf613adffe
Bug 345903 Crash in [@ nsComponentManagerImpl::GetService] with broken JS component
...
r=dougt
ComponentManager talks to factories when it's asked to create components or get services. The factories are expected to return success when they provide an object or return a failure code and provide a null pointer.
Unfortunately, it's trivially easy for someone writing a js xpcom component to mess up their factory such that they return success without providing an object.
In this case we will now throw NS_ERROR_SERVICE_NOT_FOUND. I've picked this because we did not find a factory capable of properly servicing our request :) -- and because there's no better result available :(.
This branch eventually deserves PR_LOGGING so that people could see it even if they didn't build debug (but did somehow get prlogging), but that's left for a future patch.
2006-07-26 16:00:16 +00:00
martijn.martijn%gmail.com
55133c4744
Bug 333307 - signature is wrong for nsComponentManagerImpl::RegisterComponent and nullchecks are improperly handled. Patch by Nickolay Ponomarev, r=timeless, sr=darin
2006-04-10 17:09:48 +00:00
bryner%brianryner.com
4cd1e2b280
Remove dependency on nsIClassInfo.h from nsISupports.h (bug 330420). This adds a new nsIClassInfoImpl.h file which can be included to get the CI implementation macros. Also, removes unneeded inclusion of nsIProgrammingLanguage.h from nsIClassInfo.h. r=darin.
2006-03-15 04:59:42 +00:00
bsmedberg%covad.net
9bf056b19d
Bug 320324 - Static modules released too late, assertions in GenerateJavaInterfaces, r=darin
2005-12-21 13:50:13 +00: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
0064770824
Fix a logic error caught by the MSVC compiler and an initializer error, bug 316416
2005-12-02 17:38:18 +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
timeless%mozdev.org
eb9350f619
Bug 106386 Correct misspellings in source code
...
patch by unknown@simplemachines.org r=timeless rs=brendan
2005-11-25 19:48:04 +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
a7253270ad
Bug 305949 Part 1 - Separate the frozen XPCOM exports with the XPCOM_API macro; add compatibility methods to the frozen string API; convert most of the tests/tools to use the xpcom glue when appropriate r=darin This checking does not actually stop exporting the nonfrozen methods yet, pending a bunch of test cleanup throughout the tree.
2005-11-08 18:17:49 +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
b9720ffcb9
Bug 298044 - Dynamically load XPCOM dependent libs as part of the XPCOM standalone glue bootstrap process, r=darin a=asa
2005-07-14 18:42:59 +00:00
cbiesinger%web.de
98a9a84fcb
bug 246085 nsCategoryManager should notify observers when items are added/removed from categories
...
r=dougt sr=darin a=asa
2005-06-17 21:07:47 +00:00
timeless%mozdev.org
4ffaeafdb9
Bug 208909 compreg.dat protection problem [OpenVMS status is decimal 114690]
...
lock down permissions and sanitize with comments
r=dougt sr=dveditz a=asa
2005-06-10 17:32:48 +00:00
shaver%mozilla.org
8aae1b4f86
Bug 290247: fix 3 long-standing do_CreateInstanceFromCategory bugs:
...
- initialize mOuter so we don't always try to aggregate against a random
stack pointer;
- don't try to store through the oft-null mErrorPtr
- set rv so that we actually check CreateInstanceByContractID's return
r=bsmedberg, sr=darin, a=brendan
2005-04-13 23:56:54 +00:00
bsmedberg%covad.net
52c3e20b55
Other part of bug 267040
2005-03-22 20:53:17 +00:00
timeless%mozdev.org
e398c75ed1
Bug 283131 Leaking fd/registry in OOM cases
...
r=dougt
2005-02-27 21:32:52 +00:00
timeless%mozdev.org
4ccea79e58
Bug 282743 ABBA deadlock componentmanager monitor/jsgc claimscope
...
whitespace change to accentuate comment per brendan
2005-02-22 08:00:20 +00:00
timeless%mozdev.org
d5a44a6b73
Bug 282743 ABBA deadlock componentmanager monitor/jsgc claimscope
...
r=dougt sr=bz
2005-02-18 22:46:24 +00:00
timeless%mozdev.org
e190b3b332
Bug 240589 hasMoreElements is off by one for simple enumerators returned by the component registrar
...
patch by cmlenz@gmx.de r=alecf sr=alecf
2005-01-17 09:26:42 +00:00
timeless%mozdev.org
547c573fa6
Bug 277841 ###!!! ASSERTION: Potential deadlock between nsComponentManagerImplMonitor@959108 and Monitor@22d1550: 'Error', file r:/cenzic/mozilla/xpcom/threads/nsAutoLock.cpp, line 302
...
r=shaver
2005-01-14 07:03:16 +00:00
shaver%mozilla.org
443db64016
Bug 275075: fix 100%-chance crash when using two-arg form of
...
do_GetServiceFromCategory. r=bsmedberg, sr=darin.
2004-12-17 20:16:50 +00:00
bryner%brianryner.com
d9626f6746
Add support for using gcc's visibility pragma to treat all function and method declarations as "hidden" unless declared otherwise. Create wrappers for system headers that cause them to be treated as default-visibility declarations. This gives a substantial code size and performance win on compilers that support it, and should show up on the gruff tinderbox. Bug 273336, r=darin sr=dbaron.
2004-12-15 05:52:44 +00:00
bryner%brianryner.com
29c70cffe8
Reduce do_GetService code bloat further by adding specialized assignment to nsCOMPtr and providing a version with no error pointer. Also make CallGetService work the same way as CallGetComponent does, as far as using frozen/non-frozen interface to service manager. Bug 264456, r=darin.
2004-11-24 22:48:45 +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
dbaron%dbaron.org
fabeac3176
Reduce code size of do_GetService by moving an nsCOMPtr and QueryInterface out of the part that's done inline. b=264456 r=darin
2004-10-15 17:44:30 +00:00
kjh-5727%comcast.net
c52fe66842
Bug 258321 - copy + paste error in comment. Patch by Justin Wood (116057@bacon.qcc.mass.edu), comment change only.
2004-10-07 18:20:19 +00:00
roc+%cs.cmu.edu
0e3ff503fb
Bug 226439. Convert Seamonkey to EqualsLiteral. rs=darin
2004-05-22 22:15:22 +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
dbaron%dbaron.org
d775fce404
Fix leak regression from timeless's checkin yesterday. b=235882 r=caillon sr=jst
2004-03-09 23:17:19 +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
timeless%mozdev.org
014f0b61a7
Bug 235875 Replace NS_ERROR_SERVICE_NOT_FOUND
...
r=dougt
2004-02-29 08:04:46 +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
bsmedberg%covad.net
5346dbdacf
Followup on bug 223084, fix bustage of static builds. Pass a null nsIFile* to the static component loader during autoregistration.
2003-11-01 14:46:08 +00:00
bryner%brianryner.com
06c7c1b2b4
Fix build on gcc 3.4 by removing extra semicolons (bug 218551). r/sr=dbaron, a=brendan.
2003-09-08 00:31:50 +00:00
brendan%mozilla.org
b7cdb7debb
Add shared DHashTableOps for [const] char *key use-cases, clean up dhash API abusages (214839, r=dougt, sr=dbaron).
2003-08-05 20:09:21 +00:00
timeless%mozdev.org
b719e8300f
Bug 213549 regxpcom thinks SelfRegisterDll FAILED = successful registration.
...
r=dougt
2003-08-03 09:59:05 +00:00
timeless%mozdev.org
a72dfd67dd
Bug 209681 improve XPCOM_CHECK_PENDING_CIDS: prevent some crashes, enable component manager to block components by contract
...
r=dougt
2003-06-18 23:03:08 +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
bryner%netscape.com
0e8aa09510
Fix a debug-only crash when requesting a non-existant contractid. Bug 209680, r=dougt, sr=alecf.
2003-06-17 21:12:11 +00:00
timeless%mozdev.org
f6516c3e12
Bug 204146 Undefined symbols during autoregistration should go to stdout
...
Change output for NSPR_LOG_MODULES=nsComponentManager:1 .. 4 to be useful
r=dougt
2003-06-17 17:50:00 +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
dougt%meer.net
be2a8f6235
Backing out dependent library loading on windows. Fixes 204676.
2003-05-07 18:39:47 +00:00
dougt%netscape.com
899eaaa107
bug 201711. We were not uninstalling the component. r=darin
2003-04-18 00:46:34 +00:00
dougt%netscape.com
9a96f1f937
now correctly determines when two services race on a single cid. patch by mscott+dougt, r=dbaron, b=194568.\nalso removes xpcom component release location sr=alecf b=201263
2003-04-14 20:50:14 +00:00
dbradley%netscape.com
41c00fb6af
Fix for alecf's const bustage at line 1548
2003-04-04 16:39:31 +00:00
alecf%netscape.com
6c75920da1
fix for bug 195298 - pldhash ops tables should be const.. r=dougt, sr=sfraser
2003-04-04 15:10:37 +00:00
dougt%netscape.com
0d2808c511
Create a new xpcom obsolete library (and component library).
...
Moved nsFileSpec and related classes into this obsolete library.
Moved nsRegistry and related libreg functionality into the obsolete library.
Updated many callers using the obsolete nsFile spec to use nsIFile and Necko to do file IO.
Combined the following DLLs (source -> dest)
uriloader -> docshell
shistory -> docshell
jsurl -> jsdom
gkview -> gklayout
Moved nsAdapterEnumerator out of xpcom/ds and into mailnews, since they're the only consumer
Modifed the xpt_link tool so that you can specify a �only include� cid list that can mask CID�s that you are not interested in.
Added build options:
Prevent the building of xpinstall (--disable-xpinstall)
Prevent the building js component loader (--disable-jsloader)
A build option to only build a single profile (--enable-single-profile)
A build flag to only built the required xpfe components (--disable-xpfe-components).
Removal or hiding of unused functions and classes including nsEscape*, nsDequeIterator, nsRecyclingAllocatorImpl, nsDiscriminatedUnion, nsOpaqueKey, nsCRT::strlen, NS_NewCommandLineService
Bug 194240, r/sr = darin, alec.
2003-03-15 01:04:32 +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