Commit Graph

64 Commits

Author SHA1 Message Date
Mike Hommey
2cfeef8160 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
Mitchell Field
2e8a7d546f 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
6c167a9962 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
0d82fbd898 Bug 569629 - Remove static xpcom modules list static initializer. r=bsmedberg,a=bsmedberg 2010-11-07 09:25:38 +01:00
Michael Wu
4eff31a667 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
5deede4de4 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
2abb47c1f1 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
a46c0d7aca 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
1f62db83d4 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
Philipp Wagner
29ed75147b Bug 578237: Fix error message in nsComponentManagerImpl::RegisterCIDEntry. r=bsmedberg 2010-07-13 10:02:22 -07:00
Neil Rashbrook
3ab5e497d0 Bug 568691 Further followup to actually register static components r=bsmedberg 2010-07-13 15:24:58 +01:00
Benjamin Smedberg
76af4cae87 Fix --disable-libxul from bug 568691. r=Mossop 2010-07-02 14:23:41 -04:00
Benjamin Smedberg
0b4de441c4 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
6da9e8c26a 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
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
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
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
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
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
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
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
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
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