From 06c6e2208760cb707ac39101b1842eb8865bd167 Mon Sep 17 00:00:00 2001 From: "hyatt%netscape.com" Date: Wed, 13 Sep 2000 03:07:26 +0000 Subject: [PATCH] Backing out chrome registry changes. a=brendan git-svn-id: svn://10.0.0.236/trunk@78960 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/chrome/src/nsChromeRegistry.cpp | 100 ++++++++++++-------- mozilla/rdf/chrome/src/nsChromeRegistry.cpp | 100 ++++++++++++-------- 2 files changed, 116 insertions(+), 84 deletions(-) diff --git a/mozilla/chrome/src/nsChromeRegistry.cpp b/mozilla/chrome/src/nsChromeRegistry.cpp index 445f5f4e71d..347d5e05402 100644 --- a/mozilla/chrome/src/nsChromeRegistry.cpp +++ b/mozilla/chrome/src/nsChromeRegistry.cpp @@ -47,6 +47,8 @@ #include "nsIStringBundle.h" #include "nsISimpleEnumerator.h" #include "nsNetUtil.h" +#include "nsFileLocations.h" +#include "nsIFileLocator.h" #include "nsIXBLService.h" #include "nsPIDOMWindow.h" #include "nsIDOMWindowInternal.h" @@ -74,7 +76,6 @@ #include "nsIImageManager.h" #include "nsIBindingManager.h" #include "prio.h" -#include "nsAppDirectoryServiceDefs.h" static char kChromePrefix[] = "chrome://"; static char kInstalledChromeFileName[] = "installed-chrome.txt"; @@ -2022,25 +2023,30 @@ NS_IMETHODIMP nsChromeRegistry::UninstallPackage(const PRUnichar* aPackageName, NS_IMETHODIMP nsChromeRegistry::GetProfileRoot(nsCString& aFileURL) { - nsresult rv; - nsCOMPtr userChromeDir; + nsCOMPtr fl; + + nsresult rv = nsComponentManager::CreateInstance("component://netscape/filelocator", + nsnull, + NS_GET_IID(nsIFileLocator), + getter_AddRefs(fl)); + + if (NS_FAILED(rv)) + return NS_OK; // Build a fileSpec that points to the destination - // (profile dir + chrome) - rv = NS_GetSpecialDirectory(NS_APP_USER_CHROME_DIR, getter_AddRefs(userChromeDir)); - if (NS_FAILED(rv) || !userChromeDir) - return NS_ERROR_FAILURE; - - char *filePath; - rv = userChromeDir->GetPath(&filePath); - if (NS_FAILED(rv)) - return rv; - nsFileSpec chromeFile(filePath); - Recycle(filePath); + // (profile dir + chrome + package + provider + chrome.rdf) + nsCOMPtr chromeFileInterface; + fl->GetFileLocation(nsSpecialFileSpec::App_UserProfileDirectory50, getter_AddRefs(chromeFileInterface)); - nsFileURL fileURL(chromeFile); - const char* fileStr = fileURL.GetURLString(); - aFileURL = fileStr; + if (chromeFileInterface) { + nsFileSpec chromeFile; + chromeFileInterface->GetFileSpec(&chromeFile); + nsFileURL fileURL(chromeFile); + const char* fileStr = fileURL.GetURLString(); + aFileURL = fileStr; + aFileURL += "chrome/"; + } + else return NS_ERROR_FAILURE; return NS_OK; } @@ -2049,25 +2055,26 @@ NS_IMETHODIMP nsChromeRegistry::GetInstallRoot(nsCString& aFileURL) { nsresult rv; - nsCOMPtr appChromeDir; + nsCOMPtr fl; + rv = nsComponentManager::CreateInstance("component://netscape/filelocator", + nsnull, + NS_GET_IID(nsIFileLocator), + getter_AddRefs(fl)); + if (NS_FAILED(rv)) return rv; // Build a fileSpec that points to the destination - // (bin dir + chrome) - rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, getter_AddRefs(appChromeDir)); - if (NS_FAILED(rv) || !appChromeDir) - return NS_ERROR_FAILURE; - - char *filePath; - rv = appChromeDir->GetPath(&filePath); - if (NS_FAILED(rv)) - return rv; - nsFileSpec chromeFile(filePath); - Recycle(filePath); + // (profile dir + chrome + package + provider + chrome.rdf) + nsCOMPtr chromeFileInterface; + rv = fl->GetFileLocation(nsSpecialFileSpec::App_ChromeDirectory, + getter_AddRefs(chromeFileInterface)); + if (NS_FAILED(rv)) return rv; + nsFileSpec chromeFile; + rv = chromeFileInterface->GetFileSpec(&chromeFile); + if (NS_FAILED(rv)) return rv; nsFileURL fileURL(chromeFile); const char* fileStr = fileURL.GetURLString(); aFileURL = fileStr; - return NS_OK; } @@ -2403,21 +2410,30 @@ nsChromeRegistry::CheckForNewChrome() } // open the installed-chrome file - nsCOMPtr listFileInterface; - rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, getter_AddRefs(listFileInterface)); - if (NS_FAILED(rv)) - return rv; - - nsCOMPtr listFile(do_QueryInterface(listFileInterface, &rv)); - if (NS_FAILED(rv)) - return rv; - listFile->AppendRelativePath(kInstalledChromeFileName); + nsCOMPtr locator; + rv = nsComponentManager::CreateInstance("component://netscape/filelocator", + nsnull, + NS_GET_IID(nsIFileLocator), + getter_AddRefs(locator)); + if (NS_FAILED(rv)) return rv; + + nsCOMPtr listFileInterface; + rv = locator->GetFileLocation(nsSpecialFileSpec::App_ChromeDirectory, + getter_AddRefs(listFileInterface)); + if (NS_FAILED(rv)) return rv; + + nsFileSpec listFileSpec; + nsCOMPtr listFile; + rv = listFileInterface->GetFileSpec(&listFileSpec); + if (NS_FAILED(rv)) return rv; + rv = NS_FileSpecToIFile(&listFileSpec, getter_AddRefs(listFile)); + if (NS_FAILED(rv)) return rv; PRFileDesc *file; - + rv = listFile->AppendRelativePath(kInstalledChromeFileName); + if (NS_FAILED(rv)) return rv; rv = listFile->OpenNSPRFileDesc(PR_RDWR, 0, &file); - if (NS_FAILED(rv)) - return rv; + if (NS_FAILED(rv)) return rv; // file is open. diff --git a/mozilla/rdf/chrome/src/nsChromeRegistry.cpp b/mozilla/rdf/chrome/src/nsChromeRegistry.cpp index 445f5f4e71d..347d5e05402 100644 --- a/mozilla/rdf/chrome/src/nsChromeRegistry.cpp +++ b/mozilla/rdf/chrome/src/nsChromeRegistry.cpp @@ -47,6 +47,8 @@ #include "nsIStringBundle.h" #include "nsISimpleEnumerator.h" #include "nsNetUtil.h" +#include "nsFileLocations.h" +#include "nsIFileLocator.h" #include "nsIXBLService.h" #include "nsPIDOMWindow.h" #include "nsIDOMWindowInternal.h" @@ -74,7 +76,6 @@ #include "nsIImageManager.h" #include "nsIBindingManager.h" #include "prio.h" -#include "nsAppDirectoryServiceDefs.h" static char kChromePrefix[] = "chrome://"; static char kInstalledChromeFileName[] = "installed-chrome.txt"; @@ -2022,25 +2023,30 @@ NS_IMETHODIMP nsChromeRegistry::UninstallPackage(const PRUnichar* aPackageName, NS_IMETHODIMP nsChromeRegistry::GetProfileRoot(nsCString& aFileURL) { - nsresult rv; - nsCOMPtr userChromeDir; + nsCOMPtr fl; + + nsresult rv = nsComponentManager::CreateInstance("component://netscape/filelocator", + nsnull, + NS_GET_IID(nsIFileLocator), + getter_AddRefs(fl)); + + if (NS_FAILED(rv)) + return NS_OK; // Build a fileSpec that points to the destination - // (profile dir + chrome) - rv = NS_GetSpecialDirectory(NS_APP_USER_CHROME_DIR, getter_AddRefs(userChromeDir)); - if (NS_FAILED(rv) || !userChromeDir) - return NS_ERROR_FAILURE; - - char *filePath; - rv = userChromeDir->GetPath(&filePath); - if (NS_FAILED(rv)) - return rv; - nsFileSpec chromeFile(filePath); - Recycle(filePath); + // (profile dir + chrome + package + provider + chrome.rdf) + nsCOMPtr chromeFileInterface; + fl->GetFileLocation(nsSpecialFileSpec::App_UserProfileDirectory50, getter_AddRefs(chromeFileInterface)); - nsFileURL fileURL(chromeFile); - const char* fileStr = fileURL.GetURLString(); - aFileURL = fileStr; + if (chromeFileInterface) { + nsFileSpec chromeFile; + chromeFileInterface->GetFileSpec(&chromeFile); + nsFileURL fileURL(chromeFile); + const char* fileStr = fileURL.GetURLString(); + aFileURL = fileStr; + aFileURL += "chrome/"; + } + else return NS_ERROR_FAILURE; return NS_OK; } @@ -2049,25 +2055,26 @@ NS_IMETHODIMP nsChromeRegistry::GetInstallRoot(nsCString& aFileURL) { nsresult rv; - nsCOMPtr appChromeDir; + nsCOMPtr fl; + rv = nsComponentManager::CreateInstance("component://netscape/filelocator", + nsnull, + NS_GET_IID(nsIFileLocator), + getter_AddRefs(fl)); + if (NS_FAILED(rv)) return rv; // Build a fileSpec that points to the destination - // (bin dir + chrome) - rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, getter_AddRefs(appChromeDir)); - if (NS_FAILED(rv) || !appChromeDir) - return NS_ERROR_FAILURE; - - char *filePath; - rv = appChromeDir->GetPath(&filePath); - if (NS_FAILED(rv)) - return rv; - nsFileSpec chromeFile(filePath); - Recycle(filePath); + // (profile dir + chrome + package + provider + chrome.rdf) + nsCOMPtr chromeFileInterface; + rv = fl->GetFileLocation(nsSpecialFileSpec::App_ChromeDirectory, + getter_AddRefs(chromeFileInterface)); + if (NS_FAILED(rv)) return rv; + nsFileSpec chromeFile; + rv = chromeFileInterface->GetFileSpec(&chromeFile); + if (NS_FAILED(rv)) return rv; nsFileURL fileURL(chromeFile); const char* fileStr = fileURL.GetURLString(); aFileURL = fileStr; - return NS_OK; } @@ -2403,21 +2410,30 @@ nsChromeRegistry::CheckForNewChrome() } // open the installed-chrome file - nsCOMPtr listFileInterface; - rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, getter_AddRefs(listFileInterface)); - if (NS_FAILED(rv)) - return rv; - - nsCOMPtr listFile(do_QueryInterface(listFileInterface, &rv)); - if (NS_FAILED(rv)) - return rv; - listFile->AppendRelativePath(kInstalledChromeFileName); + nsCOMPtr locator; + rv = nsComponentManager::CreateInstance("component://netscape/filelocator", + nsnull, + NS_GET_IID(nsIFileLocator), + getter_AddRefs(locator)); + if (NS_FAILED(rv)) return rv; + + nsCOMPtr listFileInterface; + rv = locator->GetFileLocation(nsSpecialFileSpec::App_ChromeDirectory, + getter_AddRefs(listFileInterface)); + if (NS_FAILED(rv)) return rv; + + nsFileSpec listFileSpec; + nsCOMPtr listFile; + rv = listFileInterface->GetFileSpec(&listFileSpec); + if (NS_FAILED(rv)) return rv; + rv = NS_FileSpecToIFile(&listFileSpec, getter_AddRefs(listFile)); + if (NS_FAILED(rv)) return rv; PRFileDesc *file; - + rv = listFile->AppendRelativePath(kInstalledChromeFileName); + if (NS_FAILED(rv)) return rv; rv = listFile->OpenNSPRFileDesc(PR_RDWR, 0, &file); - if (NS_FAILED(rv)) - return rv; + if (NS_FAILED(rv)) return rv; // file is open.