blob: 88af71aa17de16821223683fef67b4f6549d8758 [file] [log] [blame]
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://w3c.github.io/clipboard-apis/#clipboard-interface
dictionary ClipboardReadOptions {
// https://chromestatus.com/feature/5203433409871872
// If types is provided, only the specified MIME types will be fetched.
// If `types` is an empty sequence (e.g. []), no clipboard read operation will be
// performed. If `types` is undefined, all available MIME types will be
// read.
[RuntimeEnabled=SelectiveClipboardFormatRead] sequence<DOMString>? types;
sequence<DOMString> unsanitized;
};
[
SecureContext,
Exposed=Window
] interface Clipboard : EventTarget {
[MeasureAs=AsyncClipboardAPIRead,
CallWith=ScriptState,
RaisesException
] Promise<sequence<ClipboardItem>> read();
[MeasureAs=AsyncClipboardAPIUnsanitizedRead,
CallWith=ScriptState,
RaisesException
] Promise<sequence<ClipboardItem>> read(ClipboardReadOptions options);
[MeasureAs=AsyncClipboardAPIReadText,
CallWith=ScriptState,
RaisesException
] Promise<DOMString> readText();
[MeasureAs=AsyncClipboardAPIWrite,
CallWith=ScriptState,
RaisesException
] Promise<undefined> write(sequence<ClipboardItem> data);
[MeasureAs=AsyncClipboardAPIWriteText,
CallWith=ScriptState,
RaisesException
] Promise<undefined> writeText(DOMString data);
[RuntimeEnabled=ClipboardChangeEvent] attribute EventHandler onclipboardchange;
};