diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index fea2ae70be7..596726ffde0 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -56,7 +56,6 @@ #include "prlog.h" #include "nsCOMPtr.h" #include "nsIPresShell.h" -#include "nsIStreamObserver.h" #include "nsIWebShellServices.h" #include "nsIGlobalHistory.h" #include "prmem.h" @@ -75,9 +74,6 @@ static NS_DEFINE_CID(kLocaleServiceCID, NS_LOCALESERVICE_CID); #include #endif -//XXX used for nsIStreamObserver implementation. This sould be replaced by DocLoader -// notifications... -#include "nsIURL.h" #include "nsIIOService.h" #include "nsIURL.h" @@ -156,7 +152,6 @@ class nsWebShell : public nsIWebShell, public nsIDocumentLoaderObserver, public nsIPrompt, public nsIRefreshURI, -// public nsIStreamObserver, public nsIClipboardCommands { public: @@ -194,8 +189,6 @@ public: NS_IMETHOD SetContentViewer(nsIContentViewer* aViewer); NS_IMETHOD SetContainer(nsIWebShellContainer* aContainer); NS_IMETHOD GetContainer(nsIWebShellContainer*& aResult); - NS_IMETHOD SetObserver(nsIStreamObserver* anObserver); - NS_IMETHOD GetObserver(nsIStreamObserver*& aResult); NS_IMETHOD SetDocLoaderObserver(nsIDocumentLoaderObserver* anObserver); NS_IMETHOD GetDocLoaderObserver(nsIDocumentLoaderObserver*& aResult); NS_IMETHOD SetPrefs(nsIPref* aPrefs); @@ -420,7 +413,6 @@ protected: nsIScriptGlobalObject *mScriptGlobal; nsIScriptContext* mScriptContext; - nsIStreamObserver * mObserver; nsIWebShellContainer* mContainer; nsIContentViewer* mContentViewer; nsIDeviceContext* mDeviceContext; @@ -537,7 +529,6 @@ static NS_DEFINE_IID(kIDeviceContextIID, NS_IDEVICE_CONTEXT_IID); static NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID); static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); static NS_DEFINE_IID(kIScriptContextOwnerIID, NS_ISCRIPTCONTEXTOWNER_IID); -static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kRefreshURIIID, NS_IREFRESHURI_IID); @@ -681,7 +672,6 @@ nsWebShell::~nsWebShell() NS_IF_RELEASE(mDeviceContext); NS_IF_RELEASE(mPrefs); NS_IF_RELEASE(mContainer); - NS_IF_RELEASE(mObserver); if (nsnull != mScriptGlobal) { mScriptGlobal->SetWebShell(nsnull); @@ -1156,7 +1146,6 @@ nsWebShell::Destroy() mDocLoader->Destroy(); SetContainer(nsnull); - SetObserver(nsnull); SetDocLoaderObserver(nsnull); SetUrlDispatcher(nsnull); @@ -1447,28 +1436,6 @@ nsWebShell::HandleEvent(nsGUIEvent *aEvent) return nsEventStatus_eIgnore; } -NS_IMETHODIMP -nsWebShell::SetObserver(nsIStreamObserver* anObserver) -{ - NS_IF_RELEASE(mObserver); - - mObserver = anObserver; - if (nsnull != mObserver) { - NS_ADDREF(mObserver); - } - return NS_OK; -} - - -NS_IMETHODIMP -nsWebShell::GetObserver(nsIStreamObserver*& aResult) -{ - aResult = mObserver; - NS_IF_ADDREF(mObserver); - return NS_OK; -} - - NS_IMETHODIMP nsWebShell::SetDocLoaderObserver(nsIDocumentLoaderObserver* anObserver) @@ -2130,7 +2097,6 @@ nsWebShell::DoLoadURL(nsIURI * aUri, this, // Container aPostDataStream, // Post Data nsnull, // Extra Info... - mObserver, // Observer aType, // reload type aLocalIP, // load attributes. aReferrer); // referrer @@ -3799,74 +3765,6 @@ nsresult nsWebShell::CheckForTrailingSlash(nsIURI* aURL) return NS_OK; } -#if 0 -NS_IMETHODIMP -nsWebShell::OnStartRequest(nsIURI* aURL, const char *aContentType) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnStartRequest(aURL, aContentType); - } - return rv; -} - - -NS_IMETHODIMP -nsWebShell::OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnProgress(aURL, aProgress, aProgressMax); - } - - // Pass status messages out to the nsIBrowserWindow... - nsIBrowserWindow *browserWindow; - - browserWindow = GetBrowserWindow(); - if (nsnull != browserWindow) { - browserWindow->SetProgress(aProgress, aProgressMax); - NS_RELEASE(browserWindow); - } - - return rv; -} - - -NS_IMETHODIMP -nsWebShell::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnStatus(aURL, aMsg); - } - - // Pass status messages out to the nsIBrowserWindow... - nsIBrowserWindow *browserWindow; - - browserWindow = GetBrowserWindow(); - if (nsnull != browserWindow) { - browserWindow->SetStatus(aMsg); - NS_RELEASE(browserWindow); - } - - return rv; -} - - -NS_IMETHODIMP -nsWebShell::OnStopRequest(nsIURI* aURL, nsresult aStatus, const PRUnichar* aMsg) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnStopRequest(aURL, aStatus, aMsg); - } - return rv; -} -#endif /* 0 */ //---------------------------------------------------------------------- diff --git a/mozilla/htmlparser/robot/nsDebugRobot.cpp b/mozilla/htmlparser/robot/nsDebugRobot.cpp index a930f147b9c..510ba221075 100644 --- a/mozilla/htmlparser/robot/nsDebugRobot.cpp +++ b/mozilla/htmlparser/robot/nsDebugRobot.cpp @@ -19,6 +19,8 @@ #include "nsIRobotSinkObserver.h" #include "nsIParser.h" #include "nsIWebShell.h" +#include "nsIDocumentLoader.h" +#include "nsIDocumentLoaderObserver.h" #include "nsVoidArray.h" #include "nsString.h" #include "nsIURL.h" @@ -28,7 +30,6 @@ #include "nsIIOService.h" static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); #endif // NECKO -#include "nsIStreamListener.h" #include "nsIDTDDebug.h" #include "nsIComponentManager.h" #include "nsParserCIID.h" @@ -119,7 +120,7 @@ NS_IMETHODIMP RobotSinkObserver::ProcessLink(const nsString& aURLSpec) extern "C" NS_EXPORT void SetVerificationDirectory(char * verify_dir); -class CStreamListener: public nsIStreamObserver +class CStreamListener: public nsIDocumentLoaderObserver { public: CStreamListener() { @@ -132,35 +133,97 @@ public: NS_DECL_ISUPPORTS -#ifdef NECKO - NS_DECL_NSISTREAMOBSERVER -#else - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 Progress, PRUint32 ProgressMax) { return NS_OK; } - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg) { return NS_OK; } - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType) { return NS_OK; } - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif + // nsIDocumentLoaderObserver + NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand); + NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver); + NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer); + NS_IMETHOD OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax); + NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg); + NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus); + NS_IMETHOD HandleUnknownContentType( nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand ); + }; -#ifdef NECKO -NS_IMETHODIMP CStreamListener::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) +// document loader observer implementation +NS_IMETHODIMP +CStreamListener::OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand) { return NS_OK; } -#endif -#ifdef NECKO -NS_IMETHODIMP CStreamListener::OnStopRequest(nsIChannel* channel, nsISupports* aContext, - nsresult status, const PRUnichar* aMsg) -#else -NS_IMETHODIMP CStreamListener::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg) -#endif +NS_IMETHODIMP +CStreamListener::OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver) { - fputs("done.\n",stdout); - g_bReadyForNextUrl = PR_TRUE; - return NS_OK; + fputs("done.\n",stdout); + g_bReadyForNextUrl = PR_TRUE; + return NS_OK; } +NS_IMETHODIMP +CStreamListener::OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::HandleUnknownContentType(nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand) +{ + return NS_OK; +} + + nsresult CStreamListener::QueryInterface(const nsIID& aIID, void** aInstancePtr) { return NS_ERROR_NOT_IMPLEMENTED; // never called @@ -278,7 +341,7 @@ extern "C" NS_EXPORT int DebugRobot( parser->SetContentSink(sink); g_bReadyForNextUrl = PR_FALSE; - parser->Parse(url, pl,PR_TRUE);/* XXX hook up stream listener here! */ + parser->Parse(url, nsnull,PR_TRUE);/* XXX hook up stream listener here! */ while (!g_bReadyForNextUrl) { if (yieldProc != NULL) { #ifdef NECKO @@ -295,7 +358,13 @@ extern "C" NS_EXPORT int DebugRobot( } g_bReadyForNextUrl = PR_FALSE; if (ww) { - ww->SetObserver(pl); + nsIDocumentLoader *docLoader; + + ww->GetDocumentLoader(docLoader); + if (docLoader) { + docLoader->AddObserver(pl); + NS_RELEASE(docLoader); + } #ifdef NECKO char* spec; (void)url->GetSpec(&spec); diff --git a/mozilla/layout/generic/nsFrameFrame.cpp b/mozilla/layout/generic/nsFrameFrame.cpp index 1b892ece417..5e863a9ba16 100644 --- a/mozilla/layout/generic/nsFrameFrame.cpp +++ b/mozilla/layout/generic/nsFrameFrame.cpp @@ -59,36 +59,6 @@ static NS_DEFINE_IID(kCChildCID, NS_CHILD_CID); static NS_DEFINE_IID(kIDOMHTMLFrameElementIID, NS_IDOMHTMLFRAMEELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLIFrameElementIID, NS_IDOMHTMLIFRAMEELEMENT_IID); -/******************************************************************************* - * TempObserver XXX temporary until doc manager/loader is in place - ******************************************************************************/ -class TempObserver : public nsIStreamObserver -{ -public: - TempObserver() { NS_INIT_REFCNT(); } - - virtual ~TempObserver() {} - - // nsISupports - NS_DECL_ISUPPORTS - -#ifdef NECKO - NS_DECL_NSISTREAMOBSERVER -#else - // nsIStreamObserver - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType); - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax); - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg); - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif - -protected: - - nsString mURL; - nsString mOverURL; - nsString mOverTarget; -}; - /******************************************************************************* * FrameLoadingInfo ******************************************************************************/ @@ -211,9 +181,6 @@ protected: nsIWebShell* mWebShell; PRBool mCreatingViewer; - - // XXX fix these - TempObserver* mTempObserver; }; @@ -460,8 +427,6 @@ nsHTMLFrameInnerFrame::nsHTMLFrameInnerFrame() { mWebShell = nsnull; mCreatingViewer = PR_FALSE; - mTempObserver = new TempObserver(); - NS_ADDREF(mTempObserver); } nsHTMLFrameInnerFrame::~nsHTMLFrameInnerFrame() @@ -471,7 +436,6 @@ nsHTMLFrameInnerFrame::~nsHTMLFrameInnerFrame() mWebShell->Destroy(); NS_RELEASE(mWebShell); } - NS_RELEASE(mTempObserver); } PRBool nsHTMLFrameInnerFrame::GetURL(nsIContent* aContent, nsString& aResult) @@ -894,7 +858,6 @@ nsHTMLFrameInnerFrame::CreateWebShell(nsIPresContext& aPresContext, NS_RELEASE(content); NS_RELEASE(widget); - mWebShell->SetObserver(mTempObserver); mWebShell->Show(); return NS_OK; @@ -1041,90 +1004,3 @@ FrameLoadingInfo::FrameLoadingInfo(const nsSize& aSize) */ NS_IMPL_ISUPPORTS(FrameLoadingInfo,kISupportsIID); -// XXX temp implementation - -NS_IMPL_ADDREF(TempObserver); -NS_IMPL_RELEASE(TempObserver); - -/******************************************************************************* - * TempObserver - ******************************************************************************/ -nsresult -TempObserver::QueryInterface(const nsIID& aIID, - void** aInstancePtrResult) -{ - NS_PRECONDITION(nsnull != aInstancePtrResult, "null pointer"); - if (nsnull == aInstancePtrResult) { - return NS_ERROR_NULL_POINTER; - } - if (aIID.Equals(kIStreamObserverIID)) { - *aInstancePtrResult = (void*) ((nsIStreamObserver*)this); - AddRef(); - return NS_OK; - } - if (aIID.Equals(kISupportsIID)) { - *aInstancePtrResult = (void*) ((nsISupports*)((nsIDocumentObserver*)this)); - AddRef(); - return NS_OK; - } - return NS_NOINTERFACE; -} - -#ifndef NECKO -NS_IMETHODIMP -TempObserver::OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax) -{ -#if 0 - fputs("[progress ", stdout); - fputs(mURL, stdout); - printf(" %d %d ", aProgress, aProgressMax); - fputs("]\n", stdout); -#endif - return NS_OK; -} - -NS_IMETHODIMP -TempObserver::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) -{ -#if 0 - fputs("[status ", stdout); - fputs(mURL, stdout); - fputs(aMsg, stdout); - fputs("]\n", stdout); -#endif - return NS_OK; -} -#endif - -NS_IMETHODIMP -#ifdef NECKO -TempObserver::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) -#else -TempObserver::OnStartRequest(nsIURI* aURL, const char *aContentType) -#endif -{ -#if 0 - fputs("Loading ", stdout); - fputs(mURL, stdout); - fputs("\n", stdout); -#endif - return NS_OK; -} - -NS_IMETHODIMP -#ifdef NECKO -TempObserver::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, - nsresult status, const PRUnichar *errorMsg) -#else -TempObserver::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg) -#endif -{ -#if 0 - fputs("Done loading ", stdout); - fputs(mURL, stdout); - fputs("\n", stdout); -#endif - return NS_OK; -} - - diff --git a/mozilla/layout/html/document/src/nsFrameFrame.cpp b/mozilla/layout/html/document/src/nsFrameFrame.cpp index 1b892ece417..5e863a9ba16 100644 --- a/mozilla/layout/html/document/src/nsFrameFrame.cpp +++ b/mozilla/layout/html/document/src/nsFrameFrame.cpp @@ -59,36 +59,6 @@ static NS_DEFINE_IID(kCChildCID, NS_CHILD_CID); static NS_DEFINE_IID(kIDOMHTMLFrameElementIID, NS_IDOMHTMLFRAMEELEMENT_IID); static NS_DEFINE_IID(kIDOMHTMLIFrameElementIID, NS_IDOMHTMLIFRAMEELEMENT_IID); -/******************************************************************************* - * TempObserver XXX temporary until doc manager/loader is in place - ******************************************************************************/ -class TempObserver : public nsIStreamObserver -{ -public: - TempObserver() { NS_INIT_REFCNT(); } - - virtual ~TempObserver() {} - - // nsISupports - NS_DECL_ISUPPORTS - -#ifdef NECKO - NS_DECL_NSISTREAMOBSERVER -#else - // nsIStreamObserver - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType); - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax); - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg); - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif - -protected: - - nsString mURL; - nsString mOverURL; - nsString mOverTarget; -}; - /******************************************************************************* * FrameLoadingInfo ******************************************************************************/ @@ -211,9 +181,6 @@ protected: nsIWebShell* mWebShell; PRBool mCreatingViewer; - - // XXX fix these - TempObserver* mTempObserver; }; @@ -460,8 +427,6 @@ nsHTMLFrameInnerFrame::nsHTMLFrameInnerFrame() { mWebShell = nsnull; mCreatingViewer = PR_FALSE; - mTempObserver = new TempObserver(); - NS_ADDREF(mTempObserver); } nsHTMLFrameInnerFrame::~nsHTMLFrameInnerFrame() @@ -471,7 +436,6 @@ nsHTMLFrameInnerFrame::~nsHTMLFrameInnerFrame() mWebShell->Destroy(); NS_RELEASE(mWebShell); } - NS_RELEASE(mTempObserver); } PRBool nsHTMLFrameInnerFrame::GetURL(nsIContent* aContent, nsString& aResult) @@ -894,7 +858,6 @@ nsHTMLFrameInnerFrame::CreateWebShell(nsIPresContext& aPresContext, NS_RELEASE(content); NS_RELEASE(widget); - mWebShell->SetObserver(mTempObserver); mWebShell->Show(); return NS_OK; @@ -1041,90 +1004,3 @@ FrameLoadingInfo::FrameLoadingInfo(const nsSize& aSize) */ NS_IMPL_ISUPPORTS(FrameLoadingInfo,kISupportsIID); -// XXX temp implementation - -NS_IMPL_ADDREF(TempObserver); -NS_IMPL_RELEASE(TempObserver); - -/******************************************************************************* - * TempObserver - ******************************************************************************/ -nsresult -TempObserver::QueryInterface(const nsIID& aIID, - void** aInstancePtrResult) -{ - NS_PRECONDITION(nsnull != aInstancePtrResult, "null pointer"); - if (nsnull == aInstancePtrResult) { - return NS_ERROR_NULL_POINTER; - } - if (aIID.Equals(kIStreamObserverIID)) { - *aInstancePtrResult = (void*) ((nsIStreamObserver*)this); - AddRef(); - return NS_OK; - } - if (aIID.Equals(kISupportsIID)) { - *aInstancePtrResult = (void*) ((nsISupports*)((nsIDocumentObserver*)this)); - AddRef(); - return NS_OK; - } - return NS_NOINTERFACE; -} - -#ifndef NECKO -NS_IMETHODIMP -TempObserver::OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax) -{ -#if 0 - fputs("[progress ", stdout); - fputs(mURL, stdout); - printf(" %d %d ", aProgress, aProgressMax); - fputs("]\n", stdout); -#endif - return NS_OK; -} - -NS_IMETHODIMP -TempObserver::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) -{ -#if 0 - fputs("[status ", stdout); - fputs(mURL, stdout); - fputs(aMsg, stdout); - fputs("]\n", stdout); -#endif - return NS_OK; -} -#endif - -NS_IMETHODIMP -#ifdef NECKO -TempObserver::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) -#else -TempObserver::OnStartRequest(nsIURI* aURL, const char *aContentType) -#endif -{ -#if 0 - fputs("Loading ", stdout); - fputs(mURL, stdout); - fputs("\n", stdout); -#endif - return NS_OK; -} - -NS_IMETHODIMP -#ifdef NECKO -TempObserver::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, - nsresult status, const PRUnichar *errorMsg) -#else -TempObserver::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg) -#endif -{ -#if 0 - fputs("Done loading ", stdout); - fputs(mURL, stdout); - fputs("\n", stdout); -#endif - return NS_OK; -} - - diff --git a/mozilla/layout/html/forms/src/nsGfxTextControlFrame.cpp b/mozilla/layout/html/forms/src/nsGfxTextControlFrame.cpp index 127b8136620..33f7452a315 100644 --- a/mozilla/layout/html/forms/src/nsGfxTextControlFrame.cpp +++ b/mozilla/layout/html/forms/src/nsGfxTextControlFrame.cpp @@ -47,6 +47,7 @@ #include "nsIComponentManager.h" #include "nsIWebShell.h" +#include "nsIDocumentLoader.h" #include "nsINameSpaceManager.h" #include "nsIPref.h" #include "nsIView.h" @@ -86,7 +87,7 @@ static NS_DEFINE_IID(kWebShellCID, NS_WEB_SHELL_CID); static NS_DEFINE_IID(kIViewIID, NS_IVIEW_IID); static NS_DEFINE_IID(kCViewCID, NS_VIEW_CID); static NS_DEFINE_IID(kCChildCID, NS_CHILD_CID); -static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); +static NS_DEFINE_IID(kIDocumentLoaderObserverIID, NS_IDOCUMENT_LOADER_OBSERVER_IID); static NS_DEFINE_IID(kIDocumentObserverIID, NS_IDOCUMENT_OBSERVER_IID); static NS_DEFINE_CID(kHTMLEditorCID, NS_HTMLEDITOR_CID); @@ -874,7 +875,11 @@ nsGfxTextControlFrame::CreateWebShell(nsIPresContext& aPresContext, webBounds.width, webBounds.height); NS_RELEASE(widget); - mWebShell->SetObserver(mTempObserver); + nsCOMPtr docLoader; + mWebShell->GetDocumentLoader(*getter_AddRefs(docLoader)); + if (docLoader) { + docLoader->AddObserver(mTempObserver); + } mWebShell->Show(); return NS_OK; } @@ -2582,13 +2587,13 @@ EnderTempObserver::QueryInterface(const nsIID& aIID, if (nsnull == aInstancePtr) { return NS_ERROR_NULL_POINTER; } - if (aIID.Equals(kIStreamObserverIID)) { - *aInstancePtr = (void*) ((nsIStreamObserver*)this); + if (aIID.Equals(kIDocumentLoaderObserverIID)) { + *aInstancePtr = (void*) ((nsIDocumentLoaderObserver*)this); AddRef(); return NS_OK; } if (aIID.Equals(kISupportsIID)) { - *aInstancePtr = (void*) ((nsISupports*)((nsIDocumentObserver*)this)); + *aInstancePtr = (void*) ((nsISupports*)((nsIDocumentLoaderObserver*)this)); AddRef(); return NS_OK; } @@ -2596,37 +2601,20 @@ EnderTempObserver::QueryInterface(const nsIID& aIID, } -#ifndef NECKO +// document loader observer implementation NS_IMETHODIMP -EnderTempObserver::OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax) +EnderTempObserver::OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand) { return NS_OK; } NS_IMETHODIMP -EnderTempObserver::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) -{ - return NS_OK; -} -#endif - -NS_IMETHODIMP -#ifdef NECKO -EnderTempObserver::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) -#else -EnderTempObserver::OnStartRequest(nsIURI* aURL, const char *aContentType) -#endif -{ - return NS_OK; -} - -NS_IMETHODIMP -#ifdef NECKO -EnderTempObserver::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, nsresult status, - const PRUnichar *errorMsg) -#else -EnderTempObserver::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg) -#endif +EnderTempObserver::OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver) { if (PR_TRUE==mFirstCall) { @@ -2638,6 +2626,49 @@ EnderTempObserver::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* return NS_OK; } +NS_IMETHODIMP +EnderTempObserver::OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer) +{ + return NS_OK; +} + +NS_IMETHODIMP +EnderTempObserver::OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax) +{ + return NS_OK; +} + +NS_IMETHODIMP +EnderTempObserver::OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg) +{ + return NS_OK; +} + +NS_IMETHODIMP +EnderTempObserver::OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus) +{ + return NS_OK; +} + +NS_IMETHODIMP +EnderTempObserver::HandleUnknownContentType(nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand) +{ + return NS_OK; +} + + NS_IMETHODIMP EnderTempObserver::SetFrame(nsGfxTextControlFrame *aFrame) { diff --git a/mozilla/layout/html/forms/src/nsGfxTextControlFrame.h b/mozilla/layout/html/forms/src/nsGfxTextControlFrame.h index c2b05319128..36c8c8c2856 100644 --- a/mozilla/layout/html/forms/src/nsGfxTextControlFrame.h +++ b/mozilla/layout/html/forms/src/nsGfxTextControlFrame.h @@ -23,7 +23,7 @@ #include "nsCWeakReference.h" #include "nsFormControlFrame.h" #include "nsTextControlFrame.h" -#include "nsIStreamObserver.h" +#include "nsIDocumentLoaderObserver.h" #include "nsIEditor.h" #include "nsIDocumentObserver.h" #include "nsIDOMKeyListener.h" @@ -50,7 +50,7 @@ class nsGfxTextControlFrame; /******************************************************************************* * EnderTempObserver XXX temporary until doc manager/loader is in place ******************************************************************************/ -class EnderTempObserver : public nsIStreamObserver +class EnderTempObserver : public nsIDocumentLoaderObserver { public: EnderTempObserver() @@ -66,21 +66,33 @@ public: // nsISupports NS_DECL_ISUPPORTS -#ifdef NECKO - NS_DECL_NSISTREAMOBSERVER -#else - // nsIStreamObserver - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType); - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax); - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg); - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif + // nsIDocumentLoaderObserver + NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand); + NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver); + NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer); + NS_IMETHOD OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax); + NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg); + NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus); + NS_IMETHOD HandleUnknownContentType( nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand ); protected: - - nsString mURL; - nsString mOverURL; - nsString mOverTarget; nsGfxTextControlFrame *mFrame; // not ref counted PRBool mFirstCall; }; diff --git a/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp b/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp index a930f147b9c..510ba221075 100644 --- a/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp +++ b/mozilla/parser/htmlparser/robot/nsDebugRobot.cpp @@ -19,6 +19,8 @@ #include "nsIRobotSinkObserver.h" #include "nsIParser.h" #include "nsIWebShell.h" +#include "nsIDocumentLoader.h" +#include "nsIDocumentLoaderObserver.h" #include "nsVoidArray.h" #include "nsString.h" #include "nsIURL.h" @@ -28,7 +30,6 @@ #include "nsIIOService.h" static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); #endif // NECKO -#include "nsIStreamListener.h" #include "nsIDTDDebug.h" #include "nsIComponentManager.h" #include "nsParserCIID.h" @@ -119,7 +120,7 @@ NS_IMETHODIMP RobotSinkObserver::ProcessLink(const nsString& aURLSpec) extern "C" NS_EXPORT void SetVerificationDirectory(char * verify_dir); -class CStreamListener: public nsIStreamObserver +class CStreamListener: public nsIDocumentLoaderObserver { public: CStreamListener() { @@ -132,35 +133,97 @@ public: NS_DECL_ISUPPORTS -#ifdef NECKO - NS_DECL_NSISTREAMOBSERVER -#else - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 Progress, PRUint32 ProgressMax) { return NS_OK; } - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg) { return NS_OK; } - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType) { return NS_OK; } - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif + // nsIDocumentLoaderObserver + NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand); + NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver); + NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer); + NS_IMETHOD OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax); + NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg); + NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus); + NS_IMETHOD HandleUnknownContentType( nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand ); + }; -#ifdef NECKO -NS_IMETHODIMP CStreamListener::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) +// document loader observer implementation +NS_IMETHODIMP +CStreamListener::OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand) { return NS_OK; } -#endif -#ifdef NECKO -NS_IMETHODIMP CStreamListener::OnStopRequest(nsIChannel* channel, nsISupports* aContext, - nsresult status, const PRUnichar* aMsg) -#else -NS_IMETHODIMP CStreamListener::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg) -#endif +NS_IMETHODIMP +CStreamListener::OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver) { - fputs("done.\n",stdout); - g_bReadyForNextUrl = PR_TRUE; - return NS_OK; + fputs("done.\n",stdout); + g_bReadyForNextUrl = PR_TRUE; + return NS_OK; } +NS_IMETHODIMP +CStreamListener::OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus) +{ + return NS_OK; +} + +NS_IMETHODIMP +CStreamListener::HandleUnknownContentType(nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand) +{ + return NS_OK; +} + + nsresult CStreamListener::QueryInterface(const nsIID& aIID, void** aInstancePtr) { return NS_ERROR_NOT_IMPLEMENTED; // never called @@ -278,7 +341,7 @@ extern "C" NS_EXPORT int DebugRobot( parser->SetContentSink(sink); g_bReadyForNextUrl = PR_FALSE; - parser->Parse(url, pl,PR_TRUE);/* XXX hook up stream listener here! */ + parser->Parse(url, nsnull,PR_TRUE);/* XXX hook up stream listener here! */ while (!g_bReadyForNextUrl) { if (yieldProc != NULL) { #ifdef NECKO @@ -295,7 +358,13 @@ extern "C" NS_EXPORT int DebugRobot( } g_bReadyForNextUrl = PR_FALSE; if (ww) { - ww->SetObserver(pl); + nsIDocumentLoader *docLoader; + + ww->GetDocumentLoader(docLoader); + if (docLoader) { + docLoader->AddObserver(pl); + NS_RELEASE(docLoader); + } #ifdef NECKO char* spec; (void)url->GetSpec(&spec); diff --git a/mozilla/uriloader/base/nsDocLoader.cpp b/mozilla/uriloader/base/nsDocLoader.cpp index 857e52c0f9c..91dc986b65b 100644 --- a/mozilla/uriloader/base/nsDocLoader.cpp +++ b/mozilla/uriloader/base/nsDocLoader.cpp @@ -141,8 +141,7 @@ public: nsresult Init(nsDocLoaderImpl* aDocLoader, const char *aCommand, nsIContentViewerContainer* aContainer, - nsISupports* aExtraInfo, - nsIStreamObserver* anObserver); + nsISupports* aExtraInfo); NS_DECL_ISUPPORTS @@ -173,7 +172,6 @@ protected: char* m_Command; nsIContentViewerContainer* m_Container; nsISupports* m_ExtraInfo; - nsIStreamObserver* m_Observer; nsIStreamListener* m_NextStream; nsDocLoaderImpl* m_DocLoader; }; @@ -207,7 +205,6 @@ public: nsIContentViewerContainer* aContainer, nsIInputStream* aPostDataStream = nsnull, nsISupports* aExtraInfo = nsnull, - nsIStreamObserver* anObserver = nsnull, nsLoadFlags aType = nsIChannel::LOAD_NORMAL, const PRUint32 aLocalIP = 0, const PRUnichar* aReferrer = nsnull); @@ -297,7 +294,6 @@ protected: nsCOMPtr mDocumentChannel; // [OWNER] ???compare with document nsVoidArray mDocObservers; - nsCOMPtr mStreamObserver; // ??? unclear what to do here nsIContentViewerContainer* mContainer; // [WEAK] it owns me! nsDocLoaderImpl* mParent; // [OWNER] but upside down ownership model @@ -493,7 +489,6 @@ nsDocLoaderImpl::LoadDocument(nsIURI * aUri, nsIContentViewerContainer* aContainer, nsIInputStream* aPostDataStream, nsISupports* aExtraInfo, - nsIStreamObserver* anObserver, nsLoadFlags aType, const PRUint32 aLocalIP, const PRUnichar* aReferrer) @@ -526,8 +521,7 @@ nsDocLoaderImpl::LoadDocument(nsIURI * aUri, loader->Init(this, // DocLoader aCommand, // Command aContainer, // Viewer Container - aExtraInfo, // Extra Info - anObserver); // Observer + aExtraInfo); // Extra Info /* * Set the flag indicating that the document loader is in the process of @@ -536,8 +530,6 @@ nsDocLoaderImpl::LoadDocument(nsIURI * aUri, */ mIsLoadingDocument = PR_TRUE; - mStreamObserver = dont_QueryInterface(anObserver); - rv = loader->Bind(aUri, mLoadGroup, aPostDataStream, aReferrer); done: @@ -574,9 +566,8 @@ nsDocLoaderImpl::LoadSubDocument(nsIURI *aUri, NS_ADDREF(loader); loader->Init(this, // DocLoader nsnull, // Command - nsnull, // Viewer Container - aExtraInfo, // Extra Info - mStreamObserver); // Observer + nsnull, // Viewer Container + aExtraInfo); // Extra Info rv = loader->Bind(aUri, mLoadGroup, nsnull, nsnull); @@ -592,12 +583,6 @@ nsDocLoaderImpl::Stop(void) ("DocLoader:%p: Stop() called\n", this)); rv = mLoadGroup->Cancel(); - /* - * Release the Stream Observer... - * It will be set on the next LoadDocument(...) - */ - mStreamObserver = null_nsCOMPtr(); - return rv; } @@ -1024,7 +1009,6 @@ nsDocumentBindInfo::nsDocumentBindInfo() m_Command = nsnull; m_Container = nsnull; m_ExtraInfo = nsnull; - m_Observer = nsnull; m_NextStream = nsnull; m_DocLoader = nsnull; } @@ -1033,8 +1017,7 @@ nsresult nsDocumentBindInfo::Init(nsDocLoaderImpl* aDocLoader, const char *aCommand, nsIContentViewerContainer* aContainer, - nsISupports* aExtraInfo, - nsIStreamObserver* anObserver) + nsISupports* aExtraInfo) { m_NextStream = nsnull; m_Command = (nsnull != aCommand) ? PL_strdup(aCommand) : nsnull; @@ -1045,9 +1028,6 @@ nsDocumentBindInfo::Init(nsDocLoaderImpl* aDocLoader, m_Container = aContainer; NS_IF_ADDREF(m_Container); - m_Observer = anObserver; - NS_IF_ADDREF(m_Observer); - m_ExtraInfo = aExtraInfo; NS_IF_ADDREF(m_ExtraInfo); @@ -1064,7 +1044,6 @@ nsDocumentBindInfo::~nsDocumentBindInfo() NS_RELEASE (m_DocLoader); NS_IF_RELEASE(m_NextStream); NS_IF_RELEASE(m_Container); - NS_IF_RELEASE(m_Observer); NS_IF_RELEASE(m_ExtraInfo); } @@ -1208,13 +1187,6 @@ NS_METHOD nsDocumentBindInfo::OnProgress(nsIChannel* channel, nsISupports *ctxt, /* Pass the notification out to any observers... */ m_DocLoader->FireOnProgressURLLoad(m_DocLoader, channel, aProgress, aProgressMax); - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - /* XXX: Should we ignore the return value? */ -// (void) m_Observer->OnProgress(channel, aProgress, aProgressMax); - NS_ASSERTION(0, "help"); - } - return rv; } @@ -1237,13 +1209,6 @@ NS_METHOD nsDocumentBindInfo::OnStatus(nsIChannel* channel, nsISupports *ctxt, c nsString msgStr(aMsg); m_DocLoader->FireOnStatusURLLoad(m_DocLoader, channel, msgStr); - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - /* XXX: Should we ignore the return value? */ -// (void) m_Observer->OnStatus(ctxt, aMsg); - NS_ASSERTION(0, "help"); - } - return rv; } #endif /* 0 */ @@ -1321,13 +1286,6 @@ nsDocumentBindInfo::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) rv = m_NextStream->OnStartRequest(channel, ctxt); } - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - nsresult rv2 = m_Observer->OnStartRequest(channel, ctxt); - if (NS_SUCCEEDED(rv)) - rv = rv2; - } - done: NS_IF_RELEASE(viewer); nsCRT::free(aContentType); @@ -1413,12 +1371,6 @@ NS_METHOD nsDocumentBindInfo::OnStopRequest(nsIChannel* channel, nsISupports *ct rv = m_NextStream->OnStopRequest(channel, ctxt, aStatus, aMsg); } - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - /* XXX: Should we ignore the return value? */ - (void) m_Observer->OnStopRequest(channel, ctxt, aStatus, aMsg); - } - NS_IF_RELEASE(m_NextStream); return rv; diff --git a/mozilla/webshell/embed/ActiveX/MozillaBrowser.cpp b/mozilla/webshell/embed/ActiveX/MozillaBrowser.cpp index 333ddcf5f95..0a76ed9bf93 100644 --- a/mozilla/webshell/embed/ActiveX/MozillaBrowser.cpp +++ b/mozilla/webshell/embed/ActiveX/MozillaBrowser.cpp @@ -531,7 +531,7 @@ HRESULT CMozillaBrowser::CreateWebShell() m_pIWebShell->SetPrefs(m_pIPref); m_pIWebShell->SetContainer((nsIWebShellContainer*) m_pWebShellContainer); - m_pIWebShell->SetObserver((nsIStreamObserver*) m_pWebShellContainer); +/// m_pIWebShell->SetObserver((nsIStreamObserver*) m_pWebShellContainer); m_pIWebShell->SetDocLoaderObserver((nsIDocumentLoaderObserver*) m_pWebShellContainer); m_pIWebShell->SetWebShellType(nsWebShellContent); diff --git a/mozilla/webshell/public/nsIDocumentLoader.h b/mozilla/webshell/public/nsIDocumentLoader.h index 66961403c82..4e9432ba574 100644 --- a/mozilla/webshell/public/nsIDocumentLoader.h +++ b/mozilla/webshell/public/nsIDocumentLoader.h @@ -107,7 +107,6 @@ public: nsIContentViewerContainer* aContainer, nsIInputStream* aPostDataStream = nsnull, nsISupports* aExtraInfo = nsnull, - nsIStreamObserver* anObserver = nsnull, nsLoadFlags aType = nsIChannel::LOAD_NORMAL, const PRUint32 aLocalIP = 0, const PRUnichar* aReferrer = nsnull) = 0; diff --git a/mozilla/webshell/public/nsIWebShell.h b/mozilla/webshell/public/nsIWebShell.h index 95d14965812..f38f1df3849 100644 --- a/mozilla/webshell/public/nsIWebShell.h +++ b/mozilla/webshell/public/nsIWebShell.h @@ -212,17 +212,6 @@ public: */ NS_IMETHOD GetContainer(nsIWebShellContainer*& aResult) = 0; - /** - * Set the nsIStreamObserver which receives all notifications from URLs - * in the old fashion. - */ - NS_IMETHOD SetObserver(nsIStreamObserver* anObserver) = 0; - - /** - * Return the current nsIStreamObserver. - */ - NS_IMETHOD GetObserver(nsIStreamObserver*& aResult) = 0; - /** * Set the DocLoaderObserver which receives all notifications from URLs * loaded by the document. diff --git a/mozilla/webshell/src/nsDocLoader.cpp b/mozilla/webshell/src/nsDocLoader.cpp index 857e52c0f9c..91dc986b65b 100644 --- a/mozilla/webshell/src/nsDocLoader.cpp +++ b/mozilla/webshell/src/nsDocLoader.cpp @@ -141,8 +141,7 @@ public: nsresult Init(nsDocLoaderImpl* aDocLoader, const char *aCommand, nsIContentViewerContainer* aContainer, - nsISupports* aExtraInfo, - nsIStreamObserver* anObserver); + nsISupports* aExtraInfo); NS_DECL_ISUPPORTS @@ -173,7 +172,6 @@ protected: char* m_Command; nsIContentViewerContainer* m_Container; nsISupports* m_ExtraInfo; - nsIStreamObserver* m_Observer; nsIStreamListener* m_NextStream; nsDocLoaderImpl* m_DocLoader; }; @@ -207,7 +205,6 @@ public: nsIContentViewerContainer* aContainer, nsIInputStream* aPostDataStream = nsnull, nsISupports* aExtraInfo = nsnull, - nsIStreamObserver* anObserver = nsnull, nsLoadFlags aType = nsIChannel::LOAD_NORMAL, const PRUint32 aLocalIP = 0, const PRUnichar* aReferrer = nsnull); @@ -297,7 +294,6 @@ protected: nsCOMPtr mDocumentChannel; // [OWNER] ???compare with document nsVoidArray mDocObservers; - nsCOMPtr mStreamObserver; // ??? unclear what to do here nsIContentViewerContainer* mContainer; // [WEAK] it owns me! nsDocLoaderImpl* mParent; // [OWNER] but upside down ownership model @@ -493,7 +489,6 @@ nsDocLoaderImpl::LoadDocument(nsIURI * aUri, nsIContentViewerContainer* aContainer, nsIInputStream* aPostDataStream, nsISupports* aExtraInfo, - nsIStreamObserver* anObserver, nsLoadFlags aType, const PRUint32 aLocalIP, const PRUnichar* aReferrer) @@ -526,8 +521,7 @@ nsDocLoaderImpl::LoadDocument(nsIURI * aUri, loader->Init(this, // DocLoader aCommand, // Command aContainer, // Viewer Container - aExtraInfo, // Extra Info - anObserver); // Observer + aExtraInfo); // Extra Info /* * Set the flag indicating that the document loader is in the process of @@ -536,8 +530,6 @@ nsDocLoaderImpl::LoadDocument(nsIURI * aUri, */ mIsLoadingDocument = PR_TRUE; - mStreamObserver = dont_QueryInterface(anObserver); - rv = loader->Bind(aUri, mLoadGroup, aPostDataStream, aReferrer); done: @@ -574,9 +566,8 @@ nsDocLoaderImpl::LoadSubDocument(nsIURI *aUri, NS_ADDREF(loader); loader->Init(this, // DocLoader nsnull, // Command - nsnull, // Viewer Container - aExtraInfo, // Extra Info - mStreamObserver); // Observer + nsnull, // Viewer Container + aExtraInfo); // Extra Info rv = loader->Bind(aUri, mLoadGroup, nsnull, nsnull); @@ -592,12 +583,6 @@ nsDocLoaderImpl::Stop(void) ("DocLoader:%p: Stop() called\n", this)); rv = mLoadGroup->Cancel(); - /* - * Release the Stream Observer... - * It will be set on the next LoadDocument(...) - */ - mStreamObserver = null_nsCOMPtr(); - return rv; } @@ -1024,7 +1009,6 @@ nsDocumentBindInfo::nsDocumentBindInfo() m_Command = nsnull; m_Container = nsnull; m_ExtraInfo = nsnull; - m_Observer = nsnull; m_NextStream = nsnull; m_DocLoader = nsnull; } @@ -1033,8 +1017,7 @@ nsresult nsDocumentBindInfo::Init(nsDocLoaderImpl* aDocLoader, const char *aCommand, nsIContentViewerContainer* aContainer, - nsISupports* aExtraInfo, - nsIStreamObserver* anObserver) + nsISupports* aExtraInfo) { m_NextStream = nsnull; m_Command = (nsnull != aCommand) ? PL_strdup(aCommand) : nsnull; @@ -1045,9 +1028,6 @@ nsDocumentBindInfo::Init(nsDocLoaderImpl* aDocLoader, m_Container = aContainer; NS_IF_ADDREF(m_Container); - m_Observer = anObserver; - NS_IF_ADDREF(m_Observer); - m_ExtraInfo = aExtraInfo; NS_IF_ADDREF(m_ExtraInfo); @@ -1064,7 +1044,6 @@ nsDocumentBindInfo::~nsDocumentBindInfo() NS_RELEASE (m_DocLoader); NS_IF_RELEASE(m_NextStream); NS_IF_RELEASE(m_Container); - NS_IF_RELEASE(m_Observer); NS_IF_RELEASE(m_ExtraInfo); } @@ -1208,13 +1187,6 @@ NS_METHOD nsDocumentBindInfo::OnProgress(nsIChannel* channel, nsISupports *ctxt, /* Pass the notification out to any observers... */ m_DocLoader->FireOnProgressURLLoad(m_DocLoader, channel, aProgress, aProgressMax); - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - /* XXX: Should we ignore the return value? */ -// (void) m_Observer->OnProgress(channel, aProgress, aProgressMax); - NS_ASSERTION(0, "help"); - } - return rv; } @@ -1237,13 +1209,6 @@ NS_METHOD nsDocumentBindInfo::OnStatus(nsIChannel* channel, nsISupports *ctxt, c nsString msgStr(aMsg); m_DocLoader->FireOnStatusURLLoad(m_DocLoader, channel, msgStr); - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - /* XXX: Should we ignore the return value? */ -// (void) m_Observer->OnStatus(ctxt, aMsg); - NS_ASSERTION(0, "help"); - } - return rv; } #endif /* 0 */ @@ -1321,13 +1286,6 @@ nsDocumentBindInfo::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) rv = m_NextStream->OnStartRequest(channel, ctxt); } - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - nsresult rv2 = m_Observer->OnStartRequest(channel, ctxt); - if (NS_SUCCEEDED(rv)) - rv = rv2; - } - done: NS_IF_RELEASE(viewer); nsCRT::free(aContentType); @@ -1413,12 +1371,6 @@ NS_METHOD nsDocumentBindInfo::OnStopRequest(nsIChannel* channel, nsISupports *ct rv = m_NextStream->OnStopRequest(channel, ctxt, aStatus, aMsg); } - /* Pass the notification out to the Observer... */ - if (nsnull != m_Observer) { - /* XXX: Should we ignore the return value? */ - (void) m_Observer->OnStopRequest(channel, ctxt, aStatus, aMsg); - } - NS_IF_RELEASE(m_NextStream); return rv; diff --git a/mozilla/webshell/src/nsWebShell.cpp b/mozilla/webshell/src/nsWebShell.cpp index fea2ae70be7..596726ffde0 100644 --- a/mozilla/webshell/src/nsWebShell.cpp +++ b/mozilla/webshell/src/nsWebShell.cpp @@ -56,7 +56,6 @@ #include "prlog.h" #include "nsCOMPtr.h" #include "nsIPresShell.h" -#include "nsIStreamObserver.h" #include "nsIWebShellServices.h" #include "nsIGlobalHistory.h" #include "prmem.h" @@ -75,9 +74,6 @@ static NS_DEFINE_CID(kLocaleServiceCID, NS_LOCALESERVICE_CID); #include #endif -//XXX used for nsIStreamObserver implementation. This sould be replaced by DocLoader -// notifications... -#include "nsIURL.h" #include "nsIIOService.h" #include "nsIURL.h" @@ -156,7 +152,6 @@ class nsWebShell : public nsIWebShell, public nsIDocumentLoaderObserver, public nsIPrompt, public nsIRefreshURI, -// public nsIStreamObserver, public nsIClipboardCommands { public: @@ -194,8 +189,6 @@ public: NS_IMETHOD SetContentViewer(nsIContentViewer* aViewer); NS_IMETHOD SetContainer(nsIWebShellContainer* aContainer); NS_IMETHOD GetContainer(nsIWebShellContainer*& aResult); - NS_IMETHOD SetObserver(nsIStreamObserver* anObserver); - NS_IMETHOD GetObserver(nsIStreamObserver*& aResult); NS_IMETHOD SetDocLoaderObserver(nsIDocumentLoaderObserver* anObserver); NS_IMETHOD GetDocLoaderObserver(nsIDocumentLoaderObserver*& aResult); NS_IMETHOD SetPrefs(nsIPref* aPrefs); @@ -420,7 +413,6 @@ protected: nsIScriptGlobalObject *mScriptGlobal; nsIScriptContext* mScriptContext; - nsIStreamObserver * mObserver; nsIWebShellContainer* mContainer; nsIContentViewer* mContentViewer; nsIDeviceContext* mDeviceContext; @@ -537,7 +529,6 @@ static NS_DEFINE_IID(kIDeviceContextIID, NS_IDEVICE_CONTEXT_IID); static NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID); static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); static NS_DEFINE_IID(kIScriptContextOwnerIID, NS_ISCRIPTCONTEXTOWNER_IID); -static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kRefreshURIIID, NS_IREFRESHURI_IID); @@ -681,7 +672,6 @@ nsWebShell::~nsWebShell() NS_IF_RELEASE(mDeviceContext); NS_IF_RELEASE(mPrefs); NS_IF_RELEASE(mContainer); - NS_IF_RELEASE(mObserver); if (nsnull != mScriptGlobal) { mScriptGlobal->SetWebShell(nsnull); @@ -1156,7 +1146,6 @@ nsWebShell::Destroy() mDocLoader->Destroy(); SetContainer(nsnull); - SetObserver(nsnull); SetDocLoaderObserver(nsnull); SetUrlDispatcher(nsnull); @@ -1447,28 +1436,6 @@ nsWebShell::HandleEvent(nsGUIEvent *aEvent) return nsEventStatus_eIgnore; } -NS_IMETHODIMP -nsWebShell::SetObserver(nsIStreamObserver* anObserver) -{ - NS_IF_RELEASE(mObserver); - - mObserver = anObserver; - if (nsnull != mObserver) { - NS_ADDREF(mObserver); - } - return NS_OK; -} - - -NS_IMETHODIMP -nsWebShell::GetObserver(nsIStreamObserver*& aResult) -{ - aResult = mObserver; - NS_IF_ADDREF(mObserver); - return NS_OK; -} - - NS_IMETHODIMP nsWebShell::SetDocLoaderObserver(nsIDocumentLoaderObserver* anObserver) @@ -2130,7 +2097,6 @@ nsWebShell::DoLoadURL(nsIURI * aUri, this, // Container aPostDataStream, // Post Data nsnull, // Extra Info... - mObserver, // Observer aType, // reload type aLocalIP, // load attributes. aReferrer); // referrer @@ -3799,74 +3765,6 @@ nsresult nsWebShell::CheckForTrailingSlash(nsIURI* aURL) return NS_OK; } -#if 0 -NS_IMETHODIMP -nsWebShell::OnStartRequest(nsIURI* aURL, const char *aContentType) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnStartRequest(aURL, aContentType); - } - return rv; -} - - -NS_IMETHODIMP -nsWebShell::OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnProgress(aURL, aProgress, aProgressMax); - } - - // Pass status messages out to the nsIBrowserWindow... - nsIBrowserWindow *browserWindow; - - browserWindow = GetBrowserWindow(); - if (nsnull != browserWindow) { - browserWindow->SetProgress(aProgress, aProgressMax); - NS_RELEASE(browserWindow); - } - - return rv; -} - - -NS_IMETHODIMP -nsWebShell::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnStatus(aURL, aMsg); - } - - // Pass status messages out to the nsIBrowserWindow... - nsIBrowserWindow *browserWindow; - - browserWindow = GetBrowserWindow(); - if (nsnull != browserWindow) { - browserWindow->SetStatus(aMsg); - NS_RELEASE(browserWindow); - } - - return rv; -} - - -NS_IMETHODIMP -nsWebShell::OnStopRequest(nsIURI* aURL, nsresult aStatus, const PRUnichar* aMsg) -{ - nsresult rv = NS_OK; - - if (nsnull != mObserver) { - rv = mObserver->OnStopRequest(aURL, aStatus, aMsg); - } - return rv; -} -#endif /* 0 */ //---------------------------------------------------------------------- diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp index 008c0b19ebe..6517839cd52 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.cpp @@ -58,6 +58,7 @@ #include "nsIDocument.h" #include "nsILayoutDebugger.h" #include "nsThrobber.h" +#include "nsIDocumentLoader.h" #include "nsXIFDTD.h" #include "nsIParser.h" @@ -165,7 +166,6 @@ static NS_DEFINE_IID(kIButtonIID, NS_IBUTTON_IID); static NS_DEFINE_IID(kIDOMDocumentIID, NS_IDOMDOCUMENT_IID); static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); static NS_DEFINE_IID(kIFileWidgetIID, NS_IFILEWIDGET_IID); -static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kITextWidgetIID, NS_ITEXTWIDGET_IID); static NS_DEFINE_IID(kIWebShellIID, NS_IWEB_SHELL_IID); @@ -184,6 +184,8 @@ static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID); static NS_DEFINE_IID(kILayoutDebuggerIID, NS_ILAYOUT_DEBUGGER_IID); static NS_DEFINE_CID(kLayoutDebuggerCID, NS_LAYOUT_DEBUGGER_CID); +static NS_DEFINE_IID(kIDocumentLoaderObserverIID, NS_IDOCUMENT_LOADER_OBSERVER_IID); + #define FILE_PROTOCOL "file://" // prototypes @@ -1136,8 +1138,8 @@ nsBrowserWindow::QueryInterface(const nsIID& aIID, NS_ADDREF_THIS(); return NS_OK; } - if (aIID.Equals(kIStreamObserverIID)) { - *aInstancePtrResult = (void*) ((nsIStreamObserver*)this); + if (aIID.Equals(kIDocumentLoaderObserverIID)) { + *aInstancePtrResult = (void*) ((nsIDocumentLoaderObserver*)this); NS_ADDREF_THIS(); return NS_OK; } @@ -1201,12 +1203,17 @@ nsBrowserWindow::Init(nsIAppShell* aAppShell, if (NS_OK != rv) { return rv; } + nsCOMPtr docLoader; r.x = r.y = 0; rv = mWebShell->Init(mWindow->GetNativeData(NS_NATIVE_WIDGET), r.x, r.y, r.width, r.height, nsScrollPreference_kAuto, aAllowPlugins, PR_TRUE); mWebShell->SetContainer((nsIWebShellContainer*) this); - mWebShell->SetObserver((nsIStreamObserver*)this); + + mWebShell->GetDocumentLoader(*getter_AddRefs(docLoader)); + if (docLoader) { + docLoader->AddObserver(this); + } mWebShell->SetPrefs(aPrefs); mWebShell->Show(); @@ -1277,13 +1284,17 @@ nsBrowserWindow::Init(nsIAppShell* aAppShell, if (NS_OK != rv) { return rv; } + nsCOMPtr docLoader; r.x = r.y = 0; //nsRect ws = r; rv = mWebShell->Init(mWindow->GetNativeData(NS_NATIVE_WIDGET), r.x, r.y, r.width, r.height, nsScrollPreference_kAuto, aAllowPlugins); mWebShell->SetContainer((nsIWebShellContainer*) this); - mWebShell->SetObserver((nsIStreamObserver*)this); + mWebShell->GetDocumentLoader(*getter_AddRefs(docLoader)); + if (docLoader) { + docLoader->AddObserver(this); + } mWebShell->SetPrefs(aPrefs); if (NS_CHROME_MENU_BAR_ON & aChromeMask) { @@ -1988,7 +1999,102 @@ nsBrowserWindow::FocusAvailable(nsIWebShell* aFocusedWebShell, PRBool& aFocusTak //---------------------------------------- -// Stream observer implementation +// document loader observer implementation +NS_IMETHODIMP +nsBrowserWindow::OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsBrowserWindow::OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsBrowserWindow::OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer) +{ + nsresult rv; + + nsCOMPtr aURL; + rv = channel->GetURI(getter_AddRefs(aURL)); + if (NS_FAILED(rv)) return rv; + + if (mStatus) { + nsAutoString url; + if (nsnull != aURL) { + char* str; + aURL->GetSpec(&str); + url = str; + nsCRT::free(str); + } + url.Append(": start"); + PRUint32 size; + mStatus->SetText(url,size); + } + return NS_OK; +} + +NS_IMETHODIMP +nsBrowserWindow::OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsBrowserWindow::OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg) +{ + return NS_OK; +} + +NS_IMETHODIMP +nsBrowserWindow::OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus) +{ + nsresult rv; + + nsCOMPtr aURL; + rv = channel->GetURI(getter_AddRefs(aURL)); + if (NS_FAILED(rv)) return rv; + + if (mStatus) { + nsAutoString url; + if (nsnull != aURL) { + char* str; + aURL->GetSpec(&str); + url = str; + nsCRT::free(str); + } + url.Append(": stop"); + PRUint32 size; + mStatus->SetText(url,size); + } + return NS_OK; +} + +NS_IMETHODIMP +nsBrowserWindow::HandleUnknownContentType(nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand) +{ + return NS_OK; +} + NS_IMETHODIMP #ifdef NECKO @@ -2052,87 +2158,6 @@ nsBrowserWindow::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) return NS_OK; } -NS_IMETHODIMP -#ifdef NECKO -nsBrowserWindow::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) -#else -nsBrowserWindow::OnStartRequest(nsIURI* aURL, const char *aContentType) -#endif -{ - nsresult rv; - -#ifdef NECKO - nsCOMPtr aURL; - rv = channel->GetURI(getter_AddRefs(aURL)); - if (NS_FAILED(rv)) return rv; -#endif - - if (mStatus) { - nsAutoString url; - if (nsnull != aURL) { -#ifdef NECKO - char* str; - aURL->GetSpec(&str); -#else - PRUnichar* str; - aURL->ToString(&str); -#endif - url = str; -#ifdef NECKO - nsCRT::free(str); -#else - delete[] str; -#endif - } - url.Append(": start"); - PRUint32 size; - mStatus->SetText(url,size); - } - return NS_OK; -} - -NS_IMETHODIMP -#ifdef NECKO -nsBrowserWindow::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, - nsresult status, const PRUnichar *errorMsg) -#else -nsBrowserWindow::OnStopRequest(nsIURI* aURL, - nsresult status, - const PRUnichar* aMsg) -#endif -{ - nsresult rv; - -#ifdef NECKO - nsCOMPtr aURL; - rv = channel->GetURI(getter_AddRefs(aURL)); - if (NS_FAILED(rv)) return rv; -#endif - - if (mStatus) { - nsAutoString url; - if (nsnull != aURL) { -#ifdef NECKO - char* str; - aURL->GetSpec(&str); -#else - PRUnichar* str; - aURL->ToString(&str); -#endif - url = str; -#ifdef NECKO - nsCRT::free(str); -#else - delete[] str; -#endif - } - url.Append(": stop"); - PRUint32 size; - mStatus->SetText(url,size); - } - return NS_OK; -} - NS_IMETHODIMP nsBrowserWindow::Alert(const PRUnichar *text) { diff --git a/mozilla/webshell/tests/viewer/nsBrowserWindow.h b/mozilla/webshell/tests/viewer/nsBrowserWindow.h index 45000f62816..f701bb6bed1 100644 --- a/mozilla/webshell/tests/viewer/nsBrowserWindow.h +++ b/mozilla/webshell/tests/viewer/nsBrowserWindow.h @@ -62,7 +62,7 @@ class nsWebCrawler; * Abstract base class for our test app's browser windows */ class nsBrowserWindow : public nsIBrowserWindow, - public nsIStreamObserver, + public nsIDocumentLoaderObserver, public nsIProgressEventSink, public nsIWebShellContainer, public nsIPrompt @@ -108,21 +108,35 @@ public: NS_IMETHOD GetWebShell(nsIWebShell*& aResult); NS_IMETHOD GetContentWebShell(nsIWebShell **aResult); -#ifdef NECKO - // nsIStreamObserver - NS_DECL_NSISTREAMOBSERVER + // nsIDocumentLoaderObserver + NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, + nsIURI* aURL, + const char* aCommand); + NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus, + nsIDocumentLoaderObserver * aObserver); + NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsIContentViewer* aViewer); + NS_IMETHOD OnProgressURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + PRUint32 aProgress, + PRUint32 aProgressMax); + NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsString& aMsg); + NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, + nsIChannel* channel, + nsresult aStatus); + NS_IMETHOD HandleUnknownContentType( nsIDocumentLoader* loader, + nsIChannel* channel, + const char *aContentType, + const char *aCommand ); // nsIProgressEventSink NS_DECL_NSIPROGRESSEVENTSINK -#else - // nsIStreamObserver - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType); - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax); - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg); - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif - // nsIWebShellContainer NS_IMETHOD WillLoadURL(nsIWebShell* aShell, const PRUnichar* aURL, nsLoadType aReason); NS_IMETHOD BeginLoadURL(nsIWebShell* aShell, const PRUnichar* aURL); diff --git a/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp b/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp index 44a4699c691..d88e3cb464a 100644 --- a/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp +++ b/mozilla/webshell/tests/viewer/nsXPBaseWindow.cpp @@ -76,7 +76,6 @@ static NS_DEFINE_IID(kWindowCID, NS_WINDOW_CID); static NS_DEFINE_IID(kIXPBaseWindowIID, NS_IXPBASE_WINDOW_IID); -static NS_DEFINE_IID(kIStreamObserverIID, NS_ISTREAMOBSERVER_IID); static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIDOMDocumentIID, NS_IDOMDOCUMENT_IID); static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); @@ -133,11 +132,6 @@ nsresult nsXPBaseWindow::QueryInterface(const nsIID& aIID, NS_ADDREF_THIS(); return NS_OK; } - if (aIID.Equals(kIStreamObserverIID)) { - *aInstancePtrResult = (void*) ((nsIStreamObserver*)this); - NS_ADDREF_THIS(); - return NS_OK; - } if (aIID.Equals(kIWebShellContainerIID)) { *aInstancePtrResult = (void*) ((nsIWebShellContainer*)this); NS_ADDREF_THIS(); @@ -254,7 +248,6 @@ nsresult nsXPBaseWindow::Init(nsXPBaseWindowType aType, nsScrollPreference_kNeverScroll, //nsScrollPreference_kAuto, aAllowPlugins, PR_FALSE); mWebShell->SetContainer((nsIWebShellContainer*) this); - mWebShell->SetObserver((nsIStreamObserver*)this); mWebShell->SetPrefs(aPrefs); mWebShell->Show(); @@ -582,45 +575,6 @@ nsXPBaseWindow::CreatePopup(nsIDOMElement* aElement, nsIDOMElement* aPopupConten return NS_OK; } -//---------------------------------------- - -// Stream observer implementation -#ifndef NECKO -NS_IMETHODIMP -nsXPBaseWindow::OnProgress(nsIURI* aURL, - PRUint32 aProgress, - PRUint32 aProgressMax) -{ - return NS_OK; -} - -//---------------------------------------- -NS_IMETHODIMP nsXPBaseWindow::OnStatus(nsIURI* aURL, const PRUnichar* aMsg) -{ - return NS_OK; -} -#endif - -//---------------------------------------- -#ifdef NECKO -NS_IMETHODIMP nsXPBaseWindow::OnStartRequest(nsIChannel* channel, nsISupports *ctxt) -#else -NS_IMETHODIMP nsXPBaseWindow::OnStartRequest(nsIURI* aURL, const char *aContentType) -#endif -{ - return NS_OK; -} - -//---------------------------------------- -#ifdef NECKO -NS_IMETHODIMP nsXPBaseWindow::OnStopRequest(nsIChannel* channel, nsISupports *ctxt, - nsresult status, const PRUnichar *errorMsg) -#else -NS_IMETHODIMP nsXPBaseWindow::OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg) -#endif -{ - return NS_OK; -} #ifndef NECKO //---------------------------------------- diff --git a/mozilla/webshell/tests/viewer/nsXPBaseWindow.h b/mozilla/webshell/tests/viewer/nsXPBaseWindow.h index fcf706c5c43..d0964f0f62f 100644 --- a/mozilla/webshell/tests/viewer/nsXPBaseWindow.h +++ b/mozilla/webshell/tests/viewer/nsXPBaseWindow.h @@ -45,9 +45,7 @@ class nsIPref; * */ class nsXPBaseWindow : public nsIXPBaseWindow, - public nsIStreamObserver, -#ifdef NECKO -#else +#ifndef NECKO public nsINetSupport, #endif public nsIWebShellContainer, @@ -89,16 +87,6 @@ public: NS_IMETHOD LoadURL(const nsString &aURL); -#ifdef NECKO - NS_DECL_NSISTREAMOBSERVER -#else - // nsIStreamObserver - NS_IMETHOD OnStartRequest(nsIURI* aURL, const char *aContentType); - NS_IMETHOD OnProgress(nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax); - NS_IMETHOD OnStatus(nsIURI* aURL, const PRUnichar* aMsg); - NS_IMETHOD OnStopRequest(nsIURI* aURL, nsresult status, const PRUnichar* aMsg); -#endif - // nsIWebShellContainer NS_IMETHOD WillLoadURL(nsIWebShell* aShell, const PRUnichar* aURL, nsLoadType aReason); NS_IMETHOD BeginLoadURL(nsIWebShell* aShell, const PRUnichar* aURL); diff --git a/mozilla/xpfe/appshell/src/nsAppShellService.cpp b/mozilla/xpfe/appshell/src/nsAppShellService.cpp index c1ed1496381..d162004f134 100644 --- a/mozilla/xpfe/appshell/src/nsAppShellService.cpp +++ b/mozilla/xpfe/appshell/src/nsAppShellService.cpp @@ -595,7 +595,7 @@ nsAppShellService::JustCreateTopWindow(nsIWebShellWindow *aParent, } rv = window->Initialize(aParent, mAppShell, aUrl, - aShowWindow, aLoadDefaultPage, nsnull, aCallbacks, + aShowWindow, aLoadDefaultPage, aCallbacks, aInitialWidth, aInitialHeight, widgetInitData); if (NS_SUCCEEDED(rv)) { diff --git a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp index 7744c9b478a..45291dc1dc9 100644 --- a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp +++ b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp @@ -332,7 +332,6 @@ nsresult nsWebShellWindow::Initialize(nsIWebShellWindow* aParent, nsIAppShell* aShell, nsIURI* aUrl, PRBool aCreatedVisible, PRBool aLoadDefaultPage, - nsIStreamObserver* anObserver, nsIXULWindowCallbacks *aCallbacks, PRInt32 aInitialWidth, PRInt32 aInitialHeight, nsWidgetInitData& widgetInitData) @@ -396,7 +395,6 @@ nsresult nsWebShellWindow::Initialize(nsIWebShellWindow* aParent, PR_TRUE, // Allow Plugins PR_TRUE); mWebShell->SetContainer(this); - mWebShell->SetObserver((nsIStreamObserver*)anObserver); mWebShell->SetDocLoaderObserver(this); // The outermost web shell is always considered to be chrome. @@ -2619,7 +2617,7 @@ NS_IMETHODIMP nsWebShellWindow::Init(nsIAppShell* aAppShell, widgetInitData.mBorderStyle = eBorderStyle_default; rv = Initialize(nsnull, aAppShell, urlObj, PR_TRUE, PR_TRUE, - nsnull, nsnull, aBounds.width, aBounds.height, widgetInitData); + nsnull, aBounds.width, aBounds.height, widgetInitData); mChromeMask = aChromeMask; if (NS_SUCCEEDED(rv)) MoveTo(aBounds.x, aBounds.y); diff --git a/mozilla/xpfe/appshell/src/nsWebShellWindow.h b/mozilla/xpfe/appshell/src/nsWebShellWindow.h index 8e56d6aee41..fcef6245f55 100644 --- a/mozilla/xpfe/appshell/src/nsWebShellWindow.h +++ b/mozilla/xpfe/appshell/src/nsWebShellWindow.h @@ -134,7 +134,6 @@ public: // nsWebShellWindow methods... nsresult Initialize(nsIWebShellWindow * aParent, nsIAppShell* aShell, nsIURI* aUrl, PRBool aCreatedVisible, PRBool aLoadDefaultPage, - nsIStreamObserver* anObserver, nsIXULWindowCallbacks *aCallbacks, PRInt32 aInitialWidth, PRInt32 aInitialHeight, nsWidgetInitData& widgetInitData); @@ -153,6 +152,7 @@ public: // nsIDocumentLoaderObserver #ifdef NECKO + NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, nsIURI* aURL, const char* aCommand); NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsresult aStatus, nsIDocumentLoaderObserver* aObserver); NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsIContentViewer* aViewer);