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 |