# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromeos/ui_mode.gni")
import("//printing/buildflags/buildflags.gni")
import("//ui/webui/resources/tools/build_webui.gni")
assert(enable_print_preview, "enable_print_preview check failed")
build_webui("build") {
grd_prefix = "print_preview"
static_files = [ "print_preview.html" ]
# Files holding a Polymer element definition and have an equivalent .html file.
web_component_files = [
"ui/advanced_options_settings.ts",
"ui/advanced_settings_dialog.ts",
"ui/advanced_settings_item.ts",
"ui/app.ts",
"ui/button_strip.ts",
"ui/color_settings.ts",
"ui/copies_settings.ts",
"ui/destination_list.ts",
"ui/destination_settings.ts",
"ui/dpi_settings.ts",
"ui/duplex_settings.ts",
"ui/header.ts",
"ui/layout_settings.ts",
"ui/margin_control.ts",
"ui/margin_control_container.ts",
"ui/margins_settings.ts",
"ui/media_size_settings.ts",
"ui/media_type_settings.ts",
"ui/more_settings.ts",
"ui/number_settings_section.ts",
"ui/other_options_settings.ts",
"ui/pages_per_sheet_settings.ts",
"ui/pages_settings.ts",
"ui/preview_area.ts",
"ui/print_preview_search_box.ts",
"ui/scaling_settings.ts",
"ui/settings_section.ts",
"ui/settings_select.ts",
"ui/sidebar.ts",
]
if (is_chromeos) {
web_component_files += [
"ui/destination_dropdown_cros.ts",
"ui/destination_list_item_cros.ts",
"ui/destination_select_cros.ts",
"ui/pin_settings.ts",
"ui/printer_setup_info_cros.ts",
"ui/provisional_destination_resolver.ts",
"ui/destination_dialog_cros.ts",
"ui/searchable_drop_down_cros.ts",
]
} else {
web_component_files += [
"ui/destination_select.ts",
"ui/link_container.ts",
"ui/destination_dialog.ts",
"ui/destination_list_item.ts",
]
}
non_web_component_files = [
"dark_mode_mixin.ts",
"metrics.ts",
"native_layer.ts",
"print_preview.ts",
"print_preview_utils.ts",
"data/cdd.ts",
"data/coordinate2d.ts",
"data/destination.ts",
"data/destination_match.ts",
"data/destination_store.ts",
"data/document_info.ts",
"data/local_parsers.ts",
"data/margins.ts",
"data/measurement_system.ts",
"data/model.ts",
"data/printable_area.ts",
"data/scaling.ts",
"data/size.ts",
"data/state.ts",
"ui/highlight_utils.ts",
"ui/input_mixin.ts",
"ui/plugin_proxy.ts",
"ui/select_mixin.ts",
"ui/settings_mixin.ts",
]
if (is_chromeos) {
non_web_component_files += [
"data/print_server_store.ts",
"data/printer_status_cros.ts",
"native_layer_cros.ts",
]
}
# Files that are passed as input to css_to_wrapper().
css_files = [
"ui/destination_dialog_style.css",
"ui/destination_list_item_style.css",
"ui/destination_select_style.css",
"ui/print_preview_shared.css",
"ui/print_preview_vars.css",
"ui/throbber.css",
]
icons_html_files = [ "ui/icons.html" ]
ts_composite = true
ts_definitions = [
"//tools/typescript/definitions/chrome_event.d.ts",
"//tools/typescript/definitions/chrome_send.d.ts",
"//tools/typescript/definitions/mime_handler_private.d.ts",
"//tools/typescript/definitions/pending.d.ts",
]
ts_deps = [
"//chrome/browser/resources/pdf:build_ts",
"//third_party/polymer/v3_0:library",
"//ui/webui/resources/cr_elements:build_ts",
"//ui/webui/resources/js:build_ts",
]
ts_path_mappings = [ "chrome://print/pdf/*|" + rebase_path(
"$root_gen_dir/chrome/browser/resources/pdf/tsc/*",
target_gen_dir) ]
webui_context_type = "trusted"
optimize = optimize_webui
if (optimize) {
optimize_webui_host = "print"
optimize_webui_in_files = [ "print_preview.js" ]
optimize_webui_excludes = [ "chrome://print/pdf/pdf_scripting_api.js" ]
}
}