From 828044e035209cdb366c70b595ee3235c6db76ca Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Thu, 1 Jun 2000 04:14:34 +0000 Subject: [PATCH] fix for bug #40248. I was using the category manager incorrectly. thanks to bruce@cubik.org for pointing it out. git-svn-id: svn://10.0.0.236/trunk@71244 18797224-902f-48f8-a5cc-f745e15eee43 --- .../extensions/cookie/nsCookieHTTPNotify.cpp | 2 +- .../irc/js/lib/chatzilla-service.js | 2 +- .../protocol/http/src/nsHTTPHandler.cpp | 24 ++++++++++++++----- .../appshell/public/nsICmdLineHandler.idl | 2 +- mozilla/xpfe/bootstrap/nsAppRunner.cpp | 15 ++++++++---- .../components/console/jsconsole-clhandler.js | 4 ++-- .../startup/public/nsICmdLineHandler.idl | 2 +- 7 files changed, 34 insertions(+), 17 deletions(-) diff --git a/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp b/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp index b360e441e6f..7dadfe6fc5b 100644 --- a/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp +++ b/mozilla/extensions/cookie/nsCookieHTTPNotify.cpp @@ -65,7 +65,7 @@ NS_METHOD nsCookieHTTPNotify::RegisterProc(nsIComponentManager *aCompMgr, nsCID cid = NS_COOKIEHTTPNOTIFY_CID; char *cidString = cid.ToString(); nsXPIDLCString prevEntry; - rv = catman->AddCategoryEntry(NS_HTTP_STARTUP_CATEGORY, cidString, "Http Cookie Notify", + rv = catman->AddCategoryEntry(NS_HTTP_STARTUP_CATEGORY, "Http Cookie Notify", cidString, PR_TRUE, PR_TRUE, getter_Copies(prevEntry)); nsAllocator::Free(cidString); diff --git a/mozilla/extensions/irc/js/lib/chatzilla-service.js b/mozilla/extensions/irc/js/lib/chatzilla-service.js index ed5cfb0c2cd..eab7d66c44f 100644 --- a/mozilla/extensions/irc/js/lib/chatzilla-service.js +++ b/mozilla/extensions/irc/js/lib/chatzilla-service.js @@ -52,7 +52,7 @@ function (compMgr, fileSpec, location, type) true, true, type); catman = Components.classes["mozilla.categorymanager.1"].getService(nsICategoryManager); - catman.addCategoryEntry("command-line-argument-handlers",CHATZILLASERVICE_PROGID, "chatzilla command line handler", true, true); + catman.addCategoryEntry("command-line-argument-handlers","chatzilla command line handler",CHATZILLASERVICE_PROGID, true, true); } chatzillaModule.unregisterSelf = diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPHandler.cpp b/mozilla/netwerk/protocol/http/src/nsHTTPHandler.cpp index 1a7d980f5be..9625a1510d3 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPHandler.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHTTPHandler.cpp @@ -48,6 +48,10 @@ #include "nsICategoryManager.h" #include "nsISupportsPrimitives.h" +#if defined(DEBUG_dp) || defined(DEBUG_sspitzer) || defined(DEBUG_seth) +#define DEBUG_HTTP_STARTUP_CATEGORY 1 +#endif + #include "nsHTTPRequest.h" #ifdef DEBUG_gagan #include "nsIWebFilters.h" @@ -139,31 +143,39 @@ CategoryCreateService( const char *category ) nFailed++; continue; } - nsXPIDLCString cidString; - rv = catEntry->GetData(getter_Copies(cidString)); + nsXPIDLCString entryString; + rv = catEntry->GetData(getter_Copies(entryString)); if (NS_FAILED(rv)) { nFailed++; continue; } + nsXPIDLCString cidString; + rv = categoryManager->GetCategoryEntry(category,(const char *)entryString, getter_Copies(cidString)); + if (NS_FAILED(rv)) + { + nFailed++; + continue; + } + nsCID cid; rv = cid.Parse(cidString); if (NS_SUCCEEDED(rv)) { -#ifdef DEBUG_dp +#ifdef DEBUG_HTTP_STARTUP_CATEGORY printf("CategoryCreateInstance: Instantiating cid: %s \ in category %s.\n", (const char *)cidString, category); -#endif /* DEBUG_dp */ +#endif /* DEBUG_HTTP_STARTUP_CATEGORY */ // Create a service from the cid nsCOMPtr instance = do_GetService(cid, &rv); } else { -#ifdef DEBUG_dp +#ifdef DEBUG_HTTP_STARTUP_CATEGORY printf("HTTP Handler: Instantiating progid %s \ in http startup category.\n", (const char *)cidString); -#endif /* DEBUG_dp */ +#endif /* DEBUG_HTTP_STARTUP_CATEGORY */ // This might be a progid. Try that too. nsCOMPtr instance = do_GetService(cidString, &rv); } diff --git a/mozilla/xpfe/appshell/public/nsICmdLineHandler.idl b/mozilla/xpfe/appshell/public/nsICmdLineHandler.idl index 751aa6b86e6..f2789e43f57 100644 --- a/mozilla/xpfe/appshell/public/nsICmdLineHandler.idl +++ b/mozilla/xpfe/appshell/public/nsICmdLineHandler.idl @@ -93,7 +93,7 @@ NS_METHOD macro_class::RegisterProc(nsIComponentManager *aCompMgr, nsIFile *aPat nsCOMPtr catman = do_GetService("mozilla.categorymanager.1", &rv); \ if (NS_FAILED(rv)) return rv; \ nsXPIDLCString prevEntry; \ - rv = catman->AddCategoryEntry(COMMAND_LINE_ARGUMENT_HANDLERS, macro_progid, macro_pretty_name, PR_TRUE, PR_TRUE, getter_Copies(prevEntry)); \ + rv = catman->AddCategoryEntry(COMMAND_LINE_ARGUMENT_HANDLERS, macro_pretty_name, macro_progid, PR_TRUE, PR_TRUE, getter_Copies(prevEntry)); \ return NS_OK; \ } \ NS_METHOD macro_class::UnregisterProc(nsIComponentManager *aCompMgr, nsIFile *aPath, const char *registryLocation) \ diff --git a/mozilla/xpfe/bootstrap/nsAppRunner.cpp b/mozilla/xpfe/bootstrap/nsAppRunner.cpp index cacd0325fbc..267af0965f3 100644 --- a/mozilla/xpfe/bootstrap/nsAppRunner.cpp +++ b/mozilla/xpfe/bootstrap/nsAppRunner.cpp @@ -289,12 +289,17 @@ static void DumpArbitraryHelp() rv = catman->EnumerateCategory(COMMAND_LINE_ARGUMENT_HANDLERS, getter_AddRefs(e)); if(NS_SUCCEEDED(rv) && e) { while (PR_TRUE) { - nsCOMPtr progid; - rv = e->GetNext(getter_AddRefs(progid)); - if (NS_FAILED(rv) || !progid) break; + nsCOMPtr catEntry; + rv = e->GetNext(getter_AddRefs(catEntry)); + if (NS_FAILED(rv) || !catEntry) break; - nsXPIDLCString progidString; - progid->ToString (getter_Copies(progidString)); + nsXPIDLCString entryString; + rv = catEntry->GetData(getter_Copies(entryString)); + if (NS_FAILED(rv) || !((const char *)entryString)) break; + + nsXPIDLCString progidString; + rv = catman->GetCategoryEntry(COMMAND_LINE_ARGUMENT_HANDLERS,(const char *)entryString, getter_Copies(progidString)); + if (NS_FAILED(rv) || !((const char *)progidString)) break; #ifdef DEBUG_CMD_LINE printf("cmd line handler progid = %s\n", (const char *)progidString); diff --git a/mozilla/xpfe/components/console/jsconsole-clhandler.js b/mozilla/xpfe/components/console/jsconsole-clhandler.js index 4e5547ced59..60fdc31febe 100644 --- a/mozilla/xpfe/components/console/jsconsole-clhandler.js +++ b/mozilla/xpfe/components/console/jsconsole-clhandler.js @@ -64,8 +64,8 @@ var jsConsoleHandlerModule = { location, true, true, type); var catman = Components.classes["mozilla.categorymanager.1"] .getService(Components.interfaces.nsICategoryManager); - catman.addCategoryEntry("command-line-argument-handlers", - JSCONSOLEHANDLER_PROGID, "jsconsole command line handler", + catman.addCategoryEntry("command-line-argument-handlers", "jsconsole command line handler", + JSCONSOLEHANDLER_PROGID, true, true); }, diff --git a/mozilla/xpfe/components/startup/public/nsICmdLineHandler.idl b/mozilla/xpfe/components/startup/public/nsICmdLineHandler.idl index 751aa6b86e6..f2789e43f57 100644 --- a/mozilla/xpfe/components/startup/public/nsICmdLineHandler.idl +++ b/mozilla/xpfe/components/startup/public/nsICmdLineHandler.idl @@ -93,7 +93,7 @@ NS_METHOD macro_class::RegisterProc(nsIComponentManager *aCompMgr, nsIFile *aPat nsCOMPtr catman = do_GetService("mozilla.categorymanager.1", &rv); \ if (NS_FAILED(rv)) return rv; \ nsXPIDLCString prevEntry; \ - rv = catman->AddCategoryEntry(COMMAND_LINE_ARGUMENT_HANDLERS, macro_progid, macro_pretty_name, PR_TRUE, PR_TRUE, getter_Copies(prevEntry)); \ + rv = catman->AddCategoryEntry(COMMAND_LINE_ARGUMENT_HANDLERS, macro_pretty_name, macro_progid, PR_TRUE, PR_TRUE, getter_Copies(prevEntry)); \ return NS_OK; \ } \ NS_METHOD macro_class::UnregisterProc(nsIComponentManager *aCompMgr, nsIFile *aPath, const char *registryLocation) \