From 89f6e5ef3efb85997d26def041157ab306e31d3a Mon Sep 17 00:00:00 2001 From: "tbogard%aol.net" Date: Sun, 12 Dec 1999 08:47:00 +0000 Subject: [PATCH] Adding a new interface. --- docshell/base/nsIDocShellTreeOwner.idl | 69 ++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docshell/base/nsIDocShellTreeOwner.idl diff --git a/docshell/base/nsIDocShellTreeOwner.idl b/docshell/base/nsIDocShellTreeOwner.idl new file mode 100644 index 00000000000..c40b60809ab --- /dev/null +++ b/docshell/base/nsIDocShellTreeOwner.idl @@ -0,0 +1,69 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is the Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Travis Bogard + */ + +#include "nsISupports.idl" + +/** + * The nsIDocShellTreeOwner + */ + +interface nsIDocShellTreeItem; +interface nsIWebBrowserChrome; + +[scriptable, uuid(80F30E10-A7CF-11d3-AFC5-00A024FFC08C)] +interface nsIDocShellTreeOwner : nsISupports +{ + /* + Return the child DocShellTreeItem with the specified name. + name - This is the name of the item that is trying to be found. + aRequestor - This is the docshellTreeItem that is requesting the find. This + parameter is used to identify when the child is asking it's parent to find + a child with the specific name. The parent uses this parameter to ensure + a resursive state does not occur by not again asking the requestor for find + a shell by the specified name. Inversely the child uses it to ensure it + does not ask it's parent to do the search if it's parent is the one that + asked it to search. + */ + nsIDocShellTreeItem findItemWithName(in wstring name, + in nsIDocShellTreeItem aRequestor); + + /* + Called when a content shell is added to the the docShell Tree. + aContentShell - the docShell that has been added. + aPrimary - true if this is the primary content shell + aID - the ID of the docShell that has been added. + */ + void contentShellAdded(in nsIDocShellTreeItem aContentShell, + in boolean aPrimary, in wstring aID); + + /* + Tells the implementer of this interface to create a new webBrowserChrome + object for it. Typically this means the implemetor will create a new + top level window that is represented by nsIWebBrowserChrome. This + most often will be called when for instance there is a need for a new + JS window, etc. Soon after this new object is returned, the webBrowser + attribute will checked, if one does not exist, one will be created and + setWebBrowser will be called with the new widget to instantiate in this + new window. + */ + void getNewBrowserChrome(in long aChromeFlags, out nsIWebBrowserChrome webBrowserChrome); +};