Benjamin Smedberg
449bc3f36e
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
54c6518755
Rename the "xpt" manifest directive to "interfaces", per bug 568691 comment 66.
2010-06-27 21:50:51 -04:00
Benjamin Smedberg
79be6b8325
Rename XRE_AddComponentLocation to XRE_AddManifestLocation to better-convey what it actually does now (it still auto-registers XPT files when passed a directory, but we may get rid of that as well and just fold those into components.manifest), as noted in bug 568691 comment 58.
2010-06-27 21:26:38 -04:00
Benjamin Smedberg
3de93c4ae6
Implement the aReplace parameter to nsICategoryManager.addCategoryEntry which I inadvertently dropped, from bug 568691 comment 63.
2010-06-27 21:14:54 -04:00
Benjamin Smedberg
6669ee04a8
Bug 568691 - Add an ABI chrome registration modifier so that platform-specific directories can be implemented directly in chrome.manifest.
2010-06-27 15:13:04 -04:00
Benjamin Smedberg
774bb7e0e8
Free the component-location arrays at shutdown.
2010-06-25 17:27:10 -04:00
Benjamin Smedberg
59041fa6cd
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
f3d3d3d97b
Bug 568691 followup - Clear the static module table at shutdown to fix leaks.
...
--HG--
extra : rebase_source : cc01ea1ae837f5b917d44006dde72484f3ffd104
2010-06-25 10:02:17 -04:00
Benjamin Smedberg
9d69948fbc
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
77282b6432
Allow a manifest to register contracts and cids in any order, by deferring processing of contracts until the manifest is completely parsed. This is needed for extension author sanity, and also because jar.mn packaging doesn't place registration lines in order by default.
2010-06-25 08:19:48 -04:00
Benjamin Smedberg
5ab65cc447
Don't check the persist value for DeleteCategoryEntry, because the original behavior didn't work right anyway, so everybody passes "true".
2010-06-24 22:05:20 -04:00
Benjamin Smedberg
3e93617368
Implement compatibility wrapper so that binary components can be compatible with both Firefox 3.6 and Firefox 4, as a result of registration changes from bug 568691.
...
--HG--
rename : xpcom/components/GenericFactory.cpp => xpcom/glue/GenericFactory.cpp
rename : xpcom/components/GenericFactory.h => xpcom/glue/GenericFactory.h
2010-06-24 16:36:27 -04:00
Benjamin Smedberg
1d0844d671
Revert many of the interface changes from bug 568691, so that binaries can be made which are compatible with Firefox 3.6 and Firefox 4. Note that this is not an ongoing process: it will not be possible to make single binary components which are compatible with both Firefox 4 and Firefox 4.1, but you will be able to ship two components and select one based on the platform version.
2010-06-24 14:31:18 -04:00
Benjamin Smedberg
2c8a0c3df0
Fix factory registration in test_unsafeBidiChars.xhtml to not override CIDs.
2010-06-23 16:18:08 -04:00
Benjamin Smedberg
76f5edb3bb
Bug 568691 fixups: alter mockObjects.js so that it registers its mock by contractID but doesn't replace the CID. Fix the generic classinfo not to assert when code asks for the class description (which is no longer implemented).
2010-06-23 15:18:13 -04:00
Benjamin Smedberg
c072919b32
Remove hard tabs which I accidentally introduced into nsComponentManager.{h,cpp}.
2010-06-23 13:36:53 -04:00
Benjamin Smedberg
785137fec6
Implement RereadChromeManifests for bug 568691.
2010-06-22 16:24:01 -04:00
Benjamin Smedberg
10da45b767
Fix non-debug bustage in nsNativeComponentLoader, this variable should not be debug-only.
2010-06-22 16:22:17 -04:00
Benjamin Smedberg
b205909598
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
ed3a49c9a2
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
45af085fff
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
c23f09c9bf
Merge platform-specific branches of bug 568691.
2010-06-21 08:57:50 -04:00
Benjamin Smedberg
492155b10e
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
0570e3db7e
Fix Linux compile errors/warnings in xpcom/components
2010-06-11 12:03:06 -04:00
Benjamin Smedberg
9045c05660
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
17f4cad812
Bug 552121 - Load js modules and components from the omnijar [7/7], r=bsmedberg
2010-06-15 12:38:46 -07:00
Josh Matthews
0328868a9f
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
a87b134220
Bug 560647 - add startup timeline instrumentation; r=vlad
2010-05-19 19:22:19 -04:00
Daniel Holbert
9c9b232086
Bug 560393, part 2: (xpcom directory) Fix compile warning: format $f expects type $t1, but argument 2 has type $t2. r=bsmedberg
2010-05-17 16:36:31 -07:00
Mitchell Field
9818f00bf2
Bug 560095 - Use mozilla::services::GetObserverService(). r=biesi,dveditz,gavin,josh,jst,mrbkap,roc,sdwilsh,shaver,sicking,smontagu,surkov
2010-04-29 18:59:13 +02:00
Taras Glek
d3d1d47d7e
Bug 516085 - C++ easy access for common global services r=bsmedberg
2010-04-02 11:38:25 -07:00
Vladimir Vukicevic
2a57b052d9
b=519357, followup leak fix
2009-11-13 12:08:34 -08:00
Benjamin Smedberg
461742442e
Build bustage fix, bug 519357. I hate compilers.
2009-11-05 09:22:45 -05:00
Benjamin Smedberg
74932b01fe
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
be1800b20f
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
b996efa481
Backed out changeset 89f53914ecd9 (bug 511761)
2009-10-14 12:41:03 -07:00
bhsieh@mozilla.com
82dfde45d6
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
4b57f06400
Backed out changeset ecd2b45a42af (Bug 364864) due to Leak test red
2009-10-05 23:34:21 +02:00
Karsten Düsterloh
d67564eec4
Bug 364864: nsICategoryManager::deleteCategoryEntry does not persist outside of component registration; r=bsmedberg
2009-10-05 21:05:24 +02:00
Benjamin Smedberg
2e9438fd2f
Followup to bug 398573 - remove REQUIRES from the tree since it is no longer used... automatically generated patch, rs=ted
2009-08-25 08:59:31 -07:00
Hashem Masoud
c8f711113e
Bug 489502 - Replace NS_ASSERTION(0, ...) by NS_ERROR(...) in mozilla-central; r=benjamin
2009-08-14 16:09:00 +02:00
Benjamin Smedberg
61ffa998af
Bug 505857 - Fix up locking in the category manager, r=timeless
2009-07-23 10:29:00 -04:00
Arpad Borsos
e79293b2c0
Bug 474369 - get rid of nsVoidArray, xpcom part; r=bsmedberg
2009-04-03 18:43:08 +02:00
Neil Rashbrook
d463a25c7d
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
031c516b05
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
Benjamin Smedberg
cd5512efb5
Bug 463289 - nsNativeModuleLoader doesn't protect its internal data structures, and is accessed on multiple threads (symptom is RECURSION_LEVEL assertions in pldhash.c). This patch is the simple-but-slow path: proxy all non-main-thread requests to the main thread. This is probably sufficient because asking for modules is a relatively rare activity: the component manager caches the factory objects after a lookup, r=brendan
...
--HG--
extra : rebase_source : 3118096536b6271886d5c35a3486bb278dc0fd86
2008-11-26 14:39:36 -05:00
Sergey Yanovich
a9bc176a99
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
cdbe2c72aa
Bug 470595 - crash [@ strlen - nsComponentManagerImpl::IsContractIDRegistered], r=bsmedberg
2009-01-07 20:42:15 -08:00
Taras Glek
bd7706c891
Bug 470859: speed things up by getting rid of dead nsID callsites r=bsmedberg
2009-01-05 14:48:25 -08:00
Peter Van der Beken
e743beb9c4
Fix for bug 457897 (Remove QI on 'this' object when calling from JS to C++). Patch by jorendorff and me, r/sr=jst.
2008-11-03 11:31:47 +01:00
Arpad Borsos
8b11d938d2
Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan
2008-10-10 17:04:34 +02:00
Daniel Holbert
72c410a648
Bug 458167 - (comments-only changes) Grammar Nazi Vol1: s/it's/its/ for the posessive version of the word, and a few other misc comment-typos, in these directories: accessible browser config profile rdf toolkit tools xpcom xpfe
2008-10-01 23:49:45 -07:00
Ben Turner
a436facf6a
Bug 449822 - "Service manager can create two instances of a service". r=bsmedberg.
2008-09-04 15:44:41 -07:00
Uli Link
d3623a5d74
Bug 445951 - missing keyword 'public' in xpcom/glue/nsAutoLock.h, r=bsmedberg
2008-08-18 20:39:19 +02:00
Jesse Ruderman
b40e4a8578
Fix spelling error in a log message (bug 443520).
2008-07-05 18:09:24 -07:00
Sudheer Kumar Peddireddy
18c18ceba1
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
ca61c9e2e7
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
ca89a98e8c
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
2ad1146e0e
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
e8c45488e3
Bug 412320 - Try code-generation for QI impls, r=roc+luser
2008-01-25 09:14:48 -08:00
bugzilla@standard8.plus.com
6d87e55ac2
Bug 410326 do_CreateInstanceFromCategory is no longer used. r/sr=benjamin,a1.9=dsicore
2008-01-04 10:08:34 -08:00
dbaron@dbaron.org
35c35b77da
Remove nsTraceRefcnt::LoadLibrarySymbols, which is no longer needed due to the error handling in SymGetModuleInfoEspecial. b=391793 r+a=bsmedberg
2007-08-13 12:36:57 -07:00
jwalden@mit.edu
e3c4baccae
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
philringnalda@gmail.com
8344cdecca
Bug 374754 - nsCategoryManager::AddCategoryEntry should notify about removal of the previous value, patch by Wladimir Palant <trev.moz@adblockplus.org>, r+sr=darin
2007-06-10 23:10:27 -07:00
joshmoz@gmail.com
eb98521dbc
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
bent.mozilla@gmail.com
410a990fb7
Bug 37795 - "Move nsCategoryCache to the XPCOM Glue". nsCategoryCache was initially created as part of Bug 315598 by Christian Biesinger <cbiesinger@gmx.at>. r=bsmedberg.
2007-04-26 06:53:48 -07:00
dbaron@dbaron.org
85eb65ced4
Remove unused getKey callback from PLDHashTableOps/JSDHashTableOps. b=374906 r=bsmedberg
2007-03-27 08:33:38 -07:00
hg@mozilla.com
465265d0d4
Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT,
2007-03-22 10:30:00 -07:00