# 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",
    ]
    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 += [
        "xfa/cfxjse_arguments.cpp",
        "xfa/cfxjse_arguments.h",
        "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_resolveprocessor.cpp",
        "xfa/cfxjse_resolveprocessor.h",
        "xfa/cfxjse_runtimedata.cpp",
        "xfa/cfxjse_runtimedata.h",
        "xfa/cfxjse_value.cpp",
        "xfa/cfxjse_value.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",
        "xfa/fxjse.cpp",
        "xfa/fxjse.h",
        "xfa/jse_define.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 += [ "xfa/cfxjse_formcalc_context_embeddertest.cpp" ]
      deps += [ "..///xfa/fxfa" ]
    }
  }
}
