Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: components/printing/common/printing.mojom

Issue 2477283002: Convert printing IPCs to Mojo
Patch Set: git cl format Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 module printing.mojom;
6
7 import "mojo/common/string16.mojom";
8
9 [Native]
10 struct PwgRasterSettings;
11
12 [Native]
13 struct PrinterCapsAndDefaults;
14
15 [Native]
16 struct PrinterSemanticCapsAndDefaults;
17
18 [Native]
19 struct LOGFONT; // Windows-only
20
21 [Native]
22 struct PdfRenderSettings;
23
24 // Called by the utility process to have the browser do font pre-caching.
25 interface FontPreCaching {
26 // Windows-only:
27
28 // Request that the given font characters be loaded by the browser so it's
29 // cached by the OS. Please see
30 // PdfToEmfUtilityProcessHostClient::OnPreCacheFontCharacters for details.
31 [Sync]
32 PreCacheFontCharacters(LOGFONT font_data,
33 mojo.common.mojom.String16 characters) => ();
34 };
35
36 // These are messages from the browser to the utility process.
37 interface Printing {
38 // Tell the utility process to render the given PDF into a PWGRaster. Returns
39 // whether the rendering the PDF to PWG succeeded or not.
40 RenderPDFPagesToPWGRaster(
41 handle input_pdf_file,
Sam McNally 2016/12/12 06:09:20 Use mojo.common.mojom.File for passing files aroun
tibell 2016/12/13 23:41:55 Done.
42 PdfRenderSettings settings,
43 PwgRasterSettings bitmap_settings,
44 handle output_pwg_file) => (bool success);
45
46 // Tells the utility process to get capabilities and defaults for the
47 // specified printer. Used on Windows to isolate the service process from
48 // printer driver crashes by executing this in a separate process. This does
49 // not run in a sandbox. If the method fails |caps_and_defaults| will be null.
50 GetPrinterCapsAndDefaults(string printer_name) =>
51 (PrinterCapsAndDefaults? caps_and_defaults);
52
53 // Tells the utility process to get capabilities and defaults for the
54 // specified printer. Used on Windows to isolate the service process from
55 // printer driver crashes by executing this in a separate process. This does
56 // not run in a sandbox. Returns result as
57 // printing::PrinterSemanticCapsAndDefaults. If the method fails
58 // |caps_and_defaults| will be null.
59 GetPrinterSemanticCapsAndDefaults(string printer_name) =>
60 (PrinterSemanticCapsAndDefaults? caps_and_defaults);
61
62 // Windows-only:
63
64 // Tell the utility process to start rendering the given PDF into a
65 // metafile. |page_count| is 0, if loading failed. Utility process would be
66 // alive until RenderPDFPagesToMetafiles_Stop is called.
67 //
68 // TODO(tibell): Use a null |page_count| for failure.
69 RenderPDFPagesToMetafiles(
70 handle input_file,
71 PdfRenderSettings settings,
72 bool print_text_with_gdi) => (int32 page_count);
73
74 // Requests conversion of the next page.
75 RenderPDFPagesToMetafilesGetPage(int32 page_number, handle output_file) =>
76 (bool success, float scale_factor);
77
78 // Requests utility process to stop conversion and exit.
79 RenderPDFPagesToMetafilesStop();
Sam McNally 2016/12/12 06:09:20 Why not use the closing of the connection to indic
tibell 2016/12/13 23:41:55 Done.
80 };
81
82 // Create a printing interface. This is done using a factory so we can pass a
83 // |FontPreCaching| callback interface to the receiver side before any of the
84 // methods on |Printing| are called.
85 interface PrintingFactory {
86 // Creates a new connection using the |printing| pipe.
87 MakePrinting(Printing& printing, FontPreCaching? font_pre_caching);
88 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698