/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIDocShellTreeOwner; interface nsIDocument; interface nsPIDOMWindow; /** * 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(edb99640-8378-4106-8673-e701a086eb1c)] interface nsIDocShellTreeItem : nsISupports { /* name of the DocShellTreeItem */ attribute AString name; /** * Compares the provided name against the item's name and * returns the appropriate result. * * @return PR_TRUE if names match; * PR_FALSE otherwise. */ boolean nameEquals(in wstring name); /* Definitions for the item types. */ const long typeChrome=0; // typeChrome must equal 0 const long typeContent=1; // typeContent must equal 1 const long typeContentWrapper=2; // typeContentWrapper must equal 2 const long typeChromeWrapper=3; // typeChromeWrapper must equal 3 const long typeAll=0x7FFFFFFF; /* The type this item is. */ attribute long itemType; [noscript,notxpcom,nostdcall] long ItemType(); /* Parent DocShell. */ readonly attribute nsIDocShellTreeItem parent; /* This getter returns the same thing parent does however if the parent is of a different itemType, or if the parent is an