| Index: extensions/common/api/mime_handler.mojom
 | 
| diff --git a/extensions/common/api/mime_handler.mojom b/extensions/common/api/mime_handler.mojom
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..30031e633f9c87c55d0ffcad35fcaeb4cded3266
 | 
| --- /dev/null
 | 
| +++ b/extensions/common/api/mime_handler.mojom
 | 
| @@ -0,0 +1,40 @@
 | 
| +// Copyright 2015 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.
 | 
| +
 | 
| +module extensions.mime_handler;
 | 
| +
 | 
| +// Information about a stream.
 | 
| +struct StreamInfo {
 | 
| +  // The MIME type of the intercepted URL request.
 | 
| +  string mime_type;
 | 
| +
 | 
| +  // The original URL that was intercepted.
 | 
| +  string original_url;
 | 
| +
 | 
| +  // The URL that the stream can be read from.
 | 
| +  string stream_url;
 | 
| +
 | 
| +  // The ID of the tab that opened the stream. If the stream is not opened in a
 | 
| +  // tab, it will be -1.
 | 
| +  int32 tab_id;
 | 
| +
 | 
| +  // 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
 | 
| +  // ",".
 | 
| +  map<string, string> response_headers;
 | 
| +
 | 
| +  // Whether the stream is embedded within another document.
 | 
| +  bool embedded;
 | 
| +};
 | 
| +
 | 
| +interface MimeHandlerService {
 | 
| +  // Returns information about the stream associated with this service instance.
 | 
| +  // If the stream has been aborted, |stream_info| will be null.
 | 
| +  GetStreamInfo() => (StreamInfo? stream_info);
 | 
| +
 | 
| +  // Aborts the stream associated with this service instance. This is an
 | 
| +  // idempotent operation.
 | 
| +  AbortStream() => ();
 | 
| +};
 | 
| 
 |