• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5[
6  {
7    "namespace": "activityLogPrivate",
8    "description": "none",
9    "types": [
10      {
11        "id": "ExtensionActivity",
12        "type": "object",
13        "description": "This corresponds to a row from the ActivityLog database. Fields will be blank if they were specified precisely in a lookup filter.",
14        "properties": {
15          "activityId": {"type": "string", "optional": true, "description": "An ID of a row in the ActivityLog database that corresponds to the activity. ID is set only on activities retrieved from the database."},
16          "extensionId": {"type": "string", "optional": true},
17          "activityType": {"type": "string", "enum": ["api_call", "api_event", "content_script", "dom_access", "dom_event", "web_request"]},
18          "time": {"type": "number", "optional": true},
19          "apiCall": {"type": "string", "optional": true},
20          "args": {"type": "string", "optional": true},
21          "count": {"type": "number", "optional": true},
22          "pageUrl": {"type": "string", "optional": true},
23          "pageTitle": {"type": "string", "optional": true},
24          "argUrl": {"type": "string", "optional": true},
25          "other": {
26            "type": "object",
27            "optional": true,
28            "properties": {
29              "prerender": {"type": "boolean", "optional": true},
30              "domVerb": {"type": "string", "enum": ["getter", "setter", "method", "inserted", "xhr", "webrequest", "modified"], "optional": true},
31              "webRequest": {"type": "string", "optional": true},
32              "extra": {"type": "string", "optional": true}
33            }
34          }
35        }
36      },
37      {
38        "id": "Filter",
39        "type": "object",
40        "description": "Used to specify values for a lookup.",
41        "properties": {
42          "extensionId": {"type": "string", "optional": true, "description": "Exact match"},
43          "activityType": {"type": "string", "enum": ["api_call", "api_event", "content_script", "dom_access", "dom_event", "web_request", "any"], "description": "Exact match or any"},
44          "apiCall": {"type": "string", "optional": true, "description": "Exact match"},
45          "pageUrl": {"type": "string", "optional": true, "description": "Treated as a prefix"},
46          "argUrl": {"type": "string", "optional": true, "description": "Treated as a prefix"},
47          "daysAgo": {"type": "integer", "optional": true, "description": "Used to lookup a precise day; today is 0"}
48        }
49      },
50      {
51        "id": "ActivityResultSet",
52        "type": "object",
53        "description": "This holds the results of a lookup, the filter of the lookup, the time of the lookup, and whether there are more results that match.",
54        "properties": {
55          "activities": {"type": "array", "items": {"$ref": "ExtensionActivity"}}
56        }
57      }
58    ],
59    "functions": [
60      {
61        "name": "getExtensionActivities",
62        "type": "function",
63        "description": "Retrieves activity from the ActivityLog that matches the specified filter.",
64        "parameters": [
65          {
66            "name": "filter",
67            "$ref": "Filter",
68            "description": "Fill out the fields that you want to search for in the database."
69          },
70          {
71            "name": "callback",
72            "type": "function",
73            "parameters": [
74              {
75                "name": "result",
76                "$ref": "ActivityResultSet"
77              }
78            ]
79          }
80        ]
81      },
82      {
83        "name": "deleteActivities",
84        "type": "function",
85        "description": "Deletes activities in the ActivityLog database specified in the array of activity IDs.",
86        "parameters": [
87          {
88            "name": "activityIds",
89            "type": "array",
90            "items": { "type": "string" },
91            "description": "Erases only the activities which IDs are listed in the array."
92          }
93        ]
94      },
95      {
96        "name": "deleteDatabase",
97        "type": "function",
98        "description": "Deletes the entire ActivityLog database.",
99        "parameters": []
100      },
101      {
102        "name": "deleteUrls",
103        "type": "function",
104        "description": "Delete URLs in the ActivityLog database.",
105        "parameters": [
106          {
107            "name": "urls",
108            "type": "array",
109            "items": { "type": "string" },
110            "description": "Erases only the URLs listed; if empty, erases all URLs.",
111            "optional": true
112          }
113        ]
114      }
115    ],
116    "events": [
117      {
118        "name": "onExtensionActivity",
119        "type": "function",
120        "description": "Fired when a given extension performs another activity.",
121        "parameters": [
122          {
123            "name": "activity",
124            "$ref": "ExtensionActivity"
125          }
126        ]
127      }
128    ]
129  }
130]
131