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
9cadd0fe5f
Fix contracts which were not registered correctly: nsPlacesAutoComplete.js was completely missing, and the nsINIParserFactory contract was missing. Fixes test_pref_interval.js to register/unregister its mock objects correctly.
2010-06-25 22:17:31 -04:00
Benjamin Smedberg
d9a041918c
Revert accidental change introduced in revision c66d8c0db184.
2010-06-25 22:16:15 -04:00
Benjamin Smedberg
5b4541cfe9
Fix chrome registry test setup.
2010-06-25 20:53:20 -04:00
Benjamin Smedberg
63c0077443
Merge mozilla-central into the branch for bug 568691, including fixup of the new jetpack binary module.
2010-06-25 19:41:09 -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
6e8d912e32
Fix review comments from bug 568691 comment 45.
2010-06-24 11:56:28 -04:00
Benjamin Smedberg
762def30bb
Merge mozilla-central into the static-xpcom-registration branch.
2010-06-23 17:26:25 -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
43047298dd
Address review from bug 568691 comments 31 and 34
2010-06-23 13:43:02 -04:00
Benjamin Smedberg
c072919b32
Remove hard tabs which I accidentally introduced into nsComponentManager.{h,cpp}.
2010-06-23 13:36:53 -04:00
Ginn Chen
91bd938a72
Bug 571210 Fix GetDiskSpaceAvailable for Solaris r=roc
2010-06-23 17:32:17 +08: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
5311231038
Fix the TestRegistrationOrder test: we no longer support deferred registration.
2010-06-22 13:26:23 -04:00
Benjamin Smedberg
4a738917da
Bug 568691 - Move cycle collection earlier: XPConnect is initialized during component manager initialization and tries to register a CC language helper.
2010-06-22 12:59:57 -04:00
Benjamin Smedberg
202aa47626
Bug 568691 - Add CID data back to classinfo because it's required for fastload to work correctly.
2010-06-22 12:59:57 -04:00
Benjamin Smedberg
5cab25b52b
Bug 568691 - Convert existing JS components to use NSGetFactory and add manifest files for them. In a followup we will link the .manifest files together at packaging time. This patch was developed on Linux: Windows and Mac may require additional changes.
...
--HG--
rename : toolkit/components/filepicker/src/nsFilePicker.js.in => toolkit/components/filepicker/src/nsFilePicker.js
2010-06-22 12:59:15 -04:00
Benjamin Smedberg
fcd5c36e9b
Bug 568691 - Fix XPCOMUtils.jsm to generate NSGetFactory, and fix nsSample.js to use XPCOMUtils
2010-06-21 14:29:32 -04:00
Benjamin Smedberg
21bc9c724f
Bug 568691 - build components.manifest instead of components.list, and switch the sample JS component to use standard EXTRA_COMPONENTS machinery.
2010-06-21 13:59:58 -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
ec3aefeff2
Fix review comments from Mossop, bug 570488 comment 5.
2010-06-11 13:35:25 -04:00
Benjamin Smedberg
f4b60bdbf4
Fix Linux-specific issues with static xpcom registration, bug 568691.
2010-06-11 12:47:31 -04:00
Benjamin Smedberg
0570e3db7e
Fix Linux compile errors/warnings in xpcom/components
2010-06-11 12:03:06 -04:00
Chris Jones
ccb97b45d7
Bug 570912: Allow already_AddRefed<T> to be coerced to already_AddRefed<U> when T can be coerced to U. r=dbaron
2010-06-21 15:35:49 -05: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
Benjamin Smedberg
c729bcd681
Bug 570488 part B - fix and test loading XPT files from JARs, needed for omnijar, r=mwu
2010-06-10 12:51:43 -04:00
Benjamin Smedberg
c020d3bdef
Bug 570488 - Remove xpti.dat caching which harms us in runtime and code complexity
2010-06-10 12:51:29 -04:00
Michael Wu
f37039d236
Fix and reenable jar xptload test
2010-06-16 10:22:33 -07: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
Michael Wu
604a658f5c
Disable new jar xptload test due to failures
2010-06-14 20:47:55 -07:00
Michael Wu
1ab55bc44d
Fix new jar xptloading test
2010-06-14 18:53:38 -07:00
Michael Wu
985a8e30b4
Bug 552121 - Find xpts inside the omnijar [6/7], r=bsmedberg
...
--HG--
extra : rebase_source : f5a3c56972247e76dd9700665df915a10d994356
2010-06-14 16:13:14 -07:00
Benjamin Smedberg
3fcaf094f4
Bug 570488 - Fix loading of XPTs nested in JARs [2/2] r=mwu
...
--HG--
extra : rebase_source : b97a591c0260daed1f2ef2eba69e60ff82acd18f
2010-06-14 16:10:04 -07:00