summaryrefslogtreecommitdiffstats
path: root/browser/components/extensions/schemas/top_sites.json
blob: a2d86e9b06b0f4e9376b0523f239a03386e1d509 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[
  {
    "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 <code>url</code> for a normal page link, or <code>search</code> 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"
                }
              }
            ]
          }
        ]
      }
    ]
  }
]