| # Copyright 2018 The PDFium 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("../pdfium.gni") | 
 | import("../testing/test.gni") | 
 |  | 
 | source_set("fxjs") { | 
 |   sources = [ | 
 |     "cjs_event_context_stub.cpp", | 
 |     "cjs_event_context_stub.h", | 
 |     "cjs_runtimestub.cpp", | 
 |     "cjs_runtimestub.h", | 
 |     "ijs_event_context.h", | 
 |     "ijs_runtime.cpp", | 
 |     "ijs_runtime.h", | 
 |   ] | 
 |   configs += [ "../:pdfium_strict_config" ] | 
 |   deps = [ "../core/fxcrt" ] | 
 |   public_deps = [] | 
 |   visibility = [ "../*" ] | 
 |  | 
 |   if (pdf_enable_v8) { | 
 |     sources += [ | 
 |       "cfx_globaldata.cpp", | 
 |       "cfx_globaldata.h", | 
 |       "cfx_keyvalue.cpp", | 
 |       "cfx_keyvalue.h", | 
 |       "cfx_v8.cpp", | 
 |       "cfx_v8.h", | 
 |       "cfx_v8_array_buffer_allocator.cpp", | 
 |       "cfx_v8_array_buffer_allocator.h", | 
 |       "cfxjs_engine.cpp", | 
 |       "cfxjs_engine.h", | 
 |       "cjs_annot.cpp", | 
 |       "cjs_annot.h", | 
 |       "cjs_app.cpp", | 
 |       "cjs_app.h", | 
 |       "cjs_border.cpp", | 
 |       "cjs_border.h", | 
 |       "cjs_color.cpp", | 
 |       "cjs_color.h", | 
 |       "cjs_console.cpp", | 
 |       "cjs_console.h", | 
 |       "cjs_delaydata.cpp", | 
 |       "cjs_delaydata.h", | 
 |       "cjs_display.cpp", | 
 |       "cjs_display.h", | 
 |       "cjs_document.cpp", | 
 |       "cjs_document.h", | 
 |       "cjs_event.cpp", | 
 |       "cjs_event.h", | 
 |       "cjs_event_context.cpp", | 
 |       "cjs_event_context.h", | 
 |       "cjs_field.cpp", | 
 |       "cjs_field.h", | 
 |       "cjs_font.cpp", | 
 |       "cjs_font.h", | 
 |       "cjs_global.cpp", | 
 |       "cjs_global.h", | 
 |       "cjs_globalarrays.cpp", | 
 |       "cjs_globalarrays.h", | 
 |       "cjs_globalconsts.cpp", | 
 |       "cjs_globalconsts.h", | 
 |       "cjs_highlight.cpp", | 
 |       "cjs_highlight.h", | 
 |       "cjs_icon.cpp", | 
 |       "cjs_icon.h", | 
 |       "cjs_object.cpp", | 
 |       "cjs_object.h", | 
 |       "cjs_position.cpp", | 
 |       "cjs_position.h", | 
 |       "cjs_publicmethods.cpp", | 
 |       "cjs_publicmethods.h", | 
 |       "cjs_result.cpp", | 
 |       "cjs_result.h", | 
 |       "cjs_runtime.cpp", | 
 |       "cjs_runtime.h", | 
 |       "cjs_scalehow.cpp", | 
 |       "cjs_scalehow.h", | 
 |       "cjs_scalewhen.cpp", | 
 |       "cjs_scalewhen.h", | 
 |       "cjs_style.cpp", | 
 |       "cjs_style.h", | 
 |       "cjs_timerobj.cpp", | 
 |       "cjs_timerobj.h", | 
 |       "cjs_util.cpp", | 
 |       "cjs_util.h", | 
 |       "cjs_zoomtype.cpp", | 
 |       "cjs_zoomtype.h", | 
 |       "fx_date_helpers.cpp", | 
 |       "fx_date_helpers.h", | 
 |       "fxv8.cpp", | 
 |       "fxv8.h", | 
 |       "global_timer.cpp", | 
 |       "global_timer.h", | 
 |       "js_define.cpp", | 
 |       "js_define.h", | 
 |       "js_resources.cpp", | 
 |       "js_resources.h", | 
 |     ] | 
 |     deps += [ | 
 |       "../constants", | 
 |       "../core/fdrm", | 
 |       "../core/fpdfapi/page", | 
 |       "../core/fpdfapi/parser", | 
 |       "../core/fpdfapi/render", | 
 |       "../core/fpdfdoc", | 
 |       "../core/fxge", | 
 |       "//v8", | 
 |       "//v8:v8_libplatform", | 
 |     ] | 
 |     configs += [ "//v8:external_startup_data" ] | 
 |     public_deps += [ | 
 |       "../core/fxcrt", | 
 |       "//v8", | 
 |     ] | 
 |  | 
 |     if (pdf_enable_xfa) { | 
 |       sources += [ | 
 |         "xfa/cfxjse_class.cpp", | 
 |         "xfa/cfxjse_class.h", | 
 |         "xfa/cfxjse_context.cpp", | 
 |         "xfa/cfxjse_context.h", | 
 |         "xfa/cfxjse_engine.cpp", | 
 |         "xfa/cfxjse_engine.h", | 
 |         "xfa/cfxjse_formcalc_context.cpp", | 
 |         "xfa/cfxjse_formcalc_context.h", | 
 |         "xfa/cfxjse_isolatetracker.cpp", | 
 |         "xfa/cfxjse_isolatetracker.h", | 
 |         "xfa/cfxjse_mapmodule.cpp", | 
 |         "xfa/cfxjse_mapmodule.h", | 
 |         "xfa/cfxjse_nodehelper.cpp", | 
 |         "xfa/cfxjse_nodehelper.h", | 
 |         "xfa/cfxjse_resolveprocessor.cpp", | 
 |         "xfa/cfxjse_resolveprocessor.h", | 
 |         "xfa/cfxjse_runtimedata.cpp", | 
 |         "xfa/cfxjse_runtimedata.h", | 
 |         "xfa/cfxjse_value.cpp", | 
 |         "xfa/cfxjse_value.h", | 
 |         "xfa/cjx_boolean.cpp", | 
 |         "xfa/cjx_boolean.h", | 
 |         "xfa/cjx_container.cpp", | 
 |         "xfa/cjx_container.h", | 
 |         "xfa/cjx_datawindow.cpp", | 
 |         "xfa/cjx_datawindow.h", | 
 |         "xfa/cjx_delta.cpp", | 
 |         "xfa/cjx_delta.h", | 
 |         "xfa/cjx_desc.cpp", | 
 |         "xfa/cjx_desc.h", | 
 |         "xfa/cjx_draw.cpp", | 
 |         "xfa/cjx_draw.h", | 
 |         "xfa/cjx_encrypt.cpp", | 
 |         "xfa/cjx_encrypt.h", | 
 |         "xfa/cjx_eventpseudomodel.cpp", | 
 |         "xfa/cjx_eventpseudomodel.h", | 
 |         "xfa/cjx_exclgroup.cpp", | 
 |         "xfa/cjx_exclgroup.h", | 
 |         "xfa/cjx_extras.cpp", | 
 |         "xfa/cjx_extras.h", | 
 |         "xfa/cjx_field.cpp", | 
 |         "xfa/cjx_field.h", | 
 |         "xfa/cjx_form.cpp", | 
 |         "xfa/cjx_form.h", | 
 |         "xfa/cjx_handler.cpp", | 
 |         "xfa/cjx_handler.h", | 
 |         "xfa/cjx_hostpseudomodel.cpp", | 
 |         "xfa/cjx_hostpseudomodel.h", | 
 |         "xfa/cjx_instancemanager.cpp", | 
 |         "xfa/cjx_instancemanager.h", | 
 |         "xfa/cjx_layoutpseudomodel.cpp", | 
 |         "xfa/cjx_layoutpseudomodel.h", | 
 |         "xfa/cjx_list.cpp", | 
 |         "xfa/cjx_list.h", | 
 |         "xfa/cjx_logpseudomodel.cpp", | 
 |         "xfa/cjx_logpseudomodel.h", | 
 |         "xfa/cjx_manifest.cpp", | 
 |         "xfa/cjx_manifest.h", | 
 |         "xfa/cjx_model.cpp", | 
 |         "xfa/cjx_model.h", | 
 |         "xfa/cjx_node.cpp", | 
 |         "xfa/cjx_node.h", | 
 |         "xfa/cjx_object.cpp", | 
 |         "xfa/cjx_object.h", | 
 |         "xfa/cjx_occur.cpp", | 
 |         "xfa/cjx_occur.h", | 
 |         "xfa/cjx_packet.cpp", | 
 |         "xfa/cjx_packet.h", | 
 |         "xfa/cjx_script.cpp", | 
 |         "xfa/cjx_script.h", | 
 |         "xfa/cjx_signaturepseudomodel.cpp", | 
 |         "xfa/cjx_signaturepseudomodel.h", | 
 |         "xfa/cjx_source.cpp", | 
 |         "xfa/cjx_source.h", | 
 |         "xfa/cjx_subform.cpp", | 
 |         "xfa/cjx_subform.h", | 
 |         "xfa/cjx_template.cpp", | 
 |         "xfa/cjx_template.h", | 
 |         "xfa/cjx_textnode.cpp", | 
 |         "xfa/cjx_textnode.h", | 
 |         "xfa/cjx_tree.cpp", | 
 |         "xfa/cjx_tree.h", | 
 |         "xfa/cjx_treelist.cpp", | 
 |         "xfa/cjx_treelist.h", | 
 |         "xfa/cjx_wsdlconnection.cpp", | 
 |         "xfa/cjx_wsdlconnection.h", | 
 |         "xfa/cjx_xfa.cpp", | 
 |         "xfa/cjx_xfa.h", | 
 |         "xfa/fxjse.cpp", | 
 |         "xfa/fxjse.h", | 
 |         "xfa/jse_define.h", | 
 |       ] | 
 |       deps += [ | 
 |         ":gc", | 
 |         "../xfa/fgas/crt", | 
 |         "../xfa/fxfa/formcalc", | 
 |       ] | 
 |     } | 
 |   } | 
 | } | 
 |  | 
 | if (pdf_enable_v8) { | 
 |   if (pdf_enable_xfa) { | 
 |     source_set("gc") { | 
 |       sources = [ | 
 |         "gc/container_trace.h", | 
 |         "gc/gced_tree_node.h", | 
 |         "gc/gced_tree_node_mixin.h", | 
 |         "gc/heap.cpp", | 
 |         "gc/heap.h", | 
 |       ] | 
 |       configs += [ "../:pdfium_strict_config" ] | 
 |       deps = [ | 
 |         "../core/fxcrt", | 
 |         "//v8:v8_libplatform", | 
 |       ] | 
 |       public_deps = [ "//v8:cppgc" ] | 
 |     } | 
 |   } | 
 | } | 
 |  | 
 | if (pdf_enable_v8) { | 
 |   pdfium_unittest_source_set("unittests") { | 
 |     sources = [ | 
 |       "cfx_globaldata_unittest.cpp", | 
 |       "cfx_v8_unittest.cpp", | 
 |       "cfxjs_engine_unittest.cpp", | 
 |       "cjs_publicmethods_unittest.cpp", | 
 |       "cjs_util_unittest.cpp", | 
 |       "fx_date_helpers_unittest.cpp", | 
 |     ] | 
 |     configs = [ "//v8:external_startup_data" ] | 
 |     deps = [ ":fxjs" ] | 
 |     pdfium_root_dir = "../" | 
 |     if (pdf_enable_xfa) { | 
 |       sources += [ | 
 |         "gc/container_trace_unittest.cpp", | 
 |         "gc/gced_tree_node_mixin_unittest.cpp", | 
 |         "gc/gced_tree_node_unittest.cpp", | 
 |         "gc/heap_unittest.cpp", | 
 |         "gc/move_unittest.cpp", | 
 |         "xfa/cfxjse_formcalc_context_unittest.cpp", | 
 |         "xfa/cfxjse_mapmodule_unittest.cpp", | 
 |       ] | 
 |       deps += [ | 
 |         ":gc", | 
 |         "../xfa/fxfa/parser", | 
 |       ] | 
 |     } | 
 |   } | 
 |  | 
 |   pdfium_embeddertest_source_set("embeddertests") { | 
 |     sources = [ | 
 |       "cfxjs_engine_embeddertest.cpp", | 
 |       "cjs_publicmethods_embeddertest.cpp", | 
 |     ] | 
 |     configs = [ "//v8:external_startup_data" ] | 
 |     deps = [ | 
 |       ":fxjs", | 
 |       "../fpdfsdk", | 
 |     ] | 
 |     pdfium_root_dir = "../" | 
 |     if (pdf_enable_xfa) { | 
 |       sources += [ | 
 |         "xfa/cfxjse_app_embeddertest.cpp", | 
 |         "xfa/cfxjse_formcalc_context_embeddertest.cpp", | 
 |         "xfa/cfxjse_value_embeddertest.cpp", | 
 |         "xfa/cjx_hostpseudomodel_embeddertest.cpp", | 
 |         "xfa/cjx_list_embeddertest.cpp", | 
 |       ] | 
 |       deps += [ | 
 |         ":gc", | 
 |         "../xfa/fxfa", | 
 |       ] | 
 |     } | 
 |   } | 
 | } |