# 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("//build/config/jumbo.gni")
import("../pdfium.gni")
import("../testing/test.gni")

jumbo_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_core_config" ]
  deps = [
    "../core/fxcrt",
  ]
  visibility = [ "../*" ]

  if (pdf_enable_v8) {
    sources += [
      "cfx_globalarray.cpp",
      "cfx_globalarray.h",
      "cfx_globaldata.cpp",
      "cfx_globaldata.h",
      "cfx_keyvalue.cpp",
      "cfx_keyvalue.h",
      "cfx_v8.cpp",
      "cfx_v8.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_eventhandler.cpp",
      "cjs_eventhandler.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",
      "global_timer.cpp",
      "global_timer.h",
      "js_define.cpp",
      "js_define.h",
      "js_resources.cpp",
      "js_resources.h",
      "jse_define.h",
    ]
    deps += [
      "../core/fdrm",
      "../core/fpdfapi/font",
      "../core/fpdfapi/page",
      "../core/fpdfapi/parser",
      "../core/fpdfdoc",
      "../core/fxge",
      "//v8",
      "//v8:v8_libplatform",
    ]
    configs += [ "//v8:external_startup_data" ]
    public_deps = [
      "//v8",
    ]

    if (pdf_enable_xfa) {
      sources += [
        "cfxjse_arguments.cpp",
        "cfxjse_arguments.h",
        "cfxjse_class.cpp",
        "cfxjse_class.h",
        "cfxjse_context.cpp",
        "cfxjse_context.h",
        "cfxjse_engine.cpp",
        "cfxjse_engine.h",
        "cfxjse_formcalc_context.cpp",
        "cfxjse_formcalc_context.h",
        "cfxjse_isolatetracker.cpp",
        "cfxjse_isolatetracker.h",
        "cfxjse_resolveprocessor.cpp",
        "cfxjse_resolveprocessor.h",
        "cfxjse_runtimedata.cpp",
        "cfxjse_runtimedata.h",
        "cfxjse_value.cpp",
        "cfxjse_value.h",
        "fxjse.cpp",
        "fxjse.h",
        "xfa/cjx_arc.cpp",
        "xfa/cjx_arc.h",
        "xfa/cjx_area.cpp",
        "xfa/cjx_area.h",
        "xfa/cjx_assist.cpp",
        "xfa/cjx_assist.h",
        "xfa/cjx_barcode.cpp",
        "xfa/cjx_barcode.h",
        "xfa/cjx_bind.cpp",
        "xfa/cjx_bind.h",
        "xfa/cjx_binditems.cpp",
        "xfa/cjx_binditems.h",
        "xfa/cjx_bookend.cpp",
        "xfa/cjx_bookend.h",
        "xfa/cjx_boolean.cpp",
        "xfa/cjx_boolean.h",
        "xfa/cjx_border.cpp",
        "xfa/cjx_border.h",
        "xfa/cjx_break.cpp",
        "xfa/cjx_break.h",
        "xfa/cjx_breakafter.cpp",
        "xfa/cjx_breakafter.h",
        "xfa/cjx_breakbefore.cpp",
        "xfa/cjx_breakbefore.h",
        "xfa/cjx_button.cpp",
        "xfa/cjx_button.h",
        "xfa/cjx_calculate.cpp",
        "xfa/cjx_calculate.h",
        "xfa/cjx_caption.cpp",
        "xfa/cjx_caption.h",
        "xfa/cjx_certificate.cpp",
        "xfa/cjx_certificate.h",
        "xfa/cjx_certificates.cpp",
        "xfa/cjx_certificates.h",
        "xfa/cjx_checkbutton.cpp",
        "xfa/cjx_checkbutton.h",
        "xfa/cjx_choicelist.cpp",
        "xfa/cjx_choicelist.h",
        "xfa/cjx_color.cpp",
        "xfa/cjx_color.h",
        "xfa/cjx_comb.cpp",
        "xfa/cjx_comb.h",
        "xfa/cjx_command.cpp",
        "xfa/cjx_command.h",
        "xfa/cjx_connect.cpp",
        "xfa/cjx_connect.h",
        "xfa/cjx_connectstring.cpp",
        "xfa/cjx_connectstring.h",
        "xfa/cjx_container.cpp",
        "xfa/cjx_container.h",
        "xfa/cjx_content.cpp",
        "xfa/cjx_content.h",
        "xfa/cjx_contentarea.cpp",
        "xfa/cjx_contentarea.h",
        "xfa/cjx_corner.cpp",
        "xfa/cjx_corner.h",
        "xfa/cjx_datavalue.cpp",
        "xfa/cjx_datavalue.h",
        "xfa/cjx_datawindow.cpp",
        "xfa/cjx_datawindow.h",
        "xfa/cjx_date.cpp",
        "xfa/cjx_date.h",
        "xfa/cjx_datetime.cpp",
        "xfa/cjx_datetime.h",
        "xfa/cjx_datetimeedit.cpp",
        "xfa/cjx_datetimeedit.h",
        "xfa/cjx_decimal.cpp",
        "xfa/cjx_decimal.h",
        "xfa/cjx_defaultui.cpp",
        "xfa/cjx_defaultui.h",
        "xfa/cjx_delete.cpp",
        "xfa/cjx_delete.h",
        "xfa/cjx_delta.cpp",
        "xfa/cjx_delta.h",
        "xfa/cjx_deltas.cpp",
        "xfa/cjx_deltas.h",
        "xfa/cjx_desc.cpp",
        "xfa/cjx_desc.h",
        "xfa/cjx_digestmethod.cpp",
        "xfa/cjx_digestmethod.h",
        "xfa/cjx_digestmethods.cpp",
        "xfa/cjx_digestmethods.h",
        "xfa/cjx_draw.cpp",
        "xfa/cjx_draw.h",
        "xfa/cjx_edge.cpp",
        "xfa/cjx_edge.h",
        "xfa/cjx_encoding.cpp",
        "xfa/cjx_encoding.h",
        "xfa/cjx_encodings.cpp",
        "xfa/cjx_encodings.h",
        "xfa/cjx_encrypt.cpp",
        "xfa/cjx_encrypt.h",
        "xfa/cjx_event.cpp",
        "xfa/cjx_event.h",
        "xfa/cjx_eventpseudomodel.cpp",
        "xfa/cjx_eventpseudomodel.h",
        "xfa/cjx_exclgroup.cpp",
        "xfa/cjx_exclgroup.h",
        "xfa/cjx_exdata.cpp",
        "xfa/cjx_exdata.h",
        "xfa/cjx_execute.cpp",
        "xfa/cjx_execute.h",
        "xfa/cjx_exobject.cpp",
        "xfa/cjx_exobject.h",
        "xfa/cjx_extras.cpp",
        "xfa/cjx_extras.h",
        "xfa/cjx_field.cpp",
        "xfa/cjx_field.h",
        "xfa/cjx_fill.cpp",
        "xfa/cjx_fill.h",
        "xfa/cjx_filter.cpp",
        "xfa/cjx_filter.h",
        "xfa/cjx_float.cpp",
        "xfa/cjx_float.h",
        "xfa/cjx_font.cpp",
        "xfa/cjx_font.h",
        "xfa/cjx_form.cpp",
        "xfa/cjx_form.h",
        "xfa/cjx_format.cpp",
        "xfa/cjx_format.h",
        "xfa/cjx_handler.cpp",
        "xfa/cjx_handler.h",
        "xfa/cjx_hostpseudomodel.cpp",
        "xfa/cjx_hostpseudomodel.h",
        "xfa/cjx_image.cpp",
        "xfa/cjx_image.h",
        "xfa/cjx_imageedit.cpp",
        "xfa/cjx_imageedit.h",
        "xfa/cjx_insert.cpp",
        "xfa/cjx_insert.h",
        "xfa/cjx_instancemanager.cpp",
        "xfa/cjx_instancemanager.h",
        "xfa/cjx_integer.cpp",
        "xfa/cjx_integer.h",
        "xfa/cjx_issuers.cpp",
        "xfa/cjx_issuers.h",
        "xfa/cjx_items.cpp",
        "xfa/cjx_items.h",
        "xfa/cjx_keep.cpp",
        "xfa/cjx_keep.h",
        "xfa/cjx_keyusage.cpp",
        "xfa/cjx_keyusage.h",
        "xfa/cjx_layoutpseudomodel.cpp",
        "xfa/cjx_layoutpseudomodel.h",
        "xfa/cjx_line.cpp",
        "xfa/cjx_line.h",
        "xfa/cjx_linear.cpp",
        "xfa/cjx_linear.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_map.cpp",
        "xfa/cjx_map.h",
        "xfa/cjx_margin.cpp",
        "xfa/cjx_margin.h",
        "xfa/cjx_mdp.cpp",
        "xfa/cjx_mdp.h",
        "xfa/cjx_medium.cpp",
        "xfa/cjx_medium.h",
        "xfa/cjx_message.cpp",
        "xfa/cjx_message.h",
        "xfa/cjx_model.cpp",
        "xfa/cjx_model.h",
        "xfa/cjx_node.cpp",
        "xfa/cjx_node.h",
        "xfa/cjx_numericedit.cpp",
        "xfa/cjx_numericedit.h",
        "xfa/cjx_object.cpp",
        "xfa/cjx_object.h",
        "xfa/cjx_occur.cpp",
        "xfa/cjx_occur.h",
        "xfa/cjx_oid.cpp",
        "xfa/cjx_oid.h",
        "xfa/cjx_oids.cpp",
        "xfa/cjx_oids.h",
        "xfa/cjx_operation.cpp",
        "xfa/cjx_operation.h",
        "xfa/cjx_overflow.cpp",
        "xfa/cjx_overflow.h",
        "xfa/cjx_packet.cpp",
        "xfa/cjx_packet.h",
        "xfa/cjx_pagearea.cpp",
        "xfa/cjx_pagearea.h",
        "xfa/cjx_pageset.cpp",
        "xfa/cjx_pageset.h",
        "xfa/cjx_para.cpp",
        "xfa/cjx_para.h",
        "xfa/cjx_password.cpp",
        "xfa/cjx_password.h",
        "xfa/cjx_passwordedit.cpp",
        "xfa/cjx_passwordedit.h",
        "xfa/cjx_pattern.cpp",
        "xfa/cjx_pattern.h",
        "xfa/cjx_picture.cpp",
        "xfa/cjx_picture.h",
        "xfa/cjx_query.cpp",
        "xfa/cjx_query.h",
        "xfa/cjx_radial.cpp",
        "xfa/cjx_radial.h",
        "xfa/cjx_reason.cpp",
        "xfa/cjx_reason.h",
        "xfa/cjx_reasons.cpp",
        "xfa/cjx_reasons.h",
        "xfa/cjx_recordset.cpp",
        "xfa/cjx_recordset.h",
        "xfa/cjx_rectangle.cpp",
        "xfa/cjx_rectangle.h",
        "xfa/cjx_ref.cpp",
        "xfa/cjx_ref.h",
        "xfa/cjx_rootelement.cpp",
        "xfa/cjx_rootelement.h",
        "xfa/cjx_script.cpp",
        "xfa/cjx_script.h",
        "xfa/cjx_select.cpp",
        "xfa/cjx_select.h",
        "xfa/cjx_setproperty.cpp",
        "xfa/cjx_setproperty.h",
        "xfa/cjx_signature.cpp",
        "xfa/cjx_signature.h",
        "xfa/cjx_signatureproperties.cpp",
        "xfa/cjx_signatureproperties.h",
        "xfa/cjx_signaturepseudomodel.cpp",
        "xfa/cjx_signaturepseudomodel.h",
        "xfa/cjx_signdata.cpp",
        "xfa/cjx_signdata.h",
        "xfa/cjx_signing.cpp",
        "xfa/cjx_signing.h",
        "xfa/cjx_soapaction.cpp",
        "xfa/cjx_soapaction.h",
        "xfa/cjx_soapaddress.cpp",
        "xfa/cjx_soapaddress.h",
        "xfa/cjx_solid.cpp",
        "xfa/cjx_solid.h",
        "xfa/cjx_source.cpp",
        "xfa/cjx_source.h",
        "xfa/cjx_sourceset.cpp",
        "xfa/cjx_sourceset.h",
        "xfa/cjx_speak.cpp",
        "xfa/cjx_speak.h",
        "xfa/cjx_stipple.cpp",
        "xfa/cjx_stipple.h",
        "xfa/cjx_subform.cpp",
        "xfa/cjx_subform.h",
        "xfa/cjx_subformset.cpp",
        "xfa/cjx_subformset.h",
        "xfa/cjx_subjectdn.cpp",
        "xfa/cjx_subjectdn.h",
        "xfa/cjx_subjectdns.cpp",
        "xfa/cjx_subjectdns.h",
        "xfa/cjx_submit.cpp",
        "xfa/cjx_submit.h",
        "xfa/cjx_template.cpp",
        "xfa/cjx_template.h",
        "xfa/cjx_text.cpp",
        "xfa/cjx_text.h",
        "xfa/cjx_textedit.cpp",
        "xfa/cjx_textedit.h",
        "xfa/cjx_textnode.cpp",
        "xfa/cjx_textnode.h",
        "xfa/cjx_time.cpp",
        "xfa/cjx_time.h",
        "xfa/cjx_timestamp.cpp",
        "xfa/cjx_timestamp.h",
        "xfa/cjx_tooltip.cpp",
        "xfa/cjx_tooltip.h",
        "xfa/cjx_traversal.cpp",
        "xfa/cjx_traversal.h",
        "xfa/cjx_traverse.cpp",
        "xfa/cjx_traverse.h",
        "xfa/cjx_tree.cpp",
        "xfa/cjx_tree.h",
        "xfa/cjx_treelist.cpp",
        "xfa/cjx_treelist.h",
        "xfa/cjx_ui.cpp",
        "xfa/cjx_ui.h",
        "xfa/cjx_update.cpp",
        "xfa/cjx_update.h",
        "xfa/cjx_uri.cpp",
        "xfa/cjx_uri.h",
        "xfa/cjx_user.cpp",
        "xfa/cjx_user.h",
        "xfa/cjx_validate.cpp",
        "xfa/cjx_validate.h",
        "xfa/cjx_value.cpp",
        "xfa/cjx_value.h",
        "xfa/cjx_variables.cpp",
        "xfa/cjx_variables.h",
        "xfa/cjx_wsdladdress.cpp",
        "xfa/cjx_wsdladdress.h",
        "xfa/cjx_wsdlconnection.cpp",
        "xfa/cjx_wsdlconnection.h",
        "xfa/cjx_xfa.cpp",
        "xfa/cjx_xfa.h",
        "xfa/cjx_xmlconnection.cpp",
        "xfa/cjx_xmlconnection.h",
        "xfa/cjx_xsdconnection.cpp",
        "xfa/cjx_xsdconnection.h",
      ]
      deps += [ "../xfa/fxfa/fm2js" ]
    }
  }
}

if (pdf_enable_v8) {
  pdfium_unittest_source_set("unittests") {
    sources = [
      "cfx_globaldata_unittest.cpp",
      "cfx_v8_unittest.cpp",
      "cfx_v8_unittest.h",
      "cfxjs_engine_unittest.cpp",
      "cjs_publicmethods_unittest.cpp",
      "cjs_util_unittest.cpp",
    ]
    configs = [ "//v8:external_startup_data" ]
    deps = [
      ":fxjs",
    ]
    pdfium_root_dir = "../"
  }

  pdfium_embeddertest_source_set("embeddertests") {
    sources = [
      "cfxjs_engine_embeddertest.cpp",
      "cjs_publicmethods_embeddertest.cpp",
    ]
    configs = [ "//v8:external_startup_data" ]
    deps = [
      ":fxjs",
    ]
    pdfium_root_dir = "../"

    if (pdf_enable_xfa) {
      sources += [ "cfxjse_formcalc_context_embeddertest.cpp" ]
      deps += [ "..///xfa/fxfa" ]
    }
  }
}
