Chromium Code Reviews| Index: components/mus/public/interfaces/clipboard.mojom |
| diff --git a/components/mus/public/interfaces/clipboard.mojom b/components/mus/public/interfaces/clipboard.mojom |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0e7c67581a94e5e1a448925c3b3641f834cd8db9 |
| --- /dev/null |
| +++ b/components/mus/public/interfaces/clipboard.mojom |
| @@ -0,0 +1,50 @@ |
| +// Copyright 2016 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. |
| + |
| +module mus.mojom; |
| + |
| +interface Clipboard { |
| + enum Type { |
| + COPY_PASTE = 0, |
| + SELECTION = 1, |
| + DRAG = 2 |
| + }; |
| + |
| + // Mime type constants |
| + const string MIME_TYPE_TEXT = "text/plain"; |
| + const string MIME_TYPE_HTML = "text/html"; |
| + const string MIME_TYPE_URL = "text/url"; |
| + |
| + // Returns a sequence number which uniquely identifies clipboard state. |
| + // Clients are able to assume that the clipboard contents are unchanged as |
| + // long as this number has not changed. This number is monotonically |
| + // increasing, is increased when the clipboard state changes, and is |
| + // provided by Windows, Linux, and Mac. |
| + [Sync] |
|
sky
2016/05/19 15:33:46
Your earlier patch didn't have these sync. Why the
Elliot Glaysher
2016/05/19 18:26:48
The previous patch manually spun up RunLoops and w
|
| + GetSequenceNumber(Type clipboard_type) => (uint64 sequence); |
| + |
| + // Returns the available mime types, and the current sequence number. |
| + [Sync] |
| + GetAvailableMimeTypes(Type clipboard_types) |
| + => (uint64 sequence, array<string> types); |
| + |
| + // If the current sequence number is still |sequence|, returns true and the |
| + // current data associated with the requested Mime type. When the sequence |
| + // number has changed (because new data has been written to the clipboard), |
| + // returns false and null for |data|. |
| + // |
| + // We don't want to provide one API to return the entire clipboard state |
| + // because the combined size of the clipboard can be megabytes, especially |
| + // when image data is involved. |
| + [Sync] |
| + ReadMimeType(uint64 sequence, Type clipboard_type, string mime_type) |
| + => (bool sequence_valid, array<uint8>? data); |
| + |
| + // Writes a set of mime types to the clipboard. This will increment the |
| + // sequence number and return that. In the case of an empty or null map, |
| + // this will just clear the clipboard. |
| + [Sync] |
| + WriteClipboardData(Type clipboard_type, map<string, array<uint8>>? data) |
| + => (uint64 sequence); |
| +}; |