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."}, |