Benjamin Smedberg
94560defeb
Bug 684887 part B - make a SafeMutex which should crash if you try to recursively lock it, instead of deadlocking. r=bent
...
--HG--
extra : rebase_source : 694c5cd571e5802ce5e5af4ea03b9edc7e6fb8d4
2013-03-13 16:39:53 -04:00
Benjamin Smedberg
e70052ad37
Bug 684887 part A - Make the XPCOM component manager non-reentrant, and make sure that nsFactoryEntry.mFactory is protected by it, r=cjones
...
--HG--
extra : rebase_source : f6a458a98c53f8a7490bc621095029e9446d4775
2013-03-13 16:39:28 -04:00
Nicholas Nethercote
5cd2f9931a
Bug 807884 (part 2) - Add memory reporters for nsComponentManager and nsCategoryManager. r=bsmedberg.
...
--HG--
extra : rebase_source : 6dba2659b6f31aa0e53804f5afdd30f0f0c1d950
2012-10-19 05:07:36 -07:00
Nicholas Nethercote
e504ffdbee
Bug 807884 (part 1) - Remove dead nsComponentManagerImpl::mLoaderData. r=bsmedberg.
...
--HG--
extra : rebase_source : e332db911c94f4ba6b3fe4b0fef0a545cc08403b
2012-10-19 05:07:34 -07:00
Ehsan Akhgari
e368dc9c85
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Ehsan Akhgari
df3797a6e7
Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (XPCOM parts); r=bsmedberg
2012-06-05 19:51:58 -04:00
Geoff Lankow
5cefea8480
Bug 749930 - Replace uses of nsILocalFile with nsIFile (compiled code only); r=bsmedberg
2012-06-06 14:08:30 +12:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Mike Hommey
45173f5be0
Bug 695843 part 9 - Use FileLocations in the component manager. r=bsmedberg
2011-11-08 18:10:51 +01:00
Mike Hommey
f8f93f4de1
Bug 695843 part 6 - Don't separate file and JAR modules in component manager. r=bsmedberg
2011-11-08 18:18:12 +01:00
Mike Hommey
97ad3242be
Bug 695843 part 2 - Avoid code duplication for components manifest registration. r=bsmedberg
2011-12-08 11:03:36 +01:00
Ehsan Akhgari
92064e6d3f
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d2b70213ac
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Hernan Rodriguez Colmeiro
c4c4295119
Bug 564667: Allow bootstrapped add-ons to have chrome URLs. r=dtownsend, sr=bsmedberg
2011-07-29 11:20:47 +02:00
Chris Jones
31aa2c4e77
Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
...
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00
Chris Jones ext:(%20and%20Kyle%20Huey%20%3Ckhuey%40kylehuey.com%3E)
2c92e3ecd5
Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
...
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 23:29:02 -05:00
Chris Jones
699024f868
Backed out changeset 4beec31b9ea9 for increasing frequency of intermittent orange bug 618052
2011-03-31 18:57:38 -05:00
Chris Jones ext:(%20and%20Kyle%20Huey%20%3Ckhuey%40kylehuey.com%3E)
0ce53bb598
Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
...
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 14:51:19 -05:00
Michael Wu
ef808d0528
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
Benjamin Smedberg
0503e044c7
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
319f11fc9c
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
a18bc5814e
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
e2c331db23
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
47235edc30
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
3fb6224e19
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
ddbba9f3f0
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
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
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
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
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
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
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
Ben Turner
9ecb398b01
Bug 449822 - "Service manager can create two instances of a service". r=bsmedberg.
2008-09-04 15:44:41 -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
adac3963d9
Bug 412320 - Try code-generation for QI impls, r=roc+luser
2008-01-25 09:14:48 -08: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
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
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
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
68e5fbad29
Bug 282761 - crash if getClassObject "succeeds" but returns null r=dougt
2005-02-19 14:43:42 +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
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
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