Commit Graph

371 Commits

Author SHA1 Message Date
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