There are two types of history asset lists, one used for adding/modiyfing/verifying history, and the other for deleting history.
The history list used for operations other than delete has the following properties:
- uri: required.
- title: optional. The page title for this uri.
- visits: required. An array of objects representing visits to the page, each object has the following properties:
- type: required. An integer value from one of the transition types listed at https://developer.mozilla.org/en/nsINavHistoryService#Constants.
- date: required. An integer representing when the visit took place, expressed in hours from the present. For example, 0 is now, -24 is 24 hours in the past.
For example:
var history_initial = [ { uri: "https://www.google.com/", title: "Google", visits: [ { type: 1, date: 0 }, { type: 2, date: -1 } ] }, { uri: "https://www.cnn.com/", title: "CNN", visits: [ { type: 1, date: -1 }, { type: 2, date: -36 } ] }, ];
The history list used for deletions looks different. It's an array of objects, each of which represents a type of history to delete. There are three different types:
- to delete all references to a specific page from history, use an object with a uri property
- to delete all references to all pages from a specific host, use an object with a host property
- to delete all history in a certain time period, use an object with begin and end properties, which should have integer values that express time since the present in hours (see date above)
For example:
var history_to_delete = [ { uri: "https://www.cnn.com/" }, { begin: -24, end: -1 }, { host: "www.google.com" } ];
History lists and phase actions
History lists cannot be modified, they can only be added, deleted, and verified, using the following functions:
- History.add
- History.delete
- History.verify
- History.verifyNot