nsISHistoryListener defines the interface one can implement to receive
notifications about activities in session history and to be able to
cancel them.
A session history listener will be notified when pages are added, removed
and loaded from session history. It can prevent any action (except adding
a new session history entry) from happening by returning false from the
corresponding callback method.
A session history listener can be registered on a particular nsISHistory
instance via the nsISHistory::addSHistoryListener() method.
Called when a new document is added to session history. New documents are
added to session history by docshell when new pages are loaded in a frame
or content area, for example via nsIWebNavigation::loadURI()
aNewURI | The URI of the document to be added to session history. |
Called when navigating to a previous session history entry, for example
due to a nsIWebNavigation::goBack() call.
aBackURI | The URI of the session history entry being navigated to. |
Whether the operation can proceed. |
Called when navigating to a next session history entry, for example
due to a nsIWebNavigation::goForward() call.
aForwardURI | The URI of the session history entry being navigated to. |
Whether the operation can proceed. |
Called when the current document is reloaded, for example due to a
nsIWebNavigation::reload() call.
@see nsIWebNavigation
aReloadURI | The URI of the document to be reloaded. |
aReloadFlags | Flags that indicate how the document is to be refreshed. See constants on the nsIWebNavigation interface. |
Whether the operation can proceed. |
Called when navigating to a session history entry by index, for example,
when nsIWebNavigation::gotoIndex() is called.
aIndex | The index in session history of the entry to be loaded. |
aGotoURI | The URI of the session history entry to be loaded. |
Whether the operation can proceed. |
Called when entries are removed from session history. Entries can be
removed from session history for various reasons, for example to control
the memory usage of the browser, to prevent users from loading documents
from history, to erase evidence of prior page loads, etc.
To purge documents from session history call nsISHistory::PurgeHistory()
aNumEntries | The number of entries to be removed from session history. |
Whether the operation can proceed. |
Called when an entry is replaced in the session history. Entries are
replaced when navigating away from non-persistent history entries (such as
about pages) and when history.replaceState is called.
aIndex | The index in session history of the entry being replaced |