/* -*- 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); };