1 // Copyright 2014 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 // Streams Private API. 6 namespace streamsPrivate { 7 dictionary StreamInfo { 8 // The MIME type of the intercepted URL request. 9 DOMString mimeType; 10 11 // The original URL that was intercepted. 12 DOMString originalUrl; 13 14 // The URL that the stream can be read from. 15 DOMString streamUrl; 16 17 // The ID of the tab that opened the stream. If the stream is not opened in 18 // a tab, it will be -1. 19 long tabId; 20 21 // The ID of the view that will render the stream, if the viewer was opened 22 // in a plugin. 23 DOMString? viewId; 24 25 // The amount of data the Stream should contain, if known. If there is no 26 // information on the size it will be -1. 27 long expectedContentSize; 28 29 // The HTTP response headers of the intercepted request stored as a 30 // dictionary mapping header name to header value. If a header name appears 31 // multiple times, the header values are merged in the dictionary and 32 // separated by a ", ". 33 object responseHeaders; 34 }; 35 36 callback AbortCallback = void (); 37 38 interface Functions { 39 // Abort the URL request on the given stream. 40 // |streamUrl| : The URL of the stream to abort. 41 // |callback| : Called when the stream URL is guaranteed to be invalid. The 42 // underlying URL request may not yet have been aborted when this is run. 43 static void abort(DOMString streamUrl, 44 optional AbortCallback callback); 45 }; 46 47 interface Events { 48 // Fired when a resource is fetched which matches a mime type handled by 49 // this extension. The resource request is cancelled, and the extension is 50 // expected to handle the request. The event is restricted to a small number 51 // of white-listed extensions. 52 static void onExecuteMimeTypeHandler(StreamInfo streamInfo); 53 }; 54 }; 55