• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
6namespace 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