Home | History | Annotate | Download | only in api
      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