From 509a16e45e48682846688ff07c3935158d467b7e Mon Sep 17 00:00:00 2001 From: "danm%netscape.com" Date: Tue, 16 May 2000 03:16:58 +0000 Subject: [PATCH] store generated overlays in their own directory. force overlay list node to be a seq. r=hyatt@netscape.com git-svn-id: svn://10.0.0.236/trunk@69955 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/chrome/src/nsChromeRegistry.cpp | 39 ++++++++++----------- mozilla/chrome/src/nsChromeRegistry.h | 2 +- mozilla/rdf/chrome/src/nsChromeRegistry.cpp | 39 ++++++++++----------- mozilla/rdf/chrome/src/nsChromeRegistry.h | 2 +- 4 files changed, 40 insertions(+), 42 deletions(-) diff --git a/mozilla/chrome/src/nsChromeRegistry.cpp b/mozilla/chrome/src/nsChromeRegistry.cpp index b8d52938196..af91fade5e6 100644 --- a/mozilla/chrome/src/nsChromeRegistry.cpp +++ b/mozilla/chrome/src/nsChromeRegistry.cpp @@ -662,7 +662,8 @@ NS_IMETHODIMP nsChromeRegistry::GetOverlayDataSource(nsIURI *aChromeURL, nsIRDFD if (NS_FAILED(rv)) return rv; // Retrieve the mInner data source. - nsCAutoString overlayFile = package; + nsCAutoString overlayFile = "overlayinfo/"; + overlayFile += package; overlayFile += "/"; overlayFile += provider; overlayFile += "/"; @@ -974,8 +975,8 @@ nsChromeRegistry::ProcessStyleSheet(nsIURL* aURL, nsICSSLoader* aLoader, nsIDocu return rv; } -NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(const PRUnichar *aDocURI, - char *aOverlayURI, +NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(char *aDocURI, + const PRUnichar *aOverlayURI, PRBool aRemove) { nsresult rv; @@ -989,7 +990,7 @@ NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(const PRUnicha if (NS_FAILED(rv)) return NS_OK; - nsCAutoString str; str.AssignWithConversion(aDocURI); + nsCAutoString str(aDocURI); url->SetSpec(str); nsCOMPtr dataSource; GetOverlayDataSource(url, getter_AddRefs(dataSource)); @@ -998,25 +999,23 @@ NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(const PRUnicha return NS_OK; nsCOMPtr resource; - nsCAutoString aDocURIString; aDocURIString.AssignWithConversion(aDocURI); - rv = GetResource(aDocURIString, getter_AddRefs(resource)); + rv = GetResource(str, getter_AddRefs(resource)); if (NS_FAILED(rv)) return NS_OK; nsCOMPtr container; + mRDFContainerUtils->MakeSeq(dataSource, resource, getter_AddRefs(container)); + if (!container) { + // Already exists. Create a container instead. + rv = nsComponentManager::CreateInstance("component://netscape/rdf/container", + nsnull, + NS_GET_IID(nsIRDFContainer), + getter_AddRefs(container)); + container->Init(dataSource, resource); + } - rv = nsComponentManager::CreateInstance("component://netscape/rdf/container", - nsnull, - NS_GET_IID(nsIRDFContainer), - getter_AddRefs(container)); - if (NS_FAILED(rv)) - return NS_ERROR_FAILURE; - - if (NS_FAILED(container->Init(dataSource, resource))) - return NS_ERROR_FAILURE; - - nsAutoString unistr; unistr.AssignWithConversion(aOverlayURI); + nsAutoString unistr(aOverlayURI); nsCOMPtr literal; mRDFService->GetLiteral(unistr.GetUnicode(), getter_AddRefs(literal)); @@ -1060,7 +1059,7 @@ NS_IMETHODIMP nsChromeRegistry::UpdateOverlay(nsIRDFDataSource *aDataSource, nsI PRBool moreElements; arcs->HasMoreElements(&moreElements); - + char *value; aResource->GetValue(&value); @@ -1078,7 +1077,7 @@ NS_IMETHODIMP nsChromeRegistry::UpdateOverlay(nsIRDFDataSource *aDataSource, nsI if (NS_FAILED(rv)) return rv; - ReallyUpdateOverlayFromDataSource(valueStr, value, aRemove); + ReallyUpdateOverlayFromDataSource(value, valueStr, aRemove); } arcs->HasMoreElements(&moreElements); } @@ -1093,7 +1092,7 @@ NS_IMETHODIMP nsChromeRegistry::UpdateOverlays(nsIRDFDataSource *aDataSource, { nsresult rv; nsCOMPtr resource; - rv = GetResource("chrome:overlays", getter_AddRefs(resource)); + rv = GetResource("urn:mozilla:overlays", getter_AddRefs(resource)); if (!resource) return NS_OK; diff --git a/mozilla/chrome/src/nsChromeRegistry.h b/mozilla/chrome/src/nsChromeRegistry.h index e21b540e7dd..614d965321b 100644 --- a/mozilla/chrome/src/nsChromeRegistry.h +++ b/mozilla/chrome/src/nsChromeRegistry.h @@ -67,7 +67,7 @@ protected: void GetUserSheetURL(nsCString & aURL); private: - NS_IMETHOD ReallyUpdateOverlayFromDataSource(const PRUnichar *aDocURI, char *aOverlayURI, + NS_IMETHOD ReallyUpdateOverlayFromDataSource(char *aDocURI, const PRUnichar *aOverlayURI, PRBool aRemove); NS_IMETHOD LoadDataSource(const nsCAutoString &aFileName, nsIRDFDataSource **aResult, PRBool aUseProfileDirOnly = PR_FALSE); diff --git a/mozilla/rdf/chrome/src/nsChromeRegistry.cpp b/mozilla/rdf/chrome/src/nsChromeRegistry.cpp index b8d52938196..af91fade5e6 100644 --- a/mozilla/rdf/chrome/src/nsChromeRegistry.cpp +++ b/mozilla/rdf/chrome/src/nsChromeRegistry.cpp @@ -662,7 +662,8 @@ NS_IMETHODIMP nsChromeRegistry::GetOverlayDataSource(nsIURI *aChromeURL, nsIRDFD if (NS_FAILED(rv)) return rv; // Retrieve the mInner data source. - nsCAutoString overlayFile = package; + nsCAutoString overlayFile = "overlayinfo/"; + overlayFile += package; overlayFile += "/"; overlayFile += provider; overlayFile += "/"; @@ -974,8 +975,8 @@ nsChromeRegistry::ProcessStyleSheet(nsIURL* aURL, nsICSSLoader* aLoader, nsIDocu return rv; } -NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(const PRUnichar *aDocURI, - char *aOverlayURI, +NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(char *aDocURI, + const PRUnichar *aOverlayURI, PRBool aRemove) { nsresult rv; @@ -989,7 +990,7 @@ NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(const PRUnicha if (NS_FAILED(rv)) return NS_OK; - nsCAutoString str; str.AssignWithConversion(aDocURI); + nsCAutoString str(aDocURI); url->SetSpec(str); nsCOMPtr dataSource; GetOverlayDataSource(url, getter_AddRefs(dataSource)); @@ -998,25 +999,23 @@ NS_IMETHODIMP nsChromeRegistry::ReallyUpdateOverlayFromDataSource(const PRUnicha return NS_OK; nsCOMPtr resource; - nsCAutoString aDocURIString; aDocURIString.AssignWithConversion(aDocURI); - rv = GetResource(aDocURIString, getter_AddRefs(resource)); + rv = GetResource(str, getter_AddRefs(resource)); if (NS_FAILED(rv)) return NS_OK; nsCOMPtr container; + mRDFContainerUtils->MakeSeq(dataSource, resource, getter_AddRefs(container)); + if (!container) { + // Already exists. Create a container instead. + rv = nsComponentManager::CreateInstance("component://netscape/rdf/container", + nsnull, + NS_GET_IID(nsIRDFContainer), + getter_AddRefs(container)); + container->Init(dataSource, resource); + } - rv = nsComponentManager::CreateInstance("component://netscape/rdf/container", - nsnull, - NS_GET_IID(nsIRDFContainer), - getter_AddRefs(container)); - if (NS_FAILED(rv)) - return NS_ERROR_FAILURE; - - if (NS_FAILED(container->Init(dataSource, resource))) - return NS_ERROR_FAILURE; - - nsAutoString unistr; unistr.AssignWithConversion(aOverlayURI); + nsAutoString unistr(aOverlayURI); nsCOMPtr literal; mRDFService->GetLiteral(unistr.GetUnicode(), getter_AddRefs(literal)); @@ -1060,7 +1059,7 @@ NS_IMETHODIMP nsChromeRegistry::UpdateOverlay(nsIRDFDataSource *aDataSource, nsI PRBool moreElements; arcs->HasMoreElements(&moreElements); - + char *value; aResource->GetValue(&value); @@ -1078,7 +1077,7 @@ NS_IMETHODIMP nsChromeRegistry::UpdateOverlay(nsIRDFDataSource *aDataSource, nsI if (NS_FAILED(rv)) return rv; - ReallyUpdateOverlayFromDataSource(valueStr, value, aRemove); + ReallyUpdateOverlayFromDataSource(value, valueStr, aRemove); } arcs->HasMoreElements(&moreElements); } @@ -1093,7 +1092,7 @@ NS_IMETHODIMP nsChromeRegistry::UpdateOverlays(nsIRDFDataSource *aDataSource, { nsresult rv; nsCOMPtr resource; - rv = GetResource("chrome:overlays", getter_AddRefs(resource)); + rv = GetResource("urn:mozilla:overlays", getter_AddRefs(resource)); if (!resource) return NS_OK; diff --git a/mozilla/rdf/chrome/src/nsChromeRegistry.h b/mozilla/rdf/chrome/src/nsChromeRegistry.h index e21b540e7dd..614d965321b 100644 --- a/mozilla/rdf/chrome/src/nsChromeRegistry.h +++ b/mozilla/rdf/chrome/src/nsChromeRegistry.h @@ -67,7 +67,7 @@ protected: void GetUserSheetURL(nsCString & aURL); private: - NS_IMETHOD ReallyUpdateOverlayFromDataSource(const PRUnichar *aDocURI, char *aOverlayURI, + NS_IMETHOD ReallyUpdateOverlayFromDataSource(char *aDocURI, const PRUnichar *aOverlayURI, PRBool aRemove); NS_IMETHOD LoadDataSource(const nsCAutoString &aFileName, nsIRDFDataSource **aResult, PRBool aUseProfileDirOnly = PR_FALSE);