blob: e36e45667c0dbfa59235b3d7eb8dcc572392c129 [file] [log] [blame]
# Copyright 2018 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.
import("//third_party/closure_compiler/compile_js.gni")
import("../optimize_webui.gni")
import("//tools/grit/grit_rule.gni")
import("//chrome/common/features.gni")
if (optimize_webui) {
print_preview_pak_file = "print_preview_resources.pak"
unpak_folder = "print_preview_resources.unpak"
optimize_webui("build") {
host = "print"
html_in_files = [ "print_preview_new.html" ]
html_out_files = [ "vulcanized.html" ]
insert_in_head = "<base href=\"chrome://print\">"
input = rebase_path("$target_gen_dir/$unpak_folder", root_build_dir)
js_out_files = [ "crisper.js" ]
excludes = [ "pdf/pdf_scripting_api.js" ]
deps = [
":unpak",
]
}
unpak("unpak") {
pak_file = print_preview_pak_file
out_folder = unpak_folder
deps = [
":flattened_resources",
]
}
grit("flattened_resources") {
source = "print_preview_resources.grd"
# The .grd contains references to generated files.
source_is_generated = true
defines = chrome_grit_defines
outputs = [
"grit/print_preview_resources.h",
"grit/print_preview_resources_map.cc",
"grit/print_preview_resources_map.h",
print_preview_pak_file,
]
output_dir = "$root_gen_dir/chrome/browser/resources/print_preview"
}
}
group("closure_compile") {
deps = [
":print_preview_resources",
"data:closure_compile",
"new:closure_compile",
]
}
js_type_check("print_preview_resources") {
deps = [
":cloud_print_interface",
":metrics",
":native_layer",
":print_preview",
":print_preview_utils",
]
}
js_library("print_preview") {
deps = [
"../pdf:pdf_scripting_api",
"//ui/webui/resources/js:cr",
"//ui/webui/resources/js:event_tracker",
"//ui/webui/resources/js:load_time_data",
"//ui/webui/resources/js:promise_resolver",
"//ui/webui/resources/js:util",
"//ui/webui/resources/js:webui_listener_tracker",
"//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:focus_manager",
"//ui/webui/resources/js/cr/ui:focus_outline_manager",
"//ui/webui/resources/js/cr/ui:node_utils",
]
sources = [
"cloud_print_interface.js",
"common/overlay.js",
"common/search_box.js",
"common/search_bubble.js",
"component.js",
"data/app_state.js",
"data/capabilities_holder.js",
"data/cloud_parsers.js",
"data/coordinate2d.js",
"data/destination.js",
"data/destination_match.js",
"data/destination_store.js",
"data/document_info.js",
"data/invitation.js",
"data/invitation_store.js",
"data/local_parsers.js",
"data/margins.js",
"data/measurement_system.js",
"data/page_number_set.js",
"data/print_ticket_store.js",
"data/printable_area.js",
"data/size.js",
"data/ticket_items/collate.js",
"data/ticket_items/color.js",
"data/ticket_items/copies.js",
"data/ticket_items/css_background.js",
"data/ticket_items/custom_margins.js",
"data/ticket_items/dpi.js",
"data/ticket_items/duplex.js",
"data/ticket_items/fit_to_page.js",
"data/ticket_items/header_footer.js",
"data/ticket_items/landscape.js",
"data/ticket_items/margins_type.js",
"data/ticket_items/media_size.js",
"data/ticket_items/page_range.js",
"data/ticket_items/rasterize.js",
"data/ticket_items/scaling.js",
"data/ticket_items/selection_only.js",
"data/ticket_items/ticket_item.js",
"data/ticket_items/vendor_items.js",
"data/user_info.js",
"metrics.js",
"native_layer.js",
"preview_generator.js",
"previewarea/margin_control.js",
"previewarea/margin_control_container.js",
"previewarea/preview_area.js",
"print_header.js",
"print_preview.js",
"print_preview_animations.js",
"print_preview_focus_manager.js",
"print_preview_utils.js",
"search/destination_list.js",
"search/destination_list_item.js",
"search/destination_search.js",
"search/provisional_destination_resolver.js",
"search/recent_destination_list.js",
"settings/advanced_options_settings.js",
"settings/advanced_settings/advanced_settings.js",
"settings/advanced_settings/advanced_settings_item.js",
"settings/color_settings.js",
"settings/copies_settings.js",
"settings/destination_settings.js",
"settings/dpi_settings.js",
"settings/layout_settings.js",
"settings/margin_settings.js",
"settings/media_size_settings.js",
"settings/more_settings.js",
"settings/other_options_settings.js",
"settings/page_settings.js",
"settings/scaling_settings.js",
"settings/settings_section.js",
"settings/settings_section_select.js",
]
externs_list = [ "$externs_path/chrome_send.js" ]
}
js_library("print_preview_utils") {
deps = [
"data:coordinate2d",
"data:size",
"//ui/webui/resources/js:cr",
]
}
js_library("metrics") {
deps = [
":native_layer",
"//ui/webui/resources/js:cr",
]
}
js_library("component") {
}
js_library("print_preview_focus_manager") {
}
js_library("cloud_print_interface") {
deps = [
":native_layer",
"data:cloud_parsers",
"data:destination",
"data:document_info",
"data:invitation",
"data:user_info",
"//ui/webui/resources/js:cr",
]
}
js_library("native_layer") {
deps = [
"data:destination",
"data:measurement_system",
"//ui/webui/resources/js:cr",
]
}