| // 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. |
| |
| // Mime handler API. |
| [nodoc] namespace mimeHandlerPrivate { |
| 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 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 ", ". Non-ASCII headers are dropped. |
| object responseHeaders; |
| |
| // Whether the stream is embedded within another document. |
| boolean embedded; |
| }; |
| |
| callback GetStreamDetailsCallback = void (StreamInfo streamInfo); |
| callback SetShowBeforeUnloadDialogCallback = void (); |
| |
| interface Functions { |
| // Returns the StreamInfo for the stream for this context if there is one. |
| [nocompile] static void getStreamInfo(GetStreamDetailsCallback callback); |
| |
| // Instructs the PluginDocument, if running in one, to show a dialog in |
| // response to beforeunload events. |
| [nocompile] static void setShowBeforeUnloadDialog( |
| boolean showDialog, |
| optional SetShowBeforeUnloadDialogCallback callback); |
| }; |
| |
| interface Events { |
| // Fired when the browser wants the listener to perform a save. |
| // |streamUrl|: Unique ID for the instance that should perform the save. |
| static void onSave(DOMString streamUrl); |
| }; |
| }; |