| Index: components/printing/common/printing.mojom
|
| diff --git a/components/printing/common/printing.mojom b/components/printing/common/printing.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..696a352c888b05e5ac1ba145de0c9abea849f252
|
| --- /dev/null
|
| +++ b/components/printing/common/printing.mojom
|
| @@ -0,0 +1,85 @@
|
| +// Copyright 2017 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 printing.mojom;
|
| +
|
| +import "mojo/common/file.mojom";
|
| +import "mojo/common/string16.mojom";
|
| +
|
| +[Native]
|
| +struct PwgRasterSettings;
|
| +
|
| +[Native]
|
| +struct PrinterCapsAndDefaults;
|
| +
|
| +[Native]
|
| +struct PrinterSemanticCapsAndDefaults;
|
| +
|
| +[Native]
|
| +struct LOGFONT; // Windows-only
|
| +
|
| +[Native]
|
| +struct PdfRenderSettings;
|
| +
|
| +// Called by the utility process to have the browser do font pre-caching.
|
| +interface FontPreCaching {
|
| + // Windows-only:
|
| +
|
| + // Request that the given font characters be loaded by the browser so it's
|
| + // cached by the OS. Please see
|
| + // PdfToEmfUtilityProcessHostClient::OnPreCacheFontCharacters for details.
|
| + [Sync]
|
| + PreCacheFontCharacters(LOGFONT font_data,
|
| + mojo.common.mojom.String16 characters) => ();
|
| +};
|
| +
|
| +// These are messages from the browser to the utility process.
|
| +interface Printing {
|
| + // Tell the utility process to render the given PDF into a PWGRaster. Returns
|
| + // whether the rendering the PDF to PWG succeeded or not.
|
| + RenderPDFPagesToPWGRaster(
|
| + mojo.common.mojom.File input_pdf_file,
|
| + PdfRenderSettings settings,
|
| + PwgRasterSettings bitmap_settings,
|
| + mojo.common.mojom.File output_pwg_file) => (bool success);
|
| +
|
| + // Tells the utility process to get capabilities and defaults for the
|
| + // specified printer. Used on Windows to isolate the service process from
|
| + // printer driver crashes by executing this in a separate process. This does
|
| + // not run in a sandbox. If the method fails |caps_and_defaults| will be null.
|
| + GetPrinterCapsAndDefaults(string printer_name) =>
|
| + (PrinterCapsAndDefaults? caps_and_defaults);
|
| +
|
| + // Tells the utility process to get capabilities and defaults for the
|
| + // specified printer. Used on Windows to isolate the service process from
|
| + // printer driver crashes by executing this in a separate process. This does
|
| + // not run in a sandbox. Returns result as
|
| + // printing::PrinterSemanticCapsAndDefaults. If the method fails
|
| + // |caps_and_defaults| will be null.
|
| + GetPrinterSemanticCapsAndDefaults(string printer_name) =>
|
| + (PrinterSemanticCapsAndDefaults? caps_and_defaults);
|
| +
|
| + // Windows-only:
|
| +
|
| + // Tell the utility process to start rendering the given PDF into a
|
| + // metafile. |page_count| is 0, if loading failed. Utility process would be
|
| + // alive until RenderPDFPagesToMetafiles_Stop is called.
|
| + RenderPDFPagesToMetafiles(
|
| + mojo.common.mojom.File input_file,
|
| + PdfRenderSettings settings,
|
| + bool print_text_with_gdi) => (int32 page_count);
|
| +
|
| + // Requests conversion of the next page.
|
| + RenderPDFPagesToMetafilesGetPage(int32 page_number,
|
| + mojo.common.mojom.File output_file) =>
|
| + (bool success, float scale_factor);
|
| +};
|
| +
|
| +// Create a printing interface. This is done using a factory so we can pass a
|
| +// |FontPreCaching| callback interface to the receiver side before any of the
|
| +// methods on |Printing| are called.
|
| +interface PrintingFactory {
|
| + // Creates a new connection using the |printing| pipe.
|
| + MakePrinting(Printing& printing, FontPreCaching? font_pre_caching);
|
| +};
|
|
|