Fix for bug # 71756. New SH interfaces. r=rpotts, valeski

This commit is contained in:
radha%netscape.com 2005-08-18 11:16:08 +00:00
parent 38459ef2cf
commit a76a0f7dc1
4 changed files with 30 additions and 47 deletions

View File

@ -33,6 +33,8 @@ XPIDLSRCS = nsISHEntry.idl \
nsISHTransaction.idl \
nsISHistory.idl \
nsISHistoryListener.idl \
nsIHistoryEntry.idl \
nsISHistoryInternal.idl \
$(NULL)
include $(topsrcdir)/config/rules.mk

View File

@ -55,10 +55,5 @@ interface nsISHContainer : nsISupports
*/
nsISHEntry GetChildAt(in long index);
/**
* Enumerator to walk child list.
*/
readonly attribute nsIEnumerator childEnumerator;
};

View File

@ -39,13 +39,13 @@ interface nsISHEntry : nsISupports
{
/** URI for the document */
attribute nsIURI URI;
void SetURI(in nsIURI aURI);
/** DOM Document */
attribute nsIDOMDocument document;
/** Title for the document */
attribute wstring title;
void SetTitle(in wstring aTitle);
/** Post Data for the document */
attribute nsIInputStream postData;
@ -61,6 +61,7 @@ attribute nsISHEntry parent;
* when reload is pressed, it has the appropriate reload flag
*/
attribute unsigned long loadType;
/**
* An ID to help identify this entry from others during
* subframe navigation
@ -71,6 +72,10 @@ attribute unsigned long ID;
void create(in nsIURI aURI, in wstring aTitle, in nsIDOMDocument aDocument,
in nsIInputStream aInputStream, in nsILayoutHistoryState aHistoryLayoutState);
/** Attribute that indicates if this entry is for a subframe navigation */
void SetIsSubFrame(in boolean aFlag);
};

View File

@ -1,4 +1,4 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
@ -19,34 +19,30 @@
*
* Contributor(s): Radha Kulkarni (radha@netscape.com)
*/
/**
* Interface to Session History
*
* @status FROZEN
*/
#include "nsISupports.idl"
#include "nsIFactory.idl"
#include "nsISHEntry.idl"
#include "nsISHTransaction.idl"
#include "nsIDocShell.idl"
#include "nsIHistoryEntry.idl"
#include "nsISHistoryListener.idl"
interface nsISimpleEnumerator;
%{C++
#define NS_SHISTORY_CID \
{0xdd335421, 0xb8b8, 0x11d3, {0xbd, 0xc8, 0x00, 0x50, 0x04, 0x0a, 0x9b, 0x44}}
{0x7294fe9c, 0x14d8, 0x11d5, {0x98, 0x82, 0x00, 0xC0, 0x4f, 0xa0, 0x2f, 0x40}}
#define NS_SHISTORY_CONTRACTID "@mozilla.org/browser/shistory;1"
%}
[scriptable, uuid(DD335421-B8B8-11d3-BDC8-0050040A9B44)]
[scriptable, uuid(7294FE9B-14D8-11D5-9882-00C04FA02F40)]
interface nsISHistory: nsISupports
{
/**
* Add a new Entry to the History List
* @param aEntry - The entry to add
* @param aPersist - If true this specifies that the entry should persist
* in the list. If false, this means that when new entries are added
* this element will not appear in the session history list.
*/
void addEntry(in nsISHEntry aEntry, in boolean aPersist);
/**
* Get the size of the History list
*/
@ -57,36 +53,17 @@ interface nsISHistory: nsISupports
*/
readonly attribute long index;
/**
* Get Previous Entry
*/
nsISHEntry getPreviousEntry(in boolean modifyIndex);
/**
* Get the next entry
*/
nsISHEntry getNextEntry(in boolean modifyIndex);
/**
* Get the entry at a given index
*/
nsISHEntry getEntryAtIndex(in long index, in boolean modifyIndex);
/**
* Get the root transaction
*/
readonly attribute nsISHTransaction rootTransaction;
/**
* The toplevel docshell object to which this SHistory object belongs to.
*/
attribute nsIDocShell rootDocShell;
/**
* Get/Set the Max entries Session History will hold per window
*/
attribute long maxLength;
/**
* Get the entry at a given index
*/
nsIHistoryEntry getEntryAtIndex(in long index, in boolean modifyIndex);
/**
* Purge the oldest numEntries from history list
*/
@ -102,4 +79,8 @@ interface nsISHistory: nsISupports
*/
void removeSHistoryListener(in nsISHistoryListener aListener);
/**
* Get a enumerator to access all the entries in SH
*/
readonly attribute nsISimpleEnumerator SHistoryEnumerator;
};