Mike Hommey
dee14dcf38
Bug 620931 part 3 - Allow GRE and XUL application to use omni.jar independently. r=bsmedberg
...
We now store two independent locations for an omni.jar, allowing GRE/XRE and
XUL application to each have their own omni.jar. And since xulrunner setups
are very independent from the XUL applications, we implement support for both
omni.jar and non omni.jar cases in the same runtime, with the side effect of
allowing to switch from one to the other manually without rebuilding the
binaries.
We let the mozilla::Omnijar API handle both cases, so that callers don't need
too much work to support them.
We also make the preferences service load the same set of preferences in all
the various cases (unified vs. separate, omni.jar vs. no omni.jar).
The child process launcher for IPC is modified to pass the base directories
needed for the mozilla::Omnijar API initialization in the child process.
Finally, the startupcache file name canonicalization is modified to separate
APP and GRE resources.
2011-03-24 15:28:14 +01:00
Benjamin Smedberg
770e3f1613
Bump the binary compatibility version post-branch.
2011-03-23 10:28:41 -04:00
Mitchell Field
e48da647b0
Bug 627277 - Remove (broken) BeOS support. r=biesi,dwitte,gavin,joe,jorendorff,josh,khuey,mfinkle,neil,Pike,roc,shaver,smontagu,taras
2011-02-20 06:10:24 +11:00
Benjamin Smedberg
2478927070
Bug 616056 - prevent double registration of binary components, which causes crashes due to dead KnownModule pointers, r=Mossop a=blocking
2010-12-03 15:24:22 -05:00
Mike Hommey
f483b0dc8a
Bug 569629 - Remove static xpcom modules list static initializer. r=bsmedberg,a=bsmedberg
2010-11-07 09:25:38 +01:00
Michael Wu
4945836311
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
Michael Wu
577739cdda
Bug 556644 - 6. Don't do slash fixup for omnijar, r=bsmedberg a=blocking2.0
2010-08-11 18:11:18 -07:00
Michael Wu
d3e5458cfb
Bug 556644 - 4. Fix tests, r=bsmedberg a=blocking2.0
...
--HG--
rename : caps/tests/mochitest/test_bug292789.html => caps/tests/mochitest/test_bug292789.html.in
2010-08-10 15:18:40 -07:00
Benjamin Smedberg
2e749fe369
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
fdd72b1eb4
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
0d106bd619
Bug 579487 - Better error reporting when NS_CreateServicesFromCategory can't find a contract (especially to help extension developers with profile-after-change issues), r=Mossop
2010-07-20 09:28:45 -04:00
timeless@mozdev.org
b676bcf119
Bug 578219 Crash in [@ nsNativeModuleLoader::LoadModule ] when installing LastPass Password Manager addon
...
r=bsmedberg
--HG--
extra : rebase_source : fb97bc29e6a1e4b0abc1108555947edb4e1000a5
2010-07-15 15:55:05 +03:00
Philipp Wagner
30991fadc4
Bug 578237: Fix error message in nsComponentManagerImpl::RegisterCIDEntry. r=bsmedberg
2010-07-13 10:02:22 -07:00
Neil Rashbrook
7a44306a3e
Bug 568691 Further followup to actually register static components r=bsmedberg
2010-07-13 15:24:58 +01:00
Justin Wood (:Callek)
c32f309804
Bug 573382 - No chrome package registered for chrome://inspector/content/tasksOverlay.xul
...
r=dtownsend
2010-07-04 21:54:35 -04:00
Saint Wesonga
dca1fdaf5b
Bug 562387 - Convert NS_NEWXPCOM/NS_DELETEXPCOM to new/delete. r=bsmedberg
2010-07-05 11:42:18 +02:00
Mitchell Field
dae810b5e1
Remove @status FROZEN and @status UNDER_REVIEW. r=bsmedberg
...
--HG--
extra : rebase_source : 7fab31a6b7898e05ff828482390846cc9ce2854d
2010-07-02 10:27:06 -04:00
Benjamin Smedberg
be33fdb1a8
Fix --disable-libxul from bug 568691. r=Mossop
2010-07-02 14:23:41 -04:00
Benjamin Smedberg
45886119d2
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
dfed11844b
Merge mozilla-central, including the Electrolysis changes, into the branch for bug 568691.
2010-07-01 11:55:57 -04:00
Benjamin Smedberg
973c7b2613
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
c8c55836ed
Support Windows line endings in manifest files again (regression introduced in revision 5229353383b0). With test!
2010-06-29 13:16:43 -04:00
Benjamin Smedberg
ffd485d1e5
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
12f63e9d18
Rename the "xpt" manifest directive to "interfaces", per bug 568691 comment 66.
2010-06-27 21:50:51 -04:00
Benjamin Smedberg
dd5aa311e8
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
0b07ce44c1
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
bf0fd5d898
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
325a0ee192
Free the component-location arrays at shutdown.
2010-06-25 17:27:10 -04:00
Benjamin Smedberg
04335ce5d3
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
7e44244288
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
42e11a8c9a
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
44d622fe89
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
b5d1f6d854
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
27dd21bd1d
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
c4c13393d2
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
30b3a3322e
Fix factory registration in test_unsafeBidiChars.xhtml to not override CIDs.
2010-06-23 16:18:08 -04:00
Benjamin Smedberg
bbb63fe5cd
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
5e26d06f6c
Remove hard tabs which I accidentally introduced into nsComponentManager.{h,cpp}.
2010-06-23 13:36:53 -04:00
Benjamin Smedberg
73fb8e51d8
Implement RereadChromeManifests for bug 568691.
2010-06-22 16:24:01 -04:00
Benjamin Smedberg
188e02c1fd
Fix non-debug bustage in nsNativeComponentLoader, this variable should not be debug-only.
2010-06-22 16:22:17 -04:00
Benjamin Smedberg
6cb29acab4
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
d597cfbb3f
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
cae1800556
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
69b11ac2b1
Merge platform-specific branches of bug 568691.
2010-06-21 08:57:50 -04:00
Benjamin Smedberg
432c4422b8
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
bc1f80e8ca
Fix Linux compile errors/warnings in xpcom/components
2010-06-11 12:03:06 -04:00
Benjamin Smedberg
4d7e3ff7df
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
10d6291886
Bug 552121 - Load js modules and components from the omnijar [7/7], r=bsmedberg
2010-06-15 12:38:46 -07:00
Josh Matthews
149adda913
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
cb3b3e8e7b
Bug 560647 - add startup timeline instrumentation; r=vlad
2010-05-19 19:22:19 -04:00