gecko-dev/docshell/base/nsIGlobalHistory2.idl
2012-05-21 12:12:37 +01:00

60 lines
2.0 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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/. */
/**
* Provides information about global history to gecko.
*
* @note This interface replaces and deprecates nsIGlobalHistory.
*/
#include "nsISupports.idl"
interface nsIURI;
%{ C++
// nsIObserver topic to fire when you add new visited URIs to the history;
// the nsIURI is the subject
#define NS_LINK_VISITED_EVENT_TOPIC "link-visited"
%}
[scriptable, uuid(cf777d42-1270-4b34-be7b-2931c93feda5)]
interface nsIGlobalHistory2 : nsISupports
{
/**
* Add a URI to global history
*
* @param aURI the URI of the page
* @param aRedirect whether the URI was redirected to another location;
* this is 'true' for the original URI which is
* redirected.
* @param aToplevel whether the URI is loaded in a top-level window
* @param aReferrer the URI of the referring page
*
* @note Docshell will not filter out URI schemes like chrome: data:
* about: and view-source:. Embedders should consider filtering out
* these schemes and others, e.g. mailbox: for the main URI and the
* referrer.
*/
void addURI(in nsIURI aURI, in boolean aRedirect, in boolean aToplevel, in nsIURI aReferrer);
/**
* Checks to see whether the given URI is in history.
*
* @param aURI the uri to the page
* @return true if a URI has been visited
*/
boolean isVisited(in nsIURI aURI);
/**
* Set the page title for the given uri. URIs that are not already in
* global history will not be added.
*
* @param aURI the URI for which to set to the title
* @param aTitle the page title
*/
void setPageTitle(in nsIURI aURI, in AString aTitle);
};