Bug 1942006 - Upstream a variety of Servo-specific code from Servo's downstream fork...
[gecko.git] / widget / PClipboardContentAnalysis.ipdl
blobe4249285689acdfc41b028029f6e8072d83d2970
1 /* -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 include IPCTransferable;
8 include protocol PContent;
10 include "mozilla/widget/WidgetMessageUtils.h";
12 using nsIClipboard::ClipboardType from "nsIClipboard.h";
14 namespace mozilla {
16 [ChildProc=Content]
17 sync protocol PClipboardContentAnalysis
19 parent:
20     // Given a list of supported types, returns the clipboard data for the
21     // first type that matches.
22     // aRequestingWindowContextId is the ID of the window that is requesting
23     // the clipboard, which is used for content analysis.
24     sync GetClipboard(nsCString[] aTypes, ClipboardType aWhichClipboard,
25                       uint64_t aRequestingWindowContextId)
26         returns (IPCTransferableDataOrError transferableDataOrError);
28     // Requests getting data from clipboard.
29     // aRequestingWindowContextId is the ID of the window that is requesting
30     // the clipboard, which is used for content analysis.
31     sync GetAllClipboardDataSync(nsCString[] aTypes, ClipboardType aWhichClipboard,
32                                  uint64_t aRequestingWindowContextId)
33         returns (IPCTransferableDataOrError transferableDataOrError);