# Copyright 2020 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//mojo/public/tools/bindings/mojom.gni")
import("//printing/buildflags/buildflags.gni")
mojom("mojom") {
sources = [ "print.mojom" ]
webui_module_path = "/"
generate_legacy_js_bindings = true
cpp_typemaps = [
{
types = [
{
mojom = "printing.mojom.PageRange"
cpp = "::printing::PageRange"
},
]
traits_sources = [ "print_mojom_traits.cc" ]
traits_headers = [ "print_mojom_traits.h" ]
traits_deps = [ "//mojo/public/mojom/base" ]
},
]
}
if (enable_oop_printing) {
mojom("printing_context") {
sources = [ "printing_context.mojom" ]
public_deps = [
":mojom",
"//mojo/public/mojom/base",
"//ui/gfx/geometry/mojom",
]
enabled_features = []
if (enable_oop_printing_no_oop_basic_print_dialog) {
enabled_features += [ "enable_oop_printing_no_oop_basic_print_dialog" ]
}
cpp_typemaps = [
{
types = [
{
mojom = "printing.mojom.PageMargins"
cpp = "::printing::PageMargins"
},
{
mojom = "printing.mojom.PageSetup"
cpp = "::printing::PageSetup"
},
{
mojom = "printing.mojom.RequestedMedia"
cpp = "::printing::PrintSettings::RequestedMedia"
},
{
mojom = "printing.mojom.PrintSettings"
cpp = "::printing::PrintSettings"
},
]
traits_sources = [ "printing_context_mojom_traits.cc" ]
traits_headers = [ "printing_context_mojom_traits.h" ]
traits_deps = [
"//base",
"//mojo/public/mojom/base",
"//printing",
"//ui/gfx/geometry",
"//ui/gfx/geometry/mojom",
]
},
]
}
}