blob: 11ea94683c44dac1a269cb7aa3a43dea85e69a89 [file] [log] [blame]
// 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.
// Next MinVersion: 4
module arc.mojom;
// |ClipData| contains one or more |ClipRepresentation| objects. Each
// |ClipRepresentation| has a |mime_type| and a |ClipValue|. |ClipValue| is
// either a |blob| or a |text|.
// Value for |ClipRepresentation|.
// Next ID: 2
union ClipValue {
// For images and other opaque structures.
array<uint8> blob@0;
// For html, text and other text-based representations.
string text@1;
};
// One possible representation of the |ClipData|: |mime_type| + its |value|.
// Next ID: 2
struct ClipRepresentation {
// The mime type.
string mime_type@0;
// And its value.
ClipValue value@1;
};
// The |ClipData| to transfer.
// Next ID: 1
struct ClipData {
// A |ClipData| could have multiple representations.
// Example: an image could be represented by an image/png and a text/html
array<ClipRepresentation> representations@0;
};
// Next method ID: 5
// Deprecated method IDs: 0, 1, 3
interface ClipboardHost {
// Tells the host to update its clipboard content, usually when the user
// initiates a 'copy' action.
[MinVersion=1] SetClipContent@2(ClipData data);
// Tells the host to return its clipboard content, usually when the user
// initiates a 'paste' action or when the instance needs to re-sync its
// clipboard content with the host.
[MinVersion=3] GetClipContent@4() => (ClipData data);
};
// Next method ID: 4
// Deprecated method IDs: 1
interface ClipboardInstance {
// DEPRECATED: Please use Init@3 instead.
InitDeprecated@0(ClipboardHost host_ptr);
// Establishes full-duplex communication with the host.
[MinVersion=2] Init@3(ClipboardHost host_ptr) => ();
// Tells that the Host clipboard has been updated.
[MinVersion=1] OnHostClipboardUpdated@2();
};