117 Commits

Author SHA1 Message Date
sgehani%netscape.com
c23aaa32b2 Fix Autoregistration bustage in the context of apps using XPCOM outside Mozilla (e.g. the installer stubs).
git-svn-id: svn://10.0.0.236/trunk@67807 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-02 00:54:11 +00:00
jband%netscape.com
95a3361f4b make the component manager's AutoRegister call the interface info manager's AutoRegisterInterfaces
git-svn-id: svn://10.0.0.236/trunk@67086 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-25 05:11:30 +00:00
shaver%mozilla.org
762347617a add CurrentItemInPlaceUTF8 to reduce startup alloc by 2.3M(!), r=brendan
git-svn-id: svn://10.0.0.236/trunk@67008 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-25 01:11:08 +00:00
dp%netscape.com
1f21d972f7 Implemented component unregistration.
git-svn-id: svn://10.0.0.236/trunk@66251 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 05:25:05 +00:00
dp%netscape.com
33517602f4 Preventing empty progid causing registration problems.
git-svn-id: svn://10.0.0.236/trunk@64110 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-25 06:57:25 +00:00
dp%netscape.com
59bafd4cd7 Enabling PR_LOG for release builds from native component loader.
Tuning log format to help analysis.


git-svn-id: svn://10.0.0.236/trunk@62669 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-11 22:44:51 +00:00
dp%netscape.com
ca167391c0 bug# 29685 Eliminating unneccessary hits to registry to improve startup. Improving on previous fix. Thanks to jband's help. r=jband,dveditz a=jevering
git-svn-id: svn://10.0.0.236/trunk@62101 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-03 01:48:41 +00:00
jband%netscape.com
fa256028e2 back out dp's unsafe optimization that caused crash on first run
git-svn-id: svn://10.0.0.236/trunk@62065 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-02 19:57:23 +00:00
dp%netscape.com
694badc5aa Eliminating 11 hits to the registry for Progid if we already have
prepopulated the registry. This improves startup performance.
a=jevering, r=dveditz


git-svn-id: svn://10.0.0.236/trunk@62018 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-02 02:13:11 +00:00
dveditz%netscape.com
4eddb0ee15 Bug 23941 speed up install on Mac, r=cathleen, a=jar;
Bug 12817 no Autoreg (in optimized builds) unless xpinstall detects flag indicating install has happened or build number changed, r=dp, a=jar;
Bug 23859 add wstring API to nsIRegistry for profile manager/i18n, r=gayatrib, a=jar;


git-svn-id: svn://10.0.0.236/trunk@61370 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-20 03:12:59 +00:00
dveditz%netscape.com
9f13883da5 registry speed ups (part of 12817)
git-svn-id: svn://10.0.0.236/trunk@61112 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-16 07:45:20 +00:00
dveditz%netscape.com
121072fe86 New wstring nsIRegistry interface, bug 23859;
new version registry name for mozilla, bug 10533;
log now created by install wizards too, bug 26309;
downloaded file cleanup moved into manager, bug 24249;
scaffolding for bug 12817 and 12361 (conditional autoreg)


git-svn-id: svn://10.0.0.236/trunk@60771 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-15 01:32:12 +00:00
dougt%netscape.com
834bfb40d0 Fix for bug 25941. r=dp,scc.
git-svn-id: svn://10.0.0.236/trunk@59376 18797224-902f-48f8-a5cc-f745e15eee43
2000-02-01 07:54:46 +00:00
dougt%netscape.com
2099aed8f0 Renaming IsContainedIn to contains()
git-svn-id: svn://10.0.0.236/trunk@59129 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-28 23:54:26 +00:00
dougt%netscape.com
9b70d475ce Giving these files Purify loving. r=dveditz
git-svn-id: svn://10.0.0.236/trunk@59112 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-28 23:37:27 +00:00
dougt%netscape.com
714da09a59 Landing nsIFile.
git-svn-id: svn://10.0.0.236/trunk@58490 18797224-902f-48f8-a5cc-f745e15eee43
2000-01-24 21:28:28 +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
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
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
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
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
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
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
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
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
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
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
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
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
sfraser%netscape.com
ca68584efa Fixing use of obsolete types for shaver.
git-svn-id: svn://10.0.0.236/trunk@49277 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-29 02:54:18 +00:00
shaver%netscape.com
393d020282 nsIRegistry scriptability and beginning of category support, r=dp,alecf,dveditz a=leaf,chofmann
git-svn-id: svn://10.0.0.236/trunk@49272 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-29 02:35:42 +00:00
dveditz%netscape.com
8964fd9cbf Make sure componentMgr calls NR_ShutdownRegistry(), fixing MLKs and registry corruption from unflushed registry buffers.
r=dp,a=chofmann


git-svn-id: svn://10.0.0.236/trunk@49108 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-26 21:20:21 +00:00
dp%netscape.com
24f11a016d Passing down NS_Shutdown to Unloading of libraries.
git-svn-id: svn://10.0.0.236/trunk@49101 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-26 18:04:27 +00:00
dp%netscape.com
d399f0104e UnloadAll() on non-native loaders.
git-svn-id: svn://10.0.0.236/trunk@48882 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-23 00:14:00 +00:00
dp%netscape.com
7eab9cadfe Enabling xpcom shutdown to call NSCanUnload() on every component.
git-svn-id: svn://10.0.0.236/trunk@48880 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-23 00:01:53 +00:00
waterson%netscape.com
ecac83d9d2 Fix backwards return values on nsIEnumerator::IsDone().
git-svn-id: svn://10.0.0.236/trunk@48471 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-21 01:28:18 +00:00
warren%netscape.com
bc71cc93e8 freed mComponentsDir in nsComponentManager
git-svn-id: svn://10.0.0.236/trunk@48370 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-20 20:53:57 +00:00
dp%netscape.com
103414ae51 Ability for XPCOM to use non-default component registry and component directory
git-svn-id: svn://10.0.0.236/trunk@47809 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-16 19:28:57 +00:00
shaver%netscape.com
d13e0a7104 lose some DEBUG_shaver debugging noise
git-svn-id: svn://10.0.0.236/trunk@47584 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-15 14:45:29 +00:00
dp%netscape.com
84052dc693 Typo fixed. AutoRegisterComponent works again.
git-svn-id: svn://10.0.0.236/trunk@46939 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-11 07:23:28 +00:00
dveditz%netscape.com
04940aa5cb speed startup by avoiding registry look ups that are guaranteed to fail, eliciting worst-case behavior
git-svn-id: svn://10.0.0.236/trunk@46709 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-10 05:27:23 +00:00
shaver%netscape.com
d28ae6ecaf fix memory leaks (eep) and add some debugging noise for myself
git-svn-id: svn://10.0.0.236/trunk@46470 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-09 00:48:30 +00:00
shaver%netscape.com
b052c8e4df fix MLK bugs 13285 and 13286 and prevent repeated PrePopulateRegistry calls
git-svn-id: svn://10.0.0.236/trunk@46297 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-08 04:22:37 +00:00
shaver%netscape.com
e40893df46 teach component manager that there are non-native entries in the registry
git-svn-id: svn://10.0.0.236/trunk@46237 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-07 23:18:47 +00:00
shaver%netscape.com
955b7a1d60 Moved abs:/rel: handling to ComponentManager.
Made nsIModule::GetClassObject and nsIFactory scriptable for JS components.
Added registryLocation param to nsIModule::(Un)RegisterSelf.


git-svn-id: svn://10.0.0.236/trunk@46161 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-07 05:06:37 +00:00
shaver%netscape.com
4a8f1f1ad4 Add nsIComponentManager::registerComponentWithType.
Take advantage of IDLized nsIComponentManager to fix up nsIComponentLoader.idl
and make nsIModule scriptable.


git-svn-id: svn://10.0.0.236/trunk@46103 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-06 16:43:09 +00:00
shaver%netscape.com
708e94e89e convert to CreateInstanceFromProgID
git-svn-id: svn://10.0.0.236/trunk@46048 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-05 06:27:42 +00:00
shaver%netscape.com
3fd6f08466 properly initialize loaders on creation, and remove code that's now in nsFileSpec
git-svn-id: svn://10.0.0.236/trunk@45979 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-03 23:51:31 +00:00
shaver%netscape.com
ba0e48539e Added ComponentLoaders to registry and abandoned the progID suffix strategy
to reduce evil in universe.
Added nsIComponentManager::RegisterComponentLoader.
Dead code removal.
Make AutoRegister eagerly created all as-yet-unloaded component loaders and
AutoRegister with them as well.
Removed much #ifdef DEBUG_shaver noise.


git-svn-id: svn://10.0.0.236/trunk@45674 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-02 07:00:29 +00:00