author Ed Morley <>
Fri, 28 Feb 2014 15:31:07 +0000
changeset 182275 10992841577e4869f91c328f3ae7bf4aeda9bb8e
parent 96742 f4157e8c410708d76703f19e4dfb61859bfe32d8
permissions -rw-r--r--
Backed out changeset 5056b4811257 (bug 976648) for errors during configure; CLOSED TREE

/* -*- 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 */

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