// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
{
"namespace": "history",
"types": [
{
"id": "HistoryItem",
"type": "object",
"description": "An object encapsulating one result of a history query.",
"properties": {
"id": {"type": "string", "minimum": 0, "description": "The unique identifier for the item."},
"url": {"type": "string", "optional": true, "description": "The URL navigated to by a user."},
"title": {"type": "string", "optional": true, "description": "The title of the page when it was last loaded."},
"lastVisitTime": {"type": "number", "optional": true, "description": "When this page was last loaded, represented in milliseconds since the epoch."},
"visitCount": {"type": "integer", "optional": true, "description": "The number of times the user has navigated to this page."},
"typedCount": {"type": "integer", "optional": true, "description": "The number of times the user has navigated to this page by typing in the address."}
}
},
{
"id": "VisitItem",
"type": "object",
"description": "An object encapsulating one visit to a URL.",
"properties": {
"id": {"type": "string", "minimum": 0, "description": "The unique identifier for the item."},
"visitId": {"type": "string", "description": "The unique identifier for this visit."},
"visitTime": {"type": "number", "optional": true, "description": "When this visit occurred, represented in milliseconds since the epoch."},
"referringVisitId": {"type": "string", "description": "The visit ID of the referrer."},
"transition": {
"type": "string",
"enum": ["link", "typed", "auto_bookmark", "auto_subframe", "manual_subframe", "generated", "auto_toplevel", "form_submit", "reload", "keyword", "keyword_generated"],
"description": "The transition type for this visit from its referrer."
}
}
}
],
"functions": [
{
"name": "search",
"type": "function",
"description": "Searches the history for the last visit time of each page matching the query.",
"parameters": [
{
"name": "query",
"type": "object",
"properties": {
"text": {"type": "string", "description": "A free-text query to the history service. Leave empty to retrieve all pages."},
"startTime": {"type": "number", "optional": true, "description": "Limit results to those visited after this date, represented in milliseconds since the epoch."},
"endTime": {"type": "number", "optional": true, "description": "Limit results to those visited before this date, represented in milliseconds since the epoch."},
"maxResults": {"type": "integer", "optional": true, "minimum": 0, "description": "The maximum number of results to retrieve. Defaults to 100."}
}
},
{
"name": "callback",
"type": "function",
"parameters": [
{ "name": "results", "type": "array", "items": { "$ref": "HistoryItem"} }
]
}
]
},
{
"name": "getVisits",
"type": "function",
"description": "Retrieves information about visits to a URL.",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"url": {"type": "string", "description": "The URL for which to retrieve visit information. It must be in the format as returned from a call to history.search."}
}
},
{
"name": "callback",
"type": "function",
"parameters": [
{ "name": "results", "type": "array", "items": { "$ref": "VisitItem"} }
]
}
]
},
{
"name": "addUrl",
"type": "function",
"description": "Adds a URL to the history at the current time with a transition type of \"link\".",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"url": {"type": "string", "description": "The URL to add."}
}
},
{
"name": "callback",
"type": "function",
"optional": true,
"parameters": []
}
]
},
{
"name": "deleteUrl",
"type": "function",
"description": "Removes all occurrences of the given URL from the history.",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"url": {"type": "string", "description": "The URL to remove."}
}
},
{
"name": "callback",
"type": "function",
"optional": true,
"parameters": []
}
]
},
{
"name": "deleteRange",
"type": "function",
"description": "Removes all items within the specified date range from the history. Pages will not be removed from the history unless all visits fall within the range.",
"parameters": [
{
"name": "range",
"type": "object",
"properties": {
"startTime": { "type": "number", "description": "Items added to history after this date, represented in milliseconds since the epoch." },
"endTime": { "type": "number", "description": "Items added to history before this date, represented in milliseconds since the epoch." }
}
},
{
"name": "callback", "type": "function", "parameters": []
}
]
},
{
"name": "deleteAll",
"type": "function",
"description": "Deletes all items from the history.",
"parameters": [
{
"name": "callback", "type": "function", "parameters": []
}
]
}
],
"events": [
{
"name": "onVisited",
"type": "function",
"description": "Fired when a URL is visited, providing the HistoryItem data for that URL. This event fires before the page has loaded.",
"parameters": [
{ "name": "result", "$ref": "HistoryItem"}
]
},
{
"name": "onVisitRemoved",
"type": "function",
"description": "Fired when one or more URLs are removed from the history service. When all visits have been removed the URL is purged from history.",
"parameters": [
{
"name": "removed",
"type": "object",
"properties": {
"allHistory": { "type": "boolean", "description": "True if all history was removed. If true, then urls will be empty." },
"urls": { "type": "array", "items": { "type": "string" }, "optional": true}
}
}
]
}
]
}
]