OLD | NEW |
(Empty) | |
| 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 module mojo { |
| 6 |
| 7 // A wrapper type which is just a Key/Value pair. Workaround until we get |
| 8 // proper maps in mojom. |
| 9 struct MimeTypePair { |
| 10 string mime_type; |
| 11 uint8[] data; |
| 12 }; |
| 13 |
| 14 interface Clipboard { |
| 15 enum Type { |
| 16 COPY_PASTE = 0, |
| 17 SELECTION = 1, |
| 18 DRAG = 2 |
| 19 }; |
| 20 |
| 21 // Mime type constants |
| 22 const string MIME_TYPE_TEXT = "text/plain"; |
| 23 const string MIME_TYPE_HTML = "text/html"; |
| 24 const string MIME_TYPE_URL = "text/url"; |
| 25 |
| 26 // Returns a sequence number which uniquely identifies clipboard state. |
| 27 // Clients are able to assume that the clipboard contents are unchanged as |
| 28 // long as this number has not changed. This number is monotonically |
| 29 // increasing, is increased when the clipboard state changes, and is |
| 30 // provided by Windows, Linux, and Mac. |
| 31 GetSequenceNumber(Type clipboard_type) => (uint64 sequence); |
| 32 |
| 33 // Returns the available mime types. (Note: the chrome interface has a |
| 34 // |contains_filenames| parameter here, but it appears to always be set |
| 35 // to false.) |
| 36 GetAvailableMimeTypes(Type clipboard_types) => (string[] types); |
| 37 |
| 38 // Returns the data associated with a Mime type, returning NULL if that data |
| 39 // doesn't exist. Note: because of the inherit raciness of clipboard access, |
| 40 // this may return NULL even if you just verified that it exists with |
| 41 // GetAvailableFormatMimeTypes(). We don't want to provide one API to return |
| 42 // the entire clipboard state because the combined size of the clipboard can |
| 43 // be megabytes, especially when image data is involved. |
| 44 ReadMimeType(Type clipboard_type, string mime_type) => (uint8[]? data); |
| 45 |
| 46 // Writes a set of mime types to the clipboard. This will increment the |
| 47 // sequence number. In the case of an empty or NULL list, this will just |
| 48 // clear the clipboard. |
| 49 WriteClipboardData(Type clipboard_type, MimeTypePair[]? data); |
| 50 }; |
| 51 |
| 52 } // module mojo |
OLD | NEW |