From ab67ca9638519bc31826ee962263c4718882bb7f Mon Sep 17 00:00:00 2001 From: "tbogard%aol.net" Date: Fri, 3 Dec 1999 10:00:23 +0000 Subject: [PATCH] Adding two new interfaces to deal with the docshell tree. git-svn-id: svn://10.0.0.236/trunk@55179 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/docshell/base/nsIDocShellTreeItem.idl | 75 +++++++++++++++++++ mozilla/docshell/base/nsIDocShellTreeNode.idl | 16 ++-- 2 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 mozilla/docshell/base/nsIDocShellTreeItem.idl diff --git a/mozilla/docshell/base/nsIDocShellTreeItem.idl b/mozilla/docshell/base/nsIDocShellTreeItem.idl new file mode 100644 index 00000000000..0ea6b05fa67 --- /dev/null +++ b/mozilla/docshell/base/nsIDocShellTreeItem.idl @@ -0,0 +1,75 @@ +/* -*- 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" + +interface nsIDocShellTreeOwner; + + +/** + * The nsIDocShellTreeItem supplies the methods that are required of any item + * that wishes to be able to live within the docshell tree either as a middle + * node or a leaf. + */ + +[scriptable, uuid(B52AE780-A966-11d3-AFC7-00A024FFC08C)] +interface nsIDocShellTreeItem : nsISupports +{ + /* + name of the DocShellTreeItem + */ + attribute wstring name; + + /* + Parent DocShell.. Note Implementers of this interface should NOT effect + the lifetime of the parent DocShellTreeItem by holding this reference as it + creates a cycle. Parents when releasing this interface should set the + parent to nsnull. Implementers of this interface are guaranteed that when + parent is set that the pointer is valid without having to addref. + + Further note however when others try to Get the interface you should add + ref it before handing it to them. + */ + attribute nsIDocShellTreeItem parent; + + /* + Returns the root DocShellTreeItem. This is a convience equivalent to + getting the parent and it's parent until there isn't a parent. + */ + readonly attribute nsIDocShellTreeItem rootDocShell; + + /* + The owner of the DocShell Tree. This interface will be called upon when + the docshell has things it needs to tell to the owner of the docshell. + + Note implementers of this interface should NOT effect the lifetime of the + parent DocShell by holding this reference as it creates a cycle. Owners + when releasing this interface should set the treeOwner to nsnull. + Implementers of this interface are guaranteed that when treeOwner is + set that the poitner is valid without having to addref. + + Further note however when others try to get the interface it should be + addref'd before handing it to them. + */ + attribute nsIDocShellTreeOwner treeOwner; +}; + diff --git a/mozilla/docshell/base/nsIDocShellTreeNode.idl b/mozilla/docshell/base/nsIDocShellTreeNode.idl index e4dee1aa9a9..f69daf49dae 100644 --- a/mozilla/docshell/base/nsIDocShellTreeNode.idl +++ b/mozilla/docshell/base/nsIDocShellTreeNode.idl @@ -22,7 +22,7 @@ */ #include "nsISupports.idl" -#include "nsIDocShell.idl" +#include "nsIDocShellTreeItem.idl" /** * The nsIDocShellTreeNode supplies the methods for interacting with children @@ -40,21 +40,21 @@ interface nsIDocShellTreeNode : nsISupports readonly attribute long childCount; /* - Add a new child DocShell. Adds to the end of the list. + Add a new child DocShellTreeItem. Adds to the end of the list. */ - void AddChild(in nsIDocShell child); + void addChild(in nsIDocShellTreeItem child); /* - Removes a child DocShell. + Removes a child DocShellTreeItem. */ - void RemoveChild(in nsIDocShell child); + void removeChild(in nsIDocShellTreeItem child); /* Return the child at the index requested. This is 0-based.*/ - void GetChildAt(in long index, out nsIDocShell child); + void getChildAt(in long index, out nsIDocShellTreeItem child); /* - Return the child DocShell with the specified name. + Return the child DocShellTreeItem with the specified name. */ - nsIDocShell FindChildWithName(in wstring name); + nsIDocShellTreeItem findChildWithName(in wstring name); };