101 Commits

Author SHA1 Message Date
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
shaver%netscape.com
c29e82e553 um, didn't mean to check that in
git-svn-id: svn://10.0.0.236/trunk@45660 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-02 05:21:10 +00:00
shaver%netscape.com
215713c944 *** empty log message ***
git-svn-id: svn://10.0.0.236/trunk@45659 18797224-902f-48f8-a5cc-f745e15eee43
1999-09-02 05:18:09 +00:00
shaver%netscape.com
ac1d899ee3 Removed nsIFactory.h (generated now).
Factored ComponentManager to support multiple ComponentLoaders.
Added support for relative paths in registry.
General cleanup.
(Broke detection of changed DLLs; dp is fixing -- thanks!)


git-svn-id: svn://10.0.0.236/trunk@45355 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-31 21:40:21 +00:00
brendan%mozilla.org
d87f3f7b04 Massive spankage to capitalize C++ method and attribute name bindings, per
Architecture Item 6.3 (news://news.mozilla.org/37BA89CF.3823D6F9%40meer.net).


git-svn-id: svn://10.0.0.236/trunk@44456 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-25 05:26:25 +00:00
scc%netscape.com
56d5ad0b43 got rid of |NS_IMPL_ISUPPORTS|, where possible, in favor of |NS_IMPL_ISUPPORTS0| or ...1 according to the specific use; got rid of |NS_DEFINE_IID| where possible, or where it should have been |NS_DEFINE_CID|; fixed bad implementations of |QueryInterface|, where possible. Built, tested apprunner, reviewed the changes with hyatt (since he was around to look) before checking in
git-svn-id: svn://10.0.0.236/trunk@44139 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-23 10:14:16 +00:00
dp%netscape.com
b359dd631b PlatformFind() changed to return nsDll * instead of FactoryEntry. This
is an internal api change.


git-svn-id: svn://10.0.0.236/trunk@43884 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-20 23:06:47 +00:00
dp%netscape.com
4ec4fd68a3 - Adding nsComponentMangager::GetClassObject()
- Adding a nsIID parameter to the nsIModule:GetClassObject()


git-svn-id: svn://10.0.0.236/trunk@43627 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-19 14:54:12 +00:00
sfraser%netscape.com
06d4c42e7e Part of fix for 11790, crash on quit. Don't try to delete static data. r dp, a chofmann
git-svn-id: svn://10.0.0.236/trunk@43320 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-13 23:26:47 +00:00
dp%netscape.com
4d630e99fa - using ComponentManager instead of service manager in nsIModule
- Adding UnregisterComponentSpec()
All the above are required for xpcom review.


git-svn-id: svn://10.0.0.236/trunk@43292 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-13 19:30:13 +00:00
dp%netscape.com
37a1b7bf3f Logging error from canunload
git-svn-id: svn://10.0.0.236/trunk@43069 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-10 23:06:33 +00:00
dp%netscape.com
27741c5206 dummy
git-svn-id: svn://10.0.0.236/trunk@42740 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-09 05:40:51 +00:00
jband%netscape.com
5630b79f6c adding enumeration of CLSIDs and ProgIDs using code from Robert Ginda <rginda@ix.netcom.com>
git-svn-id: svn://10.0.0.236/trunk@42738 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-09 05:02:25 +00:00
rjc%netscape.com
5dd3607160 Use GetFileSpec() correctly.
git-svn-id: svn://10.0.0.236/trunk@42652 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-07 11:23:54 +00:00
rjc%netscape.com
7e9a4319e4 On Mac, check a file's type (skip the creator, so that 3rd party shared libraries can be noticed) to see if its a shared library.
git-svn-id: svn://10.0.0.236/trunk@42577 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-06 23:06:07 +00:00
dp%netscape.com
4f3fd45b8b Using nsObjectHashtable::RemoveAndDelete()
git-svn-id: svn://10.0.0.236/trunk@41890 18797224-902f-48f8-a5cc-f745e15eee43
1999-08-03 00:03:38 +00:00
dp%netscape.com
933c0ab445 VMS changes from Colin Blake <colin@theblakes.com>
git-svn-id: svn://10.0.0.236/trunk@41733 18797224-902f-48f8-a5cc-f745e15eee43
1999-07-31 19:39:23 +00:00