diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp
index 9514a4f7de2..727aff07ef1 100644
--- a/mozilla/content/html/document/src/nsHTMLDocument.cpp
+++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp
@@ -106,10 +106,8 @@
#include "nsIDocumentCharsetInfo.h"
#include "nsIDocumentEncoder.h" //for outputting selection
#include "nsIBookmarksService.h"
-#ifdef MOZ_OLD_CACHE
-#include "nsINetDataCacheManager.h"
-#include "nsICachedNetData.h"
-#endif
+#include "nsICachingChannel.h"
+#include "nsICacheEntryDescriptor.h"
#include "nsIXMLContent.h" //for createelementNS
#include "nsHTMLParts.h" //for createelementNS
#include "nsLayoutCID.h"
@@ -435,9 +433,7 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
}
}
-#ifdef MOZ_OLD_CACHE
- nsCOMPtr cachedData;
-#endif
+ nsCOMPtr cacheDescriptor;
nsresult rv = nsDocument::StartDocumentLoad(aCommand,
aChannel, aLoadGroup,
aContainer,
@@ -539,18 +535,12 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
}
}
- PRUint32 loadAttr = 0;
- rv = httpChannel->GetLoadFlags(&loadAttr);
- NS_ASSERTION(NS_SUCCEEDED(rv),"cannot get load attribute");
- if(NS_SUCCEEDED(rv)) {
-#ifdef MOZ_OLD_CACHE
- // copy from nsHTTPChannel.cpp
- if(loadAttr & nsIChannel::CACHE_AS_FILE)
- cacheFlags = nsINetDataCacheManager::CACHE_AS_FILE;
- else if(loadAttr & nsIRequest::INHIBIT_PERSISTENT_CACHING)
- cacheFlags = nsINetDataCacheManager::BYPASS_PERSISTENT_CACHE;
- bTryCache = PR_TRUE;
-#endif
+ nsCOMPtr cachingChan = do_QueryInterface(httpChannel);
+ if (cachingChan) {
+ nsCOMPtr cacheToken;
+ cachingChan->GetCacheToken(getter_AddRefs(cacheToken));
+ if (cacheToken)
+ cacheDescriptor = do_QueryInterface(cacheToken);
}
// Don't propogate the result code beyond here, since it
@@ -796,31 +786,20 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
}
}
- if(bTryCache && urlSpec)
+ if (cacheDescriptor && urlSpec)
{
-#ifdef MOZ_OLD_CACHE
- nsCOMPtr cacheMgr;
- cacheMgr = do_GetService(NS_NETWORK_CACHE_MANAGER_CONTRACTID, &rv);
- if(NS_SUCCEEDED(rv))
- {
- rv = cacheMgr->GetCachedNetData(urlSpec, nsnull, 0, cacheFlags, getter_AddRefs(cachedData));
- if(NS_SUCCEEDED(rv)) {
- if(kCharsetFromCache > charsetSource)
- {
- nsXPIDLCString cachedCharset;
- PRUint32 cachedCharsetLen = 0;
- rv = cachedData->GetAnnotation( "charset", &cachedCharsetLen,
- getter_Copies(cachedCharset));
- if(NS_SUCCEEDED(rv) && (cachedCharsetLen > 0))
- {
- charset.AssignWithConversion(cachedCharset);
- charsetSource = kCharsetFromCache;
- }
- }
- }
- }
- rv=NS_OK;
-#endif
+ if (kCharsetFromCache > charsetSource)
+ {
+ nsXPIDLCString cachedCharset;
+ rv = cacheDescriptor->GetMetaDataElement("charset",
+ getter_Copies(cachedCharset));
+ if (NS_SUCCEEDED(rv) && PL_strlen(cachedCharset) > 0)
+ {
+ charset.AssignWithConversion(cachedCharset);
+ charsetSource = kCharsetFromCache;
+ }
+ }
+ rv = NS_OK;
}
if (kCharsetFromParentFrame > charsetSource) {
@@ -885,13 +864,11 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
return rv;
}
-#ifdef MOZ_OLD_CACHE
- if(cachedData) {
- rv=cachedData->SetAnnotation("charset",charset.Length()+1,
+ if(cacheDescriptor) {
+ rv = cacheDescriptor->SetMetaDataElement("charset",
NS_ConvertUCS2toUTF8(charset).get());
- NS_ASSERTION(NS_SUCCEEDED(rv),"cannot SetAnnotation");
+ NS_ASSERTION(NS_SUCCEEDED(rv),"cannot SetMetaDataElement");
}
-#endif
// Set the parser as the stream listener for the document loader...
if (mParser) {