| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Streams Private API. |
| namespace streamsPrivate { |
| dictionary StreamInfo { |
| // The MIME type of the intercepted URL request. |
| DOMString mimeType; |
| |
| // The original URL that was intercepted. |
| DOMString originalUrl; |
| |
| // The URL that the stream can be read from. |
| DOMString streamUrl; |
| |
| // The ID of the tab that opened the stream. If the stream is not opened in |
| // a tab, it will be -1. |
| long tabId; |
| |
| // The ID of the view that will render the stream, if the viewer was opened |
| // in a plugin. |
| DOMString? viewId; |
| |
| // The amount of data the Stream should contain, if known. If there is no |
| // information on the size it will be -1. |
| long expectedContentSize; |
| |
| // The HTTP response headers of the intercepted request stored as a |
| // dictionary mapping header name to header value. If a header name appears |
| // multiple times, the header values are merged in the dictionary and |
| // separated by a ", ". |
| object responseHeaders; |
| }; |
| |
| callback AbortCallback = void (); |
| |
| interface Functions { |
| // Abort the URL request on the given stream. |
| // |streamUrl| : The URL of the stream to abort. |
| // |callback| : Called when the stream URL is guaranteed to be invalid. The |
| // underlying URL request may not yet have been aborted when this is run. |
| static void abort(DOMString streamUrl, |
| optional AbortCallback callback); |
| }; |
| |
| interface Events { |
| // Fired when a resource is fetched which matches a mime type handled by |
| // this extension. The resource request is cancelled, and the extension is |
| // expected to handle the request. The event is restricted to a small number |
| // of white-listed extensions. |
| static void onExecuteMimeTypeHandler(StreamInfo streamInfo); |
| }; |
| }; |