diff --git a/mozilla/docshell/base/nsDocShell.cpp b/mozilla/docshell/base/nsDocShell.cpp index 9aa3776deee..ba9069f71a6 100644 --- a/mozilla/docshell/base/nsDocShell.cpp +++ b/mozilla/docshell/base/nsDocShell.cpp @@ -21,7 +21,6 @@ * Pierre Phaneuf */ -#include "nsDocShell.h" #include "nsIComponentManager.h" #include "nsIContent.h" #include "nsIDocument.h" @@ -43,6 +42,10 @@ #include "nsGfxCIID.h" #include "nsIPrompt.h" // as long as ReportScriptError raises an alert box. +// Local Includes +#include "nsDocShell.h" +#include "nsDocShellLoadInfo.h" + // Interfaces Needed #include "nsIGlobalHistory.h" #include "nsIHTTPChannel.h" @@ -195,6 +198,17 @@ NS_IMETHODIMP nsDocShell::LoadURI(nsIURI* aURI, nsIURI* aReferrer) return NS_OK; } +NS_IMETHODIMP nsDocShell::CreateLoadInfo(nsIDocShellLoadInfo** aLoadInfo) +{ + nsDocShellLoadInfo* loadInfo = new nsDocShellLoadInfo(); + NS_ENSURE_TRUE(loadInfo, NS_ERROR_OUT_OF_MEMORY); + nsCOMPtr localRef(loadInfo); + + *aLoadInfo = localRef; + NS_ADDREF(*aLoadInfo); + return NS_OK; +} + NS_IMETHODIMP nsDocShell::StopLoad() { if(mLoadCookie) diff --git a/mozilla/docshell/base/nsDocShellLoadInfo.cpp b/mozilla/docshell/base/nsDocShellLoadInfo.cpp index c0a799e8269..24ec755bd8c 100644 --- a/mozilla/docshell/base/nsDocShellLoadInfo.cpp +++ b/mozilla/docshell/base/nsDocShellLoadInfo.cpp @@ -46,7 +46,7 @@ NS_IMPL_RELEASE(nsDocShellLoadInfo) NS_INTERFACE_MAP_BEGIN(nsDocShellLoadInfo) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDocShellLoadInfo) NS_INTERFACE_MAP_ENTRY(nsIDocShellLoadInfo) -NS_INTERFACE_MAP_END +NS_INTERFACE_MAP_END //***************************************************************************** // nsDocShellLoadInfo::nsIDocShellLoadInfo diff --git a/mozilla/docshell/base/nsDocShellLoadInfo.h b/mozilla/docshell/base/nsDocShellLoadInfo.h index f7737cd8187..607e6c4cb3b 100644 --- a/mozilla/docshell/base/nsDocShellLoadInfo.h +++ b/mozilla/docshell/base/nsDocShellLoadInfo.h @@ -35,12 +35,12 @@ class nsDocShellLoadInfo : public nsIDocShellLoadInfo { public: - NS_DECL_ISUPPORTS + nsDocShellLoadInfo(); + NS_DECL_ISUPPORTS NS_DECL_NSIDOCSHELLLOADINFO protected: - nsDocShellLoadInfo(); virtual ~nsDocShellLoadInfo(); protected: diff --git a/mozilla/docshell/base/nsIDocShell.idl b/mozilla/docshell/base/nsIDocShell.idl index 7437e4c9d28..f7e9867d810 100644 --- a/mozilla/docshell/base/nsIDocShell.idl +++ b/mozilla/docshell/base/nsIDocShell.idl @@ -42,6 +42,7 @@ interface nsIChromeEventHandler; interface nsIDocumentLoaderObserver; +interface nsIDocShellLoadInfo; [scriptable, uuid(69E5DE00-7B8B-11d3-AF61-00A024FFC08C)] interface nsIDocShell : nsISupports @@ -59,6 +60,12 @@ interface nsIDocShell : nsISupports */ [noscript]void loadURI(in nsIURI uri, in nsIURI referrer); + /* + Creates a DocShellLoadInfo object that you can manipulate and then pass to + loadURI. + */ + void createLoadInfo(out nsIDocShellLoadInfo loadInfo); + /* Stops a current load. This simply stops the network portion of the load. If you wish to do a complete stop, then you should us the