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