| Index: extensions/common/api/web_request.json
|
| diff --git a/extensions/common/api/web_request.json b/extensions/common/api/web_request.json
|
| index 200bfa9f9a3455cdc79a04adb5b0d50ee17e7c6d..f76e9411d3902072b3e8df8bb0684252095260d5 100644
|
| --- a/extensions/common/api/web_request.json
|
| +++ b/extensions/common/api/web_request.json
|
| @@ -14,6 +14,51 @@
|
| },
|
| "types": [
|
| {
|
| + "id": "ResourceType",
|
| + "type": "string",
|
| + "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"]
|
| + },
|
| + {
|
| + "id": "OnBeforeRequestOptions",
|
| + "type": "string",
|
| + "enum": ["blocking", "requestBody"]
|
| + },
|
| + {
|
| + "id": "OnBeforeSendHeadersOptions",
|
| + "type": "string",
|
| + "enum": ["requestHeaders", "blocking"]
|
| + },
|
| + {
|
| + "id": "OnSendHeadersOptions",
|
| + "type": "string",
|
| + "enum": ["requestHeaders"]
|
| + },
|
| + {
|
| + "id": "OnHeadersReceivedOptions",
|
| + "type": "string",
|
| + "enum": ["blocking", "responseHeaders"]
|
| + },
|
| + {
|
| + "id": "OnAuthRequiredOptions",
|
| + "type": "string",
|
| + "enum": ["responseHeaders", "blocking", "asyncBlocking"]
|
| + },
|
| + {
|
| + "id": "OnResponseStartedOptions",
|
| + "type": "string",
|
| + "enum": ["responseHeaders"]
|
| + },
|
| + {
|
| + "id": "OnBeforeRedirectOptions",
|
| + "type": "string",
|
| + "enum": ["responseHeaders"]
|
| + },
|
| + {
|
| + "id": "OnCompletedOptions",
|
| + "type": "string",
|
| + "enum": ["responseHeaders"]
|
| + },
|
| + {
|
| "id": "RequestFilter",
|
| "type": "object",
|
| "description": "An object describing filters to apply to webRequest events.",
|
| @@ -27,7 +72,7 @@
|
| "type": "array",
|
| "optional": true,
|
| "description": "A list of request types. Requests that cannot match any of the types will be filtered out.",
|
| - "items": { "type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"] }
|
| + "items": { "$ref": "ResourceType" }
|
| },
|
| "tabId": { "type": "integer", "optional": true },
|
| "windowId": { "type": "integer", "optional": true }
|
| @@ -157,7 +202,7 @@
|
| }
|
| },
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."}
|
| }
|
| }
|
| @@ -174,8 +219,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["blocking", "requestBody"]
|
| + "$ref": "OnBeforeRequestOptions"
|
| }
|
| }
|
| ],
|
| @@ -201,7 +245,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "requestHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP request headers that are going to be sent out with this request."}
|
| }
|
| @@ -219,8 +263,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["requestHeaders", "blocking"]
|
| + "$ref": "OnBeforeSendHeadersOptions"
|
| }
|
| }
|
| ],
|
| @@ -246,7 +289,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "requestHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP request headers that have been sent out with this request."}
|
| }
|
| @@ -264,8 +307,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["requestHeaders"]
|
| + "$ref": "OnSendHeadersOptions"
|
| }
|
| }
|
| ]
|
| @@ -286,7 +328,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line)."},
|
| "responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that have been received with this response."},
|
| @@ -306,8 +348,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["blocking", "responseHeaders"]
|
| + "$ref": "OnHeadersReceivedOptions"
|
| }
|
| }
|
| ],
|
| @@ -333,7 +374,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "scheme": {"type": "string", "description": "The authentication scheme, e.g. Basic or Digest."},
|
| "realm": {"type": "string", "description": "The authentication realm provided by the server, if there is one.", "optional": true},
|
| @@ -365,8 +406,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["responseHeaders", "blocking", "asyncBlocking"]
|
| + "$ref": "OnAuthRequiredOptions"
|
| }
|
| }
|
| ],
|
| @@ -392,7 +432,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
|
| "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
|
| @@ -414,8 +454,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["responseHeaders"]
|
| + "$ref": "OnResponseStartedOptions"
|
| }
|
| }
|
| ]
|
| @@ -436,7 +475,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
|
| "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
|
| @@ -459,8 +498,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["responseHeaders"]
|
| + "$ref": "OnBeforeRedirectOptions"
|
| }
|
| }
|
| ]
|
| @@ -481,7 +519,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
|
| "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
|
| @@ -503,8 +541,7 @@
|
| "name": "extraInfoSpec",
|
| "description": "Array of extra information that should be passed to the listener function.",
|
| "items": {
|
| - "type": "string",
|
| - "enum": ["responseHeaders"]
|
| + "$ref": "OnCompletedOptions"
|
| }
|
| }
|
| ]
|
| @@ -524,7 +561,7 @@
|
| "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
|
| "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
|
| "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
|
| - "type": {"type": "string", "enum": ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"], "description": "How the requested resource will be used."},
|
| + "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
|
| "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
|
| "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
|
| "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
|
|
|