зеркало из https://github.com/mozilla/pjs.git
bug #46866. Added a read-only DOMWindow attribute to nsIWebProgress.
This commit is contained in:
Родитель
43cd39908f
Коммит
289298c3f5
|
@ -593,6 +593,18 @@ NS_IMETHODIMP nsWebBrowser::RemoveProgressListener(nsIWebProgressListener* aList
|
|||
return mDocShellAsProgress->RemoveProgressListener(aListener);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsWebBrowser::GetDOMWindow(nsIDOMWindow **aResult)
|
||||
{
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
*aResult = nsnull;
|
||||
if (mDocShell) {
|
||||
rv = mDocShellAsProgress->GetDOMWindow(aResult);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
// nsWebBrowser::nsIBaseWindow
|
||||
//*****************************************************************************
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
#include "nsCOMPtr.h"
|
||||
#include "nsCom.h"
|
||||
|
||||
#include "nsIDOMWindow.h"
|
||||
|
||||
// XXX ick ick ick
|
||||
#include "nsIContentViewerContainer.h"
|
||||
#include "nsIDocument.h"
|
||||
|
@ -968,6 +970,26 @@ nsDocLoaderImpl::RemoveProgressListener(nsIWebProgressListener *aListener)
|
|||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocLoaderImpl::GetDOMWindow(nsIDOMWindow **aResult)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
*aResult = nsnull;
|
||||
//
|
||||
// The DOM Window is available from the associated container (ie DocShell)
|
||||
// if one is available...
|
||||
//
|
||||
if (mContainer) {
|
||||
nsCOMPtr<nsIDOMWindow> window(do_GetInterface(mContainer, &rv));
|
||||
|
||||
*aResult = window;
|
||||
NS_IF_ADDREF(*aResult);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsDocLoaderImpl::GetProgressStatusFlags(PRInt32 *aProgressStateFlags)
|
||||
{
|
||||
*aProgressStateFlags = mProgressStateFlags;
|
||||
|
|
|
@ -22,37 +22,44 @@
|
|||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
interface nsIDOMWindow;
|
||||
interface nsIWebProgressListener;
|
||||
|
||||
/**
|
||||
* The nsIWebProgress interface is used to look at the progress of a given
|
||||
* browser loading.
|
||||
* The nsIWebProgress interface is used to look at the progress of document
|
||||
* loading in a particular DOM Window.
|
||||
*/
|
||||
|
||||
[scriptable, uuid(570F39D0-EFD0-11d3-B093-00A024FFC08C)]
|
||||
interface nsIWebProgress : nsISupports
|
||||
{
|
||||
/*
|
||||
Registers a listener to be notified of Progress Events
|
||||
{
|
||||
/**
|
||||
* Registers a listener to be notified of Progress Events
|
||||
*
|
||||
* @param listener - The listener interface to be called when a progress
|
||||
* event occurs.
|
||||
*
|
||||
* @return NS_OK - Listener was registered successfully.
|
||||
* NS_INVALID_ARG - The listener passed in was either nsnull,
|
||||
* or was already registered with this progress
|
||||
* interface.
|
||||
*/
|
||||
void addProgressListener(in nsIWebProgressListener listener);
|
||||
|
||||
@param listener - The listener interface to be called when a progress event
|
||||
occurs.
|
||||
/**
|
||||
* Removes a previously registered listener of Progress Events
|
||||
*
|
||||
* @param listener - The listener interface previously registered with
|
||||
* AddListener().
|
||||
*
|
||||
* @return NS_OK - Listener was successfully unregistered.
|
||||
* NS_ERROR_INVALID_ARG - The listener was not previously
|
||||
* registered listener.
|
||||
*/
|
||||
void removeProgressListener(in nsIWebProgressListener listener);
|
||||
|
||||
@return NS_OK - Listener was registered successfully.
|
||||
NS_INVALID_ARG - The listener passed in was either nsnull,
|
||||
or was already registered with this progress interface.
|
||||
*/
|
||||
void addProgressListener(in nsIWebProgressListener listener);
|
||||
|
||||
/*
|
||||
Removes a previously registered listener of Progress Events
|
||||
|
||||
@param listener - The listener interface previously registered with
|
||||
AddListener() this may be nsnull if a valid cookie is provided.
|
||||
|
||||
@return NS_OK - Listener was successfully unregistered.
|
||||
NS_ERROR_INVALID_ARG - Neither the cookie nor the listener point
|
||||
to a previously registered listener.
|
||||
*/
|
||||
void removeProgressListener(in nsIWebProgressListener listener);
|
||||
/**
|
||||
* The DOM Window associated with the WebProgress instance.
|
||||
*/
|
||||
readonly attribute nsIDOMWindow DOMWindow;
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче