blob: 3ad72dc74632c42c8661a626d9aa344bf79b63e0 [file] [log] [blame]
// 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;
};
dictionary PdfPluginAttributes {
// The background color in ARGB format for painting. Since the background
// color is an unsigned 32-bit integer which can be outside the range of
// "long" type, define it as a "double" type here.
double backgroundColor;
// Indicates whether the plugin allows to execute JavaScript and maybe XFA.
// Loading XFA for PDF forms will automatically be disabled if this flag is
// false.
boolean allowJavascript;
};
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);
// Sets PDF plugin attributes in the stream for this context if there is
// one.
[nocompile] static void setPdfPluginAttributes(
PdfPluginAttributes pdfPluginAttributes);
// 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);
};
};