Backing out chrome registry changes. a=brendan

git-svn-id: svn://10.0.0.236/trunk@78960 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
hyatt%netscape.com
2000-09-13 03:07:26 +00:00
parent 086a4f60da
commit 06c6e22087
2 changed files with 116 additions and 84 deletions

View File

@@ -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<nsIFile> userChromeDir;
nsCOMPtr<nsIFileLocator> 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<nsIFileSpec> 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<nsIFile> appChromeDir;
nsCOMPtr<nsIFileLocator> 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<nsIFileSpec> 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<nsIFile> listFileInterface;
rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, getter_AddRefs(listFileInterface));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsILocalFile> listFile(do_QueryInterface(listFileInterface, &rv));
if (NS_FAILED(rv))
return rv;
listFile->AppendRelativePath(kInstalledChromeFileName);
nsCOMPtr<nsIFileLocator> locator;
rv = nsComponentManager::CreateInstance("component://netscape/filelocator",
nsnull,
NS_GET_IID(nsIFileLocator),
getter_AddRefs(locator));
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIFileSpec> listFileInterface;
rv = locator->GetFileLocation(nsSpecialFileSpec::App_ChromeDirectory,
getter_AddRefs(listFileInterface));
if (NS_FAILED(rv)) return rv;
nsFileSpec listFileSpec;
nsCOMPtr<nsILocalFile> 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.

View File

@@ -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<nsIFile> userChromeDir;
nsCOMPtr<nsIFileLocator> 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<nsIFileSpec> 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<nsIFile> appChromeDir;
nsCOMPtr<nsIFileLocator> 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<nsIFileSpec> 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<nsIFile> listFileInterface;
rv = NS_GetSpecialDirectory(NS_APP_CHROME_DIR, getter_AddRefs(listFileInterface));
if (NS_FAILED(rv))
return rv;
nsCOMPtr<nsILocalFile> listFile(do_QueryInterface(listFileInterface, &rv));
if (NS_FAILED(rv))
return rv;
listFile->AppendRelativePath(kInstalledChromeFileName);
nsCOMPtr<nsIFileLocator> locator;
rv = nsComponentManager::CreateInstance("component://netscape/filelocator",
nsnull,
NS_GET_IID(nsIFileLocator),
getter_AddRefs(locator));
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIFileSpec> listFileInterface;
rv = locator->GetFileLocation(nsSpecialFileSpec::App_ChromeDirectory,
getter_AddRefs(listFileInterface));
if (NS_FAILED(rv)) return rv;
nsFileSpec listFileSpec;
nsCOMPtr<nsILocalFile> 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.