Bug 224829 - docshell should not require non-gecko interface nsIBrowserHistory. This was fixed by introducing a new interface nsIGlobalHistory2 to replace the current nsIGlobalHistory. There are two-way adapters so that the frozen interface still works. r=biesi sr=bz a=mscott for toolkit/ changes.

This commit is contained in:
bsmedberg@covad.net
2004-02-11 02:10:04 +00:00
parent 4e3e4308cd
commit 9bace4bf49
43 changed files with 1120 additions and 658 deletions

View File

@@ -37,6 +37,10 @@
#include "nsSHistory.h"
#include "nsSHTransaction.h"
// global history
#include "nsGlobalHistoryAdapter.h"
#include "nsGlobalHistory2Adapter.h"
// docshell
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebShell)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDefaultURIFixup)
@@ -108,7 +112,15 @@ static const nsModuleComponentInfo gDocShellModuleInfo[] = {
{ "nsSHistory", NS_SHISTORY_CID,
NS_SHISTORY_CONTRACTID, nsSHistoryConstructor },
{ "nsSHistory", NS_SHISTORY_INTERNAL_CID,
NS_SHISTORY_INTERNAL_CONTRACTID, nsSHistoryConstructor }
NS_SHISTORY_INTERNAL_CONTRACTID, nsSHistoryConstructor },
// global history adapters
{ "nsGlobalHistoryAdapter", NS_GLOBALHISTORYADAPTER_CID,
nsnull, nsGlobalHistoryAdapter::Create,
nsGlobalHistoryAdapter::RegisterSelf },
{ "nsGlobalHistory2Adapter", NS_GLOBALHISTORY2ADAPTER_CID,
nsnull, nsGlobalHistory2Adapter::Create,
nsGlobalHistory2Adapter::RegisterSelf }
};
// "docshell provider" to illustrate that this thing really *should*