charsetLiteral = do_QueryInterface(charsetNode);
if (charsetLiteral) {
- return charsetLiteral->GetValue(aLastCharset);
+ const PRUnichar* charset;
+ charsetLiteral->GetValueConst(&charset);
+ aResult = NS_LossyConvertUCS2toASCII(charset);
+ *aCharsetSource = kCharsetFromBookmarks;
+
+ return NS_OK;
}
}
}
}
- *aLastCharset = nsnull;
- return NS_RDF_NO_VALUE;
+ aResult.Truncate();
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsBookmarksService::NotifyResolvedCharset(const nsACString& aCharset,
+ nsISupports* aClosure)
+{
+ return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
@@ -5354,9 +5378,9 @@ nsBookmarksService::WriteBookmarks(nsIFile* aBookmarksFile,
static const char kBookmarkIntro[] = "\n";
static const char kIndent[] = " ";
static const char kContainerIntro[] = "
";
static const char kCloseH3[] = "
\n";
static const char kHROpen[] = "
HasAssertion(child, kNC_FolderType, kNC_NewBookmarkFolder,
PR_TRUE, &hasType)) && (hasType == PR_TRUE))
{
- rv = strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv = strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
rv |= strm->Write(kNewBookmarkFolderEquals, sizeof(kNewBookmarkFolderEquals)-1, &dummy);
rv |= strm->Write(kTrueEnd, sizeof(kTrueEnd)-1, &dummy);
if (NS_FAILED(rv)) break;
@@ -5466,7 +5490,7 @@ nsBookmarksService::WriteBookmarksContainer(nsIRDFDataSource *ds,
if (NS_SUCCEEDED(rv = mInner->HasAssertion(child, kNC_FolderType, kNC_NewSearchFolder,
PR_TRUE, &hasType)) && (hasType == PR_TRUE))
{
- rv = strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv = strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
rv |= strm->Write(kNewSearchFolderEquals, sizeof(kNewSearchFolderEquals)-1, &dummy);
rv |= strm->Write(kTrueEnd, sizeof(kTrueEnd)-1, &dummy);
if (NS_FAILED(rv)) break;
@@ -5474,7 +5498,7 @@ nsBookmarksService::WriteBookmarksContainer(nsIRDFDataSource *ds,
if (NS_SUCCEEDED(rv = mInner->HasAssertion(child, kNC_FolderType, kNC_PersonalToolbarFolder,
PR_TRUE, &hasType)) && (hasType == PR_TRUE))
{
- rv = strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv = strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
rv |= strm->Write(kPersonalToolbarFolderEquals, sizeof(kPersonalToolbarFolderEquals)-1, &dummy);
rv |= strm->Write(kTrueEnd, sizeof(kTrueEnd)-1, &dummy);
if (NS_FAILED(rv)) break;
@@ -5483,7 +5507,7 @@ nsBookmarksService::WriteBookmarksContainer(nsIRDFDataSource *ds,
if (NS_SUCCEEDED(rv = mInner->HasArcOut(child, kNC_FolderGroup, &hasType)) &&
(hasType == PR_TRUE))
{
- rv = strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv = strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
rv |= strm->Write(kFolderGroupEquals, sizeof(kFolderGroupEquals)-1, &dummy);
rv |= strm->Write(kTrueEnd, sizeof(kTrueEnd)-1, &dummy);
if (NS_FAILED(rv)) break;
@@ -5494,10 +5518,10 @@ nsBookmarksService::WriteBookmarksContainer(nsIRDFDataSource *ds,
rv = child->GetValueConst(&id);
if (NS_SUCCEEDED(rv) && (id))
{
- rv = strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv = strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
rv |= strm->Write(kIDEquals, sizeof(kIDEquals)-1, &dummy);
rv |= strm->Write(id, strlen(id), &dummy);
- rv |= strm->Write(kQuote, sizeof(kQuote)-1, &dummy);
+ rv |= strm->Write(kQuoteStr, sizeof(kQuoteStr)-1, &dummy);
if (NS_FAILED(rv)) break;
}
@@ -5591,10 +5615,10 @@ nsBookmarksService::WriteBookmarksContainer(nsIRDFDataSource *ds,
rv = child->GetValueConst(&id);
if (NS_SUCCEEDED(rv) && (id))
{
- rv = strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv = strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
rv |= strm->Write(kIDEquals, sizeof(kIDEquals)-1, &dummy);
rv |= strm->Write(id, strlen(id), &dummy);
- rv |= strm->Write(kQuote, sizeof(kQuote)-1, &dummy);
+ rv |= strm->Write(kQuoteStr, sizeof(kQuoteStr)-1, &dummy);
if (NS_FAILED(rv)) break;
}
@@ -5776,7 +5800,7 @@ nsBookmarksService::WriteBookmarkProperties(nsIRDFDataSource *ds,
{
if (isFirst == PR_FALSE)
{
- rv |= strm->Write(kSpace, sizeof(kSpace)-1, &dummy);
+ rv |= strm->Write(kSpaceStr, sizeof(kSpaceStr)-1, &dummy);
}
if (property == kNC_Description)
@@ -5799,7 +5823,7 @@ nsBookmarksService::WriteBookmarkProperties(nsIRDFDataSource *ds,
{
rv |= strm->Write(htmlAttrib, strlen(htmlAttrib), &dummy);
rv |= strm->Write(attribute, strlen(attribute), &dummy);
- rv |= strm->Write(kQuote, sizeof(kQuote)-1, &dummy);
+ rv |= strm->Write(kQuoteStr, sizeof(kQuoteStr)-1, &dummy);
}
nsCRT::free(attribute);
attribute = nsnull;
diff --git a/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.h b/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.h
index e5d9750544e..e32fc3d7f97 100644
--- a/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.h
+++ b/mozilla/xpfe/components/bookmarks/src/nsBookmarksService.h
@@ -58,6 +58,7 @@
#include "nsICacheService.h"
#include "nsICacheSession.h"
#include "nsITransactionManager.h"
+#include "nsICharsetResolver.h"
class nsIOutputStream;
@@ -72,6 +73,7 @@ class nsBookmarksService : public nsIBookmarksService,
public nsIRDFRemoteDataSource,
public nsIRDFPropagatableDataSource,
public nsIStreamListener,
+ public nsICharsetResolver,
public nsIRDFObserver,
public nsIObserver,
public nsSupportsWeakReference
@@ -195,6 +197,8 @@ protected:
// nsIStreamListener methods:
NS_DECL_NSISTREAMLISTENER
+ NS_DECL_NSICHARSETRESOLVER
+
// nsIObserver methods:
NS_DECL_NSIOBSERVER
diff --git a/mozilla/xpfe/components/build/Makefile.in b/mozilla/xpfe/components/build/Makefile.in
index 07d8743a7e2..e5f230f7fab 100644
--- a/mozilla/xpfe/components/build/Makefile.in
+++ b/mozilla/xpfe/components/build/Makefile.in
@@ -56,6 +56,7 @@ REQUIRES = xpcom \
appshell \
browser \
txmgr \
+ chardet \
$(NULL)
ifndef MOZ_PHOENIX