Added a method to webshell so that a root container can find out when

new webshells are added to its hierarchy.
This commit is contained in:
hyatt%netscape.com 1999-04-20 01:50:03 +00:00
Родитель 55f7b6edca
Коммит 085f789265
7 изменённых файлов: 44 добавлений и 1 удалений

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

@ -241,6 +241,8 @@ public:
PRBool aVisible,
nsIWebShell *&aNewWebShell);
NS_IMETHOD CanCreateNewWebShell(PRBool& aResult);
NS_IMETHOD ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult);
NS_IMETHOD SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,
nsIWebShell** aNewShell);
@ -1903,6 +1905,16 @@ nsWebShell::CanCreateNewWebShell(PRBool& aResult)
return NS_OK;
}
NS_IMETHODIMP
nsWebShell::ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult)
{
aResult = PR_FALSE;
if (nsnull != mContainer) {
return mContainer->ChildShellAdded(aChildShell, frameNode, aResult);
}
return NS_OK;
}
NS_IMETHODIMP
nsWebShell::SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,

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

@ -34,6 +34,7 @@ class nsIDocumentLoaderObserver;
class nsIWebShell;
class nsIWebShellContainer;
class nsIPref;
class nsIContent;
// Interface ID for nsIWebShell
#define NS_IWEB_SHELL_IID \
@ -102,8 +103,9 @@ public:
NS_IMETHOD FindWebShellWithName(const PRUnichar* aName,
nsIWebShell*& aResult) = 0;
NS_IMETHOD ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult) = 0;
/**
* Notify the WebShellContainer that a contained webshell is
* offering focus (for example if it finshed tabbing through its

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

@ -241,6 +241,8 @@ public:
PRBool aVisible,
nsIWebShell *&aNewWebShell);
NS_IMETHOD CanCreateNewWebShell(PRBool& aResult);
NS_IMETHOD ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult);
NS_IMETHOD SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,
nsIWebShell** aNewShell);
@ -1903,6 +1905,16 @@ nsWebShell::CanCreateNewWebShell(PRBool& aResult)
return NS_OK;
}
NS_IMETHODIMP
nsWebShell::ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult)
{
aResult = PR_FALSE;
if (nsnull != mContainer) {
return mContainer->ChildShellAdded(aChildShell, frameNode, aResult);
}
return NS_OK;
}
NS_IMETHODIMP
nsWebShell::SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,

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

@ -1750,6 +1750,14 @@ nsBrowserWindow::CanCreateNewWebShell(PRBool& aResult)
return NS_OK;
}
NS_IMETHODIMP
nsBrowserWindow::ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult)
{
aResult = PR_FALSE; // We don't ever care about handling this.
return NS_OK;
}
NS_IMETHODIMP
nsBrowserWindow::SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,

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

@ -107,6 +107,7 @@ public:
PRBool aVisible,
nsIWebShell *&aNewWebShell);
NS_IMETHOD CanCreateNewWebShell(PRBool& aResult);
NS_IMETHOD ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult);
NS_IMETHOD SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,
nsIWebShell** aNewShell);

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

@ -568,6 +568,13 @@ nsXPBaseWindow::CanCreateNewWebShell(PRBool& aResult)
return NS_OK;
}
NS_IMETHODIMP
nsXPBaseWindow::ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult)
{
aResult = PR_FALSE;
return NS_OK;
}
NS_IMETHODIMP
nsXPBaseWindow::SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,

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

@ -98,6 +98,7 @@ public:
PRBool aVisible,
nsIWebShell *&aNewWebShell);
NS_IMETHOD CanCreateNewWebShell(PRBool& aResult);
NS_IMETHOD ChildShellAdded(nsIWebShell* aChildShell, nsIContent* frameNode, PRBool& aResult);
NS_IMETHOD SetNewWebShellInfo(const nsString& aName, const nsString& anURL,
nsIWebShell* aOpenerShell, PRUint32 aChromeMask,
nsIWebShell** aNewShell);