345 Commits

Author SHA1 Message Date
scc%netscape.com
fa658e64c0 replace |nsVector| with |nsVoidArray| as per bug #11666. r=dp
git-svn-id: svn://10.0.0.236/trunk@58148 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-18 23:03:29 +00:00
dp%netscape.com
40adb96b8f Implementing access to servicemanager from component manager via
nsIInterfaceRequestor. r=scc


git-svn-id: svn://10.0.0.236/trunk@57455 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-11 22:54:46 +00:00
dp%netscape.com
4a6c6f75e5 Providing register and unregister hook per component in the generic
module. r=alecf


git-svn-id: svn://10.0.0.236/trunk@57433 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-11 21:18:55 +00:00
dp%netscape.com
df2b12b22b Adding comments to explain shutdown further.
git-svn-id: svn://10.0.0.236/trunk@57291 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-10 21:26:00 +00:00
jband%netscape.com
8d2d9e7f1f Allow generic module stuff to work with singletons. Needed to fix bug 22922. r=dp
git-svn-id: svn://10.0.0.236/trunk@57061 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-07 02:18:13 +00:00
mscott%netscape.com
b891236113 someone removed nsIServiceProvider.h from the build and didn't remove
it from mac and unix makefiles!!! Shame on you...

Fixing the build breakage on the mac.


git-svn-id: svn://10.0.0.236/trunk@56924 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-06 01:36:00 +00:00
mcafee%netscape.com
f271b82159 Fixing linux bustage.
git-svn-id: svn://10.0.0.236/trunk@56920 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-06 01:16:42 +00:00
edburns%acm.org
1af32fc433 I know it's unorthodox to do a top level checkin like this, but I've got so many files
in so many different directories, that I think it's the best way.
I've pulled and clobber_all'd my tree and got

r=dp

on this checkin.

Here are the touched files:

M mozilla/embedding/browser/activex/src/control/MozillaBrowser.cpp
M mozilla/embedding/browser/activex/src/control/MozillaBrowser.h
M mozilla/js/src/xpconnect/shell/xpcshell.cpp
M mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp
M mozilla/xpcom/build/nsXPComInit.cpp
M mozilla/xpcom/components/nsComponentManager.cpp
M mozilla/xpcom/components/nsIServiceManager.h
M mozilla/xpcom/components/nsServiceManager.cpp
M mozilla/xpcom/io/nsSpecialSystemDirectory.cpp
M mozilla/xpcom/io/nsSpecialSystemDirectory.h
M mozilla/xpcom/tests/TestBuffers.cpp
M mozilla/xpcom/tests/TestPipes.cpp
M mozilla/xpcom/tests/TestShutdown.cpp
M mozilla/xpcom/tests/windows/TestHelloXPLoop.cpp
M mozilla/xpcom/tools/registry/regExport.cpp
M mozilla/xpcom/tools/registry/regxpcom.cpp
M mozilla/xpinstall/stub/xpistub.cpp
M mozilla/webshell/embed/ActiveX/MozillaBrowser.cpp
M mozilla/webshell/embed/ActiveX/MozillaBrowser.h
M mozilla/webshell/tests/viewer/nsMacMain.cpp
M mozilla/webshell/tests/viewer/nsPhMain.cpp
M mozilla/webshell/tests/viewer/nsWinMain.cpp
M mozilla/webshell/tests/viewer/unix/gtk/nsGtkMain.cpp
M mozilla/xpfe/appshell/src/nsFileLocations.cpp
M mozilla/xpfe/bootstrap/nsAppRunner.cpp

The heart of this checkin is a change in the signature and symantics
of NS_InitXPCOM.

The new signature is

extern NS_COM nsresult
NS_InitXPCOM(nsIServiceManager* *result, nsFileSpec* binDirectory);

I filed a bug for this problem:

b=23157

The original manifestation of this bug was in mozilla/netwerk/protocol/res/src/nsResProtocolHandler.cpp It used the current process directory to find resources, which is not correct when the current process is not mozilla.exe.

I have added a new type to nsSpecialSystemDirectory, Moz_BinDirectory, and made nsResProtocolHandler use that value.


git-svn-id: svn://10.0.0.236/trunk@56916 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-06 01:05:13 +00:00
warren%netscape.com
4627ac062f Fixed xpcom shutdown to disallow reconstruction of the global service manager. r=dp
git-svn-id: svn://10.0.0.236/trunk@56889 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-06 00:34:38 +00:00
blizzard%redhat.com
1f1ce365e8 Change nsComponentManager::ProgIDToCLSID to nsComponentManager::ProgIDToClassID as per bug #3579. Checking in for sford. r=scc,r=blizzard
git-svn-id: svn://10.0.0.236/trunk@56630 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-30 22:03:58 +00:00
sspitzer%netscape.com
d1968e1600 purify related fixes. first, prevent a crash that was prevent me
from running purify in nsGenericFactory.cpp.  Second, add support
for "mozilla -pure".  Only works if you've build mozilla.bin.pure, of course.


git-svn-id: svn://10.0.0.236/trunk@56038 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-15 06:23:50 +00:00
shaver%netscape.com
44195d4a3a fix leaf of registryName (#21068, r=beard, a=leaf)
git-svn-id: svn://10.0.0.236/trunk@55777 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-09 00:01:46 +00:00
dp%netscape.com
76ba2b6544 Adding assertion to check for improper shutdown of servicemanager. r=chofmann@netscape.com
git-svn-id: svn://10.0.0.236/trunk@55679 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-08 02:00:30 +00:00
dp%netscape.com
542244281b Removing nsComponentManager.h from export
git-svn-id: svn://10.0.0.236/trunk@55677 18797224-902f-48f8-a5cc-f745e15eee43
1999-12-08 01:58:30 +00:00
dp%netscape.com
9b0cfefb70 NS_GET_IID(). Thanks to patch from pp@ludasdesign.com r=dp@netscape.com
git-svn-id: svn://10.0.0.236/trunk@54812 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-30 23:36:32 +00:00
dp%netscape.com
69dd443d63 NS_RELEASE if there isn't a global service manager
git-svn-id: svn://10.0.0.236/trunk@54581 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-29 21:02:51 +00:00
warren%netscape.com
eb9a891946 Eliminated the libs build pass.
git-svn-id: svn://10.0.0.236/trunk@54523 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-28 03:05:01 +00:00
sspitzer%netscape.com
34e586d5b9 fix 974 warnings by declaring a virtual destructor
git-svn-id: svn://10.0.0.236/trunk@54488 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-27 02:17:23 +00:00
shaver%netscape.com
ac0b5e80b1 update to track catchguard syntax, r=cls
git-svn-id: svn://10.0.0.236/trunk@54365 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-24 03:36:26 +00:00
scc%netscape.com
b27b4320eb Added |do_GetService| of a specific service manager as opposed to the global one. Fixed the appropriate macro accordingly. Please note: travis will be supporting this change until I'm back online in Michigan. r=dp.
git-svn-id: svn://10.0.0.236/trunk@54257 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-23 05:55:33 +00:00
scc%netscape.com
7011fe7fc1 clear out the result in |do_CreateInstance| on error. r=pinkerton
git-svn-id: svn://10.0.0.236/trunk@54202 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-22 23:01:35 +00:00
dp%netscape.com
7790c1ad9c Eliminating leak of factory when getting it from hashtable.
Using NS_IMPL_ISUPPORTS1
Removing NS_DEFINE_IID
r=warren@netscape.com


git-svn-id: svn://10.0.0.236/trunk@54049 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-20 07:21:53 +00:00
warren%netscape.com
4306e0bc94 Fixed generic module factory lookup to look in cache.
git-svn-id: svn://10.0.0.236/trunk@53955 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:46:50 +00:00
beard%netscape.com
fed38c19f8 fix C string leak, bug=18699, r=shaver
git-svn-id: svn://10.0.0.236/trunk@53951 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-19 02:14:23 +00:00
fur%netscape.com
2b188ce191 Fixed a problem with the NS_GENERIC_FACTORY_CONSTRUCTOR_INIT() macro.
If the Init() routine happens to perform a balanced AddRef/Release,
the instance will be prematurely destroyed when Release() is called.
The change is to do the AddRef() before calling the initialization
routine to stabilize the instance's ref-count.

r: dp, putterman


git-svn-id: svn://10.0.0.236/trunk@53608 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-16 03:05:36 +00:00
fur%netscape.com
07cec86849 Return NS_ERROR_FACTORY_NOT_REGISTERED, not NS_ERROR_FAILURE, if a non-existent ProgID is used to instantiate a component. Also, don't ignore CLSID parse errors. R: dp
git-svn-id: svn://10.0.0.236/trunk@53467 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-14 15:41:40 +00:00
warren%netscape.com
6be51335c6 Minor fix.
git-svn-id: svn://10.0.0.236/trunk@53344 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:10:40 +00:00
warren%netscape.com
f4eb982ac0 Added NS_NewGenericModule. Made NS_IMPL_NSGETFACTORY use it to save space. r=dp,alecf
git-svn-id: svn://10.0.0.236/trunk@53341 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-12 09:07:26 +00:00
dp%netscape.com
bf00e32685 Services used with COMPtrs. NS_WITH_SERVICE definition uses COMPtrs. r=scc
git-svn-id: svn://10.0.0.236/trunk@53131 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-11 00:31:45 +00:00
shaver%netscape.com
6896473ece - NS_ERROR_FACTORY_REGISTER_AGAIN for deferring registration of a module until
later in the autoreg cycle.
- teach native component loader about deferred components
- add nsIComponentLoader::registerDeferredComponents
- teach component manager about deferred components
- made nsID::Parse take a |const char *| instead of a simple |char *|.
- move release of XPTI singletons until _after_ shutting down the component
  manager to prevent re-initialization during JS component shutdown.
- category manager work: really delete from reg, start on enumeration
- use nsXPIDLCString instead of autoStringFree.
- fix nsRegistry to use allocator properly.
- cleaner memory management in nsFactoryEntry.
- capitalization fixed in nsIComponentLoader.idl
- clean up loader creation logic
- remove/disable lots of DEBUG_shaver noise
- added (disabled) warning about NSGetFactory usage
- move .so and .shlb higher up in the ValidDllExtensions list to marginally
  speed up registration.
- added nsDll::GetRegistryLocation API
- properly export nsSupportsArray.h
- capitalization fixes in nsIEnumerator.idl
- added deferral to nsSample.js


git-svn-id: svn://10.0.0.236/trunk@53047 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:28:34 +00:00
scc%netscape.com
9fec22a94d Added |do_CreateInstance()|, |do_GetService()| both by CID and ProgID. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53045 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:54 +00:00
scc%netscape.com
79bbb292a0 Moved |do_CreateInstance()| from here to nsComponentManagerUtils.h. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53043 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-10 00:14:10 +00:00
dp%netscape.com
9c89d26c52 Enabling observing of XPCOM Shutdown r=jband r=putterman
git-svn-id: svn://10.0.0.236/trunk@53034 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-09 23:41:24 +00:00
dmose%mozilla.org
0efb7c174c updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org
git-svn-id: svn://10.0.0.236/trunk@52910 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-06 03:43:54 +00:00
dp%netscape.com
df73ba585b Deny GetService() requests which cause Creation of new objects on
shutdown. r=jband, r=ScottPutterman


git-svn-id: svn://10.0.0.236/trunk@52682 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-03 05:38:45 +00:00
alecf%netscape.com
54bfc70eea cleanup NS_IMPL_MODULE and friends
- define new nsModuleComponentInfo and use it instead of components_t
- use size_t instead of unsigned int
- add some docs
- allow user to define own module name


git-svn-id: svn://10.0.0.236/trunk@52452 18797224-902f-48f8-a5cc-f745e15eee43
1999-11-02 01:12:32 +00:00
scc%netscape.com
65b7cd0c03 changed the mechanism underlying |do_QueryInterface| to decouple |nsCOMPtr| from services, |nsIWeakReference|, etc. This change fixes bug #17364, and paves the way for making |nsCOMPtr| cooperate with services. r=valeski (additional builds done by dmose and syd)
git-svn-id: svn://10.0.0.236/trunk@52346 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-31 00:35:48 +00:00
braddr%puremagic.com
d8fb5871d7 Move all nsIEnumerator usage over to NS_ENUMERATOR_FALSE from NS_COMFALSE in anticipation of nixing NS_COMFALSE in the near future.
r=scc


git-svn-id: svn://10.0.0.236/trunk@52044 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-28 03:16:48 +00:00
braddr%puremagic.com
1dde1a4f56 Ooops.. tree closed, better back these out for now. Sorry.
git-svn-id: svn://10.0.0.236/trunk@51979 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-27 21:01:37 +00:00
braddr%puremagic.com
7767d9393b Move all nsIEnumerator usage over to NS_ENUMERATOR_FALSE from NS_COMFALSE
in anticipation of nixing NS_COMFALSE in the near future.
r=scc (please contact him should there be any build issues)


git-svn-id: svn://10.0.0.236/trunk@51977 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-27 20:24:21 +00:00
warren%netscape.com
c9c3ab2262 Fixed up dll loading for Windows. It was silently failing.
git-svn-id: svn://10.0.0.236/trunk@51694 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-24 22:01:09 +00:00
dp%netscape.com
7162f4cdbb bug# 9221 Fixing autoreg terminating on bad aliases. We now let it go
as far as possible ignoring errors. r=sfraser


git-svn-id: svn://10.0.0.236/trunk@51519 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-22 06:32:26 +00:00
dp%netscape.com
7da3eadc15 beautify...
git-svn-id: svn://10.0.0.236/trunk@51510 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-22 04:47:14 +00:00
dp%netscape.com
f7af54f40f bug# 15046 Preventing deletion of dll when getfactory fails. r=shaver,kipp
git-svn-id: svn://10.0.0.236/trunk@51474 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-22 01:04:16 +00:00
dp%netscape.com
32ccfffb02 bug#14656 Circular release problem of component manager. Fixed by
adding shutdown() method that gets called before the last
release. Enabled only for dp & shaver until we resolve js coredump.


git-svn-id: svn://10.0.0.236/trunk@51416 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-21 21:34:39 +00:00
scc%netscape.com
b029ca73a2 First Checked In.
git-svn-id: svn://10.0.0.236/trunk@51293 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-20 21:03:21 +00:00
dp%netscape.com
ab76ab5c8c Fixing warning. Moved declaration into if 0 block.
git-svn-id: svn://10.0.0.236/trunk@51115 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-19 05:49:04 +00:00
dveditz%netscape.com
9d59534945 Added nsIRegistry::Flush (bug 16283, required for 16600), r=shaver
git-svn-id: svn://10.0.0.236/trunk@50960 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-17 21:45:53 +00:00
jevering%netscape.com
70a261fb73 The nsLeakDetector.cpp file now requires a few extra header files which weren't being exported on win
git-svn-id: svn://10.0.0.236/trunk@50910 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-16 01:44:52 +00:00
scc%netscape.com
38a4215c26 Bug #15292, r=dp. Made the component manager inherit from |nsSupportsWeakReference|, fixed its |QueryInterface()| appropriately, and added casts in two places that became ambiguous now that the component manager had multiple |nsISupports| in it. Now one can hold a weak reference to the component manager using |nsIWeakReference|.
git-svn-id: svn://10.0.0.236/trunk@50853 18797224-902f-48f8-a5cc-f745e15eee43
1999-10-15 21:14:43 +00:00