/* 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/. */
[
{
"namespace": "manifest",
"types": [
{
"$extend": "OptionalPermission",
"choices": [
{
"type": "string",
"enum": ["topSites"]
}
]
}
]
},
{
"namespace": "topSites",
"description": "Use the chrome.topSites API to access the top sites that are displayed on the new tab page. ",
"permissions": ["topSites"],
"types": [
{
"id": "MostVisitedURL",
"type": "object",
"description": "An object encapsulating a most visited URL, such as the URLs on the new tab page.",
"properties": {
"url": {
"type": "string",
"description": "The most visited URL."
},
"title": {
"type": "string",
"optional": true,
"description": "The title of the page."
},
"favicon": {
"type": "string",
"optional": true,
"description": "Data URL for the favicon, if available."
},
"type": {
"type": "string",
"enum": ["url", "search"],
"optional": true,
"default": "url",
"description": "The entry type, either url
for a normal page link, or search
for a search shortcut."
}
}
}
],
"functions": [
{
"name": "get",
"type": "function",
"description": "Gets a list of top sites.",
"async": "callback",
"parameters": [
{
"type": "object",
"name": "options",
"properties": {
"providers": {
"type": "array",
"items": { "type": "string" },
"deprecated": "Please use the other options to tune the results received from topSites.",
"default": [],
"optional": true
},
"limit": {
"type": "integer",
"default": 12,
"maximum": 100,
"minimum": 1,
"optional": true,
"description": "The number of top sites to return, defaults to the value used by Firefox"
},
"onePerDomain": {
"type": "boolean",
"default": true,
"optional": true,
"description": "Limit the result to a single top site link per domain"
},
"includeBlocked": {
"type": "boolean",
"default": false,
"optional": true,
"description": "Include sites that the user has blocked from appearing on the Firefox new tab."
},
"includeFavicon": {
"type": "boolean",
"default": false,
"optional": true,
"description": "Include sites favicon if available."
},
"includePinned": {
"type": "boolean",
"default": false,
"optional": true,
"description": "Include sites that the user has pinned on the Firefox new tab."
},
"includeSearchShortcuts": {
"type": "boolean",
"default": false,
"optional": true,
"description": "Include search shortcuts appearing on the Firefox new tab."
},
"newtab": {
"type": "boolean",
"default": false,
"optional": true,
"description": "Return the sites that exactly appear on the user's new-tab page. When true, all other options are ignored except limit and includeFavicon. If the user disabled newtab Top Sites, the newtab parameter will be ignored."
}
},
"default": {},
"optional": true
},
{
"name": "callback",
"type": "function",
"parameters": [
{
"name": "results",
"type": "array",
"items": {
"$ref": "MostVisitedURL"
}
}
]
}
]
}
]
}
]