Bug 551225 - Make pushState use structured clone. r=zpao, sicking

This commit is contained in:
Justin Lebar
2011-04-24 22:30:54 -04:00
parent 353ff81bbc
commit e1f02bed7e
23 changed files with 513 additions and 157 deletions

View File

@@ -72,6 +72,8 @@
// download history
#include "nsDownloadHistory.h"
#include "nsStructuredCloneContainer.h"
static PRBool gInitialized = PR_FALSE;
// The one time initialization for this module
@@ -131,6 +133,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsSHistory)
// download history
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloadHistory)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsStructuredCloneContainer)
NS_DEFINE_NAMED_CID(NS_DOCSHELL_CID);
NS_DEFINE_NAMED_CID(NS_DEFAULTURIFIXUP_CID);
NS_DEFINE_NAMED_CID(NS_WEBNAVIGATION_INFO_CID);
@@ -158,6 +162,7 @@ NS_DEFINE_NAMED_CID(NS_SHTRANSACTION_CID);
NS_DEFINE_NAMED_CID(NS_SHISTORY_CID);
NS_DEFINE_NAMED_CID(NS_SHISTORY_INTERNAL_CID);
NS_DEFINE_NAMED_CID(NS_DOWNLOADHISTORY_CID);
NS_DEFINE_NAMED_CID(NS_STRUCTUREDCLONECONTAINER_CID);
const mozilla::Module::CIDEntry kDocShellCIDs[] = {
@@ -188,6 +193,7 @@ const mozilla::Module::CIDEntry kDocShellCIDs[] = {
{ &kNS_SHISTORY_CID, false, NULL, nsSHistoryConstructor },
{ &kNS_SHISTORY_INTERNAL_CID, false, NULL, nsSHistoryConstructor },
{ &kNS_DOWNLOADHISTORY_CID, false, NULL, nsDownloadHistoryConstructor },
{ &kNS_STRUCTUREDCLONECONTAINER_CID, false, NULL, nsStructuredCloneContainerConstructor },
{ NULL }
};
@@ -236,6 +242,7 @@ const mozilla::Module::ContractIDEntry kDocShellContracts[] = {
{ NS_SHISTORY_CONTRACTID, &kNS_SHISTORY_CID },
{ NS_SHISTORY_INTERNAL_CONTRACTID, &kNS_SHISTORY_INTERNAL_CID },
{ NS_DOWNLOADHISTORY_CONTRACTID, &kNS_DOWNLOADHISTORY_CID },
{ NS_STRUCTUREDCLONECONTAINER_CONTRACTID, &kNS_STRUCTUREDCLONECONTAINER_CID },
{ NULL }
};