/* 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/. */ #include "nsISupports.idl" interface nsIFile; interface mozIStorageConnection; /** * The nsIFormHistory object is a service which holds a set of name/value * pairs. The names correspond to form field names, and the values correspond * to values the user has submitted. So, several values may exist for a single * name. * * Note: this interface provides no means to access stored values. * Stored values are used by the FormFillController to generate * autocomplete matches. * * @deprecated use FormHistory.jsm instead. */ [scriptable, uuid(5d7d84d1-9798-4016-bf61-a32acf09b29d)] interface nsIFormHistory2 : nsISupports { /** * Returns true if the form history has any entries. */ readonly attribute boolean hasEntries; /** * Adds a name and value pair to the form history. */ void addEntry(in AString name, in AString value); /** * Removes a name and value pair from the form history. */ void removeEntry(in AString name, in AString value); /** * Removes all entries that are paired with a name. */ void removeEntriesForName(in AString name); /** * Removes all entries in the entire form history. */ void removeAllEntries(); /** * Returns true if there is no entry that is paired with a name. */ boolean nameExists(in AString name); /** * Gets whether a name and value pair exists in the form history. */ boolean entryExists(in AString name, in AString value); /** * Removes entries that were created between the specified times. * * @param aBeginTime * The beginning of the timeframe, in microseconds * @param aEndTime * The end of the timeframe, in microseconds */ void removeEntriesByTimeframe(in long long aBeginTime, in long long aEndTime); /** * Returns the underlying DB connection the form history module is using. */ readonly attribute mozIStorageConnection DBConnection; };