[M120 Migration][VD] Remove accessing oom_score_adj in zygote process
[platform/framework/web/chromium-efl.git] / printing / printing_context_linux.h
1 // Copyright 2014 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef PRINTING_PRINTING_CONTEXT_LINUX_H_
6 #define PRINTING_PRINTING_CONTEXT_LINUX_H_
7
8 #include <memory>
9 #include <string>
10
11 #include "base/memory/raw_ptr.h"
12 #include "printing/mojom/print.mojom.h"
13 #include "printing/printing_context.h"
14
15 namespace printing {
16
17 class MetafilePlayer;
18 class PrintDialogLinuxInterface;
19
20 // PrintingContext with optional native UI for print dialog and pdf_paper_size.
21 class COMPONENT_EXPORT(PRINTING) PrintingContextLinux : public PrintingContext {
22  public:
23   explicit PrintingContextLinux(Delegate* delegate);
24   PrintingContextLinux(const PrintingContextLinux&) = delete;
25   PrintingContextLinux& operator=(const PrintingContextLinux&) = delete;
26   ~PrintingContextLinux() override;
27
28   // Initializes with predefined settings.
29   void InitWithSettings(std::unique_ptr<PrintSettings> settings);
30
31   // PrintingContext implementation.
32   void AskUserForSettings(int max_pages,
33                           bool has_selection,
34                           bool is_scripted,
35                           PrintSettingsCallback callback) override;
36   gfx::Size GetPdfPaperSizeDeviceUnits() override;
37   mojom::ResultCode UseDefaultSettings() override;
38   mojom::ResultCode UpdatePrinterSettings(
39       const PrinterSettings& printer_settings) override;
40   mojom::ResultCode NewDocument(const std::u16string& document_name) override;
41   mojom::ResultCode PrintDocument(const MetafilePlayer& metafile,
42                                   const PrintSettings& settings,
43                                   uint32_t num_pages) override;
44   mojom::ResultCode DocumentDone() override;
45   void Cancel() override;
46   void ReleaseContext() override;
47   printing::NativeDrawingContext context() const override;
48
49  private:
50   std::u16string document_name_;
51   raw_ptr<PrintDialogLinuxInterface> print_dialog_;
52 };
53
54 }  // namespace printing
55
56 #endif  // PRINTING_PRINTING_CONTEXT_LINUX_H_