# Copyright 2018 The PDFium Authors
# 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")

assert(pdf_enable_xfa)

source_set("css") {
  sources = [
    "cfx_css.h",
    "cfx_csscolorvalue.cpp",
    "cfx_csscolorvalue.h",
    "cfx_csscomputedstyle.cpp",
    "cfx_csscomputedstyle.h",
    "cfx_csscustomproperty.cpp",
    "cfx_csscustomproperty.h",
    "cfx_cssdata.cpp",
    "cfx_cssdata.h",
    "cfx_cssdeclaration.cpp",
    "cfx_cssdeclaration.h",
    "cfx_cssenumvalue.cpp",
    "cfx_cssenumvalue.h",
    "cfx_cssinputtextbuf.cpp",
    "cfx_cssinputtextbuf.h",
    "cfx_cssnumbervalue.cpp",
    "cfx_cssnumbervalue.h",
    "cfx_cssoutputtextbuf.cpp",
    "cfx_cssoutputtextbuf.h",
    "cfx_csspropertyholder.cpp",
    "cfx_csspropertyholder.h",
    "cfx_cssrulecollection.cpp",
    "cfx_cssrulecollection.h",
    "cfx_cssselector.cpp",
    "cfx_cssselector.h",
    "cfx_cssstringvalue.cpp",
    "cfx_cssstringvalue.h",
    "cfx_cssstylerule.cpp",
    "cfx_cssstylerule.h",
    "cfx_cssstyleselector.cpp",
    "cfx_cssstyleselector.h",
    "cfx_cssstylesheet.cpp",
    "cfx_cssstylesheet.h",
    "cfx_csssyntaxparser.cpp",
    "cfx_csssyntaxparser.h",
    "cfx_cssvalue.cpp",
    "cfx_cssvalue.h",
    "cfx_cssvaluelist.cpp",
    "cfx_cssvaluelist.h",
    "cfx_cssvaluelistparser.cpp",
    "cfx_cssvaluelistparser.h",
  ]
  configs += [
    "../../../:pdfium_strict_config",
    "../../../:pdfium_noshorten_config",
    "../../../:pdfium_nounsafe_buffer_usage_config",
  ]
  deps = [
    "../",
    "../../fxge",
  ]
  visibility = [ "../../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cfx_cssdata_unittest.cpp",
    "cfx_cssdeclaration_unittest.cpp",
    "cfx_cssstylesheet_unittest.cpp",
    "cfx_csssyntaxparser_unittest.cpp",
    "cfx_cssvaluelistparser_unittest.cpp",
  ]
  pdfium_root_dir = "../../../"
  deps = [ ":css" ]
}
