1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6namespace mozilla {
7namespace widget {
8
9
10/**
11 * A protocol for communicating with the PDFium processes. Useful for
12 * converting a PDF file to EMF contents.
13 *
14 * PDFium processes are created on-demand as necessary.
15 */
16protocol PPDFium
17{
18parent:
19  /**
20   * Called by the PDFium process once the PDF has been converted to EMF.
21   */
22  async ConvertToEMFDone(nsresult aResult, Shmem aEMFContents);
23
24child:
25  /**
26   * Start to convert a PDF file to EMF contents.
27   */
28  async ConvertToEMF(FileDescriptor aFD, int aPageWidth, int aPageHeight);
29};
30
31} // namespace widget
32} // namespace mozilla
33