50920. r=vidur. hanging an nsIDOMWindow off of nsIWebBrowser

This commit is contained in:
valeski%netscape.com 2000-09-01 21:10:23 +00:00
Родитель dbe1fbf9e7
Коммит 88476a5310
2 изменённых файлов: 21 добавлений и 2 удалений

Просмотреть файл

@ -25,6 +25,7 @@
interface nsIInterfaceRequestor;
interface nsIWebBrowserChrome;
interface nsIURIContentListener;
interface nsIDOMWindow;
/**
* The nsIWebBrowser
@ -81,4 +82,9 @@ interface nsIWebBrowser : nsISupports
nulled out by the parent when the parent is going away.
*/
attribute nsIURIContentListener parentURIContentListener;
/*
The top-level DOM window (nsIDOMWindow)
*/
readonly attribute nsIDOMWindow contentDOMWindow;
};

Просмотреть файл

@ -32,6 +32,7 @@
#include "nsIDeviceContext.h"
#include "nsIDocument.h"
#include "nsIDOMDocument.h"
#include "nsIDOMWindow.h"
#include "nsIInterfaceRequestor.h"
#include "nsIWebBrowserChrome.h"
#include "nsIWebShell.h"
@ -45,8 +46,8 @@ static NS_DEFINE_IID(kDeviceContextCID, NS_DEVICE_CONTEXT_CID);
//*****************************************************************************
nsWebBrowser::nsWebBrowser() : mDocShellTreeOwner(nsnull),
mContentListener(nsnull), mInitInfo(nsnull), mParentNativeWindow(nsnull),
mParentWidget(nsnull), mParent(nsnull), mContentType(typeContentWrapper)
mContentListener(nsnull), mInitInfo(nsnull), mContentType(typeContentWrapper),
mParentNativeWindow(nsnull), mParentWidget(nsnull), mParent(nsnull)
{
NS_INIT_REFCNT();
mInitInfo = new nsWebBrowserInitInfo();
@ -182,6 +183,18 @@ NS_IMETHODIMP nsWebBrowser::SetParentURIContentListener(nsIURIContentListener*
return mContentListener->SetParentContentListener(aParentContentListener);
}
NS_IMETHODIMP nsWebBrowser::GetContentDOMWindow(nsIDOMWindow **_retval)
{
NS_ENSURE_STATE(mDocShell);
nsresult rv = NS_OK;
nsCOMPtr<nsIDOMWindow> retval = do_GetInterface(mDocShell, &rv);
if (NS_FAILED(rv)) return rv;
*_retval = retval;
NS_ADDREF(*_retval);
return rv;
}
//*****************************************************************************
// nsWebBrowser::nsIDocShellTreeItem
//*****************************************************************************