1# Copyright 2016 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//testing/test.gni")
6import("pdfium.gni")
7
8config("pdfium_common_config") {
9  cflags = []
10  ldflags = []
11  include_dirs = [
12    ".",
13    "third_party/freetype/include",
14    "third_party/freetype/include/freetype",
15  ]
16  defines = [
17    "OPJ_STATIC",
18    "PNG_PREFIX",
19    "PNG_USE_READ_MACROS",
20  ]
21
22  if (pdf_use_skia) {
23    defines += [ "_SKIA_SUPPORT_" ]
24  }
25
26  if (pdf_use_skia_paths) {
27    defines += [ "_SKIA_SUPPORT_PATHS_" ]
28  }
29
30  if (pdf_enable_v8) {
31    defines += [ "PDF_ENABLE_V8" ]
32  }
33
34  if (pdf_enable_xfa) {
35    defines += [ "PDF_ENABLE_XFA" ]
36    if (pdf_enable_xfa_bmp) {
37      defines += [ "PDF_ENABLE_XFA_BMP" ]
38    }
39    if (pdf_enable_xfa_gif) {
40      defines += [ "PDF_ENABLE_XFA_GIF" ]
41    }
42    if (pdf_enable_xfa_png) {
43      defines += [ "PDF_ENABLE_XFA_PNG" ]
44    }
45    if (pdf_enable_xfa_tiff) {
46      defines += [ "PDF_ENABLE_XFA_TIFF" ]
47    }
48  }
49
50  if (pdf_use_win32_gdi) {
51    defines += [ "PDFIUM_PRINT_TEXT_WITH_GDI" ]
52  }
53
54  if (use_coverage && is_clang) {
55    cflags += [
56      "--coverage",
57      "-g",
58      "-O0",
59    ]
60    ldflags += [ "--coverage" ]
61  }
62}
63
64config("pdfium_core_config") {
65  cflags = []
66  configs = [ ":pdfium_common_config" ]
67  defines = [ "V8_DEPRECATION_WARNINGS" ]
68  if (is_linux) {
69    if (current_cpu == "x64") {
70      defines += [ "_FX_CPU_=_FX_X64_" ]
71      cflags += [ "-fPIC" ]
72    } else if (current_cpu == "x86") {
73      defines += [ "_FX_CPU_=_FX_X86_" ]
74    }
75  }
76  if (is_win) {
77    cflags += [ "/wd4267" ]
78  }
79}
80
81config("xfa_warnings") {
82  visibility = [ ":*" ]
83  if (is_posix && !is_clang) {  # When GCC.
84    cflags = [ "-Wno-strict-overflow" ]
85  }
86}
87
88static_library("pdfium") {
89  sources = [
90    "fpdfsdk/cba_annotiterator.cpp",
91    "fpdfsdk/cba_annotiterator.h",
92    "fpdfsdk/cfx_systemhandler.cpp",
93    "fpdfsdk/cfx_systemhandler.h",
94    "fpdfsdk/cpdfsdk_annot.cpp",
95    "fpdfsdk/cpdfsdk_annot.h",
96    "fpdfsdk/cpdfsdk_annothandlermgr.cpp",
97    "fpdfsdk/cpdfsdk_annothandlermgr.h",
98    "fpdfsdk/cpdfsdk_annotiteration.cpp",
99    "fpdfsdk/cpdfsdk_annotiteration.h",
100    "fpdfsdk/cpdfsdk_baannot.cpp",
101    "fpdfsdk/cpdfsdk_baannot.h",
102    "fpdfsdk/cpdfsdk_baannothandler.cpp",
103    "fpdfsdk/cpdfsdk_baannothandler.h",
104    "fpdfsdk/cpdfsdk_datetime.cpp",
105    "fpdfsdk/cpdfsdk_datetime.h",
106    "fpdfsdk/cpdfsdk_formfillenvironment.cpp",
107    "fpdfsdk/cpdfsdk_formfillenvironment.h",
108    "fpdfsdk/cpdfsdk_interform.cpp",
109    "fpdfsdk/cpdfsdk_interform.h",
110    "fpdfsdk/cpdfsdk_pageview.cpp",
111    "fpdfsdk/cpdfsdk_pageview.h",
112    "fpdfsdk/cpdfsdk_widget.cpp",
113    "fpdfsdk/cpdfsdk_widget.h",
114    "fpdfsdk/cpdfsdk_widgethandler.cpp",
115    "fpdfsdk/cpdfsdk_widgethandler.h",
116    "fpdfsdk/fpdf_dataavail.cpp",
117    "fpdfsdk/fpdf_ext.cpp",
118    "fpdfsdk/fpdf_flatten.cpp",
119    "fpdfsdk/fpdf_progressive.cpp",
120    "fpdfsdk/fpdf_searchex.cpp",
121    "fpdfsdk/fpdf_structtree.cpp",
122    "fpdfsdk/fpdf_sysfontinfo.cpp",
123    "fpdfsdk/fpdf_transformpage.cpp",
124    "fpdfsdk/fpdfdoc.cpp",
125    "fpdfsdk/fpdfeditimg.cpp",
126    "fpdfsdk/fpdfeditpage.cpp",
127    "fpdfsdk/fpdfeditpath.cpp",
128    "fpdfsdk/fpdfedittext.cpp",
129    "fpdfsdk/fpdfformfill.cpp",
130    "fpdfsdk/fpdfppo.cpp",
131    "fpdfsdk/fpdfsave.cpp",
132    "fpdfsdk/fpdftext.cpp",
133    "fpdfsdk/fpdfview.cpp",
134    "fpdfsdk/fsdk_actionhandler.cpp",
135    "fpdfsdk/fsdk_actionhandler.h",
136    "fpdfsdk/fsdk_pauseadapter.cpp",
137    "fpdfsdk/fsdk_pauseadapter.h",
138    "fpdfsdk/pdfsdk_fieldaction.cpp",
139    "fpdfsdk/pdfsdk_fieldaction.h",
140    "public/fpdf_dataavail.h",
141    "public/fpdf_doc.h",
142    "public/fpdf_edit.h",
143    "public/fpdf_ext.h",
144    "public/fpdf_flatten.h",
145    "public/fpdf_formfill.h",
146    "public/fpdf_fwlevent.h",
147    "public/fpdf_ppo.h",
148    "public/fpdf_progressive.h",
149    "public/fpdf_save.h",
150    "public/fpdf_searchex.h",
151    "public/fpdf_structtree.h",
152    "public/fpdf_sysfontinfo.h",
153    "public/fpdf_text.h",
154    "public/fpdf_transformpage.h",
155    "public/fpdfview.h",
156  ]
157
158  libs = []
159  configs += [ ":pdfium_core_config" ]
160
161  deps = [
162    ":fdrm",
163    ":formfiller",
164    ":fpdfapi",
165    ":fpdfdoc",
166    ":fpdftext",
167    ":fxcodec",
168    ":fxcrt",
169    ":fxedit",
170    ":fxge",
171    ":javascript",
172    ":pdfwindow",
173    "third_party:bigint",
174    "third_party:pdfium_base",
175  ]
176
177  public_deps = [
178    ":fxcrt",
179  ]
180  if (pdf_enable_xfa) {
181    sources += [
182      "fpdfsdk/cpdfsdk_xfawidget.cpp",
183      "fpdfsdk/cpdfsdk_xfawidget.h",
184      "fpdfsdk/cpdfsdk_xfawidgethandler.cpp",
185      "fpdfsdk/cpdfsdk_xfawidgethandler.h",
186    ]
187
188    deps += [ ":fpdfxfa" ]
189  }
190
191  if (is_win) {
192    libs += [
193      "advapi32.lib",
194      "gdi32.lib",
195      "user32.lib",
196    ]
197  }
198
199  if (is_mac) {
200    libs += [
201      "AppKit.framework",
202      "CoreFoundation.framework",
203    ]
204  }
205
206  if (pdfium_bundle_freetype) {
207    deps += [ "third_party:fx_freetype" ]
208  } else {
209    libs += [ "freetype" ]
210  }
211}
212
213static_library("test_support") {
214  testonly = true
215  sources = [
216    "testing/fx_string_testhelpers.cpp",
217    "testing/fx_string_testhelpers.h",
218    "testing/test_support.cpp",
219    "testing/test_support.h",
220    "testing/utils/path_service.cpp",
221    "testing/utils/path_service.h",
222  ]
223  data = [
224    "testing/resources/",
225  ]
226  deps = [
227    ":pdfium",
228    "//testing/gmock",
229    "//testing/gtest",
230  ]
231  include_dirs = []
232  if (pdf_enable_v8) {
233    deps += [
234      "//v8",
235      "//v8:v8_libplatform",
236    ]
237    include_dirs += [
238      "//v8",
239      "//v8/include",
240    ]
241    configs += [ "//v8:external_startup_data" ]
242  }
243  configs += [ ":pdfium_core_config" ]
244}
245
246# Targets below this are only visible within this file (and to the
247# top-level gn_visibility target used to help gn_all build everything).
248visibility = [
249  ":*",
250  "//:gn_visibility",
251]
252
253static_library("fdrm") {
254  sources = [
255    "core/fdrm/crypto/fx_crypt.cpp",
256    "core/fdrm/crypto/fx_crypt.h",
257    "core/fdrm/crypto/fx_crypt_aes.cpp",
258    "core/fdrm/crypto/fx_crypt_sha.cpp",
259  ]
260  configs += [ ":pdfium_core_config" ]
261  deps = [
262    ":fxcrt",
263  ]
264}
265
266static_library("fpdfdoc") {
267  sources = [
268    "core/fpdfdoc/cline.cpp",
269    "core/fpdfdoc/cline.h",
270    "core/fpdfdoc/clines.cpp",
271    "core/fpdfdoc/clines.h",
272    "core/fpdfdoc/cpdf_aaction.cpp",
273    "core/fpdfdoc/cpdf_aaction.h",
274    "core/fpdfdoc/cpdf_action.cpp",
275    "core/fpdfdoc/cpdf_action.h",
276    "core/fpdfdoc/cpdf_actionfields.cpp",
277    "core/fpdfdoc/cpdf_actionfields.h",
278    "core/fpdfdoc/cpdf_annot.cpp",
279    "core/fpdfdoc/cpdf_annot.h",
280    "core/fpdfdoc/cpdf_annotlist.cpp",
281    "core/fpdfdoc/cpdf_annotlist.h",
282    "core/fpdfdoc/cpdf_apsettings.cpp",
283    "core/fpdfdoc/cpdf_apsettings.h",
284    "core/fpdfdoc/cpdf_bookmark.cpp",
285    "core/fpdfdoc/cpdf_bookmark.h",
286    "core/fpdfdoc/cpdf_bookmarktree.cpp",
287    "core/fpdfdoc/cpdf_bookmarktree.h",
288    "core/fpdfdoc/cpdf_defaultappearance.cpp",
289    "core/fpdfdoc/cpdf_defaultappearance.h",
290    "core/fpdfdoc/cpdf_dest.cpp",
291    "core/fpdfdoc/cpdf_dest.h",
292    "core/fpdfdoc/cpdf_docjsactions.cpp",
293    "core/fpdfdoc/cpdf_docjsactions.h",
294    "core/fpdfdoc/cpdf_filespec.cpp",
295    "core/fpdfdoc/cpdf_filespec.h",
296    "core/fpdfdoc/cpdf_formcontrol.cpp",
297    "core/fpdfdoc/cpdf_formcontrol.h",
298    "core/fpdfdoc/cpdf_formfield.cpp",
299    "core/fpdfdoc/cpdf_formfield.h",
300    "core/fpdfdoc/cpdf_iconfit.cpp",
301    "core/fpdfdoc/cpdf_iconfit.h",
302    "core/fpdfdoc/cpdf_interform.cpp",
303    "core/fpdfdoc/cpdf_interform.h",
304    "core/fpdfdoc/cpdf_link.cpp",
305    "core/fpdfdoc/cpdf_link.h",
306    "core/fpdfdoc/cpdf_linklist.cpp",
307    "core/fpdfdoc/cpdf_linklist.h",
308    "core/fpdfdoc/cpdf_metadata.cpp",
309    "core/fpdfdoc/cpdf_metadata.h",
310    "core/fpdfdoc/cpdf_nametree.cpp",
311    "core/fpdfdoc/cpdf_nametree.h",
312    "core/fpdfdoc/cpdf_numbertree.cpp",
313    "core/fpdfdoc/cpdf_numbertree.h",
314    "core/fpdfdoc/cpdf_occontext.cpp",
315    "core/fpdfdoc/cpdf_occontext.h",
316    "core/fpdfdoc/cpdf_pagelabel.cpp",
317    "core/fpdfdoc/cpdf_pagelabel.h",
318    "core/fpdfdoc/cpdf_variabletext.cpp",
319    "core/fpdfdoc/cpdf_variabletext.h",
320    "core/fpdfdoc/cpdf_viewerpreferences.cpp",
321    "core/fpdfdoc/cpdf_viewerpreferences.h",
322    "core/fpdfdoc/cpvt_arraytemplate.h",
323    "core/fpdfdoc/cpvt_color.cpp",
324    "core/fpdfdoc/cpvt_color.h",
325    "core/fpdfdoc/cpvt_dash.h",
326    "core/fpdfdoc/cpvt_floatrect.h",
327    "core/fpdfdoc/cpvt_fontmap.cpp",
328    "core/fpdfdoc/cpvt_fontmap.h",
329    "core/fpdfdoc/cpvt_generateap.cpp",
330    "core/fpdfdoc/cpvt_generateap.h",
331    "core/fpdfdoc/cpvt_line.h",
332    "core/fpdfdoc/cpvt_lineinfo.h",
333    "core/fpdfdoc/cpvt_secprops.h",
334    "core/fpdfdoc/cpvt_section.h",
335    "core/fpdfdoc/cpvt_sectioninfo.cpp",
336    "core/fpdfdoc/cpvt_sectioninfo.h",
337    "core/fpdfdoc/cpvt_word.h",
338    "core/fpdfdoc/cpvt_wordinfo.cpp",
339    "core/fpdfdoc/cpvt_wordinfo.h",
340    "core/fpdfdoc/cpvt_wordplace.h",
341    "core/fpdfdoc/cpvt_wordprops.h",
342    "core/fpdfdoc/cpvt_wordrange.h",
343    "core/fpdfdoc/csection.cpp",
344    "core/fpdfdoc/csection.h",
345    "core/fpdfdoc/ctypeset.cpp",
346    "core/fpdfdoc/ctypeset.h",
347    "core/fpdfdoc/doc_tagged.cpp",
348    "core/fpdfdoc/fpdf_tagged.h",
349    "core/fpdfdoc/ipdf_formnotify.h",
350    "core/fpdfdoc/ipvt_fontmap.h",
351    "core/fpdfdoc/tagged_int.h",
352  ]
353  configs += [ ":pdfium_core_config" ]
354  deps = [
355    ":fxcrt",
356  ]
357}
358
359static_library("fpdfapi") {
360  sources = [
361    "core/fpdfapi/cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp",
362    "core/fpdfapi/cmaps/CNS1/B5pc-H_0.cpp",
363    "core/fpdfapi/cmaps/CNS1/B5pc-V_0.cpp",
364    "core/fpdfapi/cmaps/CNS1/CNS-EUC-H_0.cpp",
365    "core/fpdfapi/cmaps/CNS1/CNS-EUC-V_0.cpp",
366    "core/fpdfapi/cmaps/CNS1/ETen-B5-H_0.cpp",
367    "core/fpdfapi/cmaps/CNS1/ETen-B5-V_0.cpp",
368    "core/fpdfapi/cmaps/CNS1/ETenms-B5-H_0.cpp",
369    "core/fpdfapi/cmaps/CNS1/ETenms-B5-V_0.cpp",
370    "core/fpdfapi/cmaps/CNS1/HKscs-B5-H_5.cpp",
371    "core/fpdfapi/cmaps/CNS1/HKscs-B5-V_5.cpp",
372    "core/fpdfapi/cmaps/CNS1/UniCNS-UCS2-H_3.cpp",
373    "core/fpdfapi/cmaps/CNS1/UniCNS-UCS2-V_3.cpp",
374    "core/fpdfapi/cmaps/CNS1/UniCNS-UTF16-H_0.cpp",
375    "core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp",
376    "core/fpdfapi/cmaps/GB1/Adobe-GB1-UCS2_5.cpp",
377    "core/fpdfapi/cmaps/GB1/GB-EUC-H_0.cpp",
378    "core/fpdfapi/cmaps/GB1/GB-EUC-V_0.cpp",
379    "core/fpdfapi/cmaps/GB1/GBK-EUC-H_2.cpp",
380    "core/fpdfapi/cmaps/GB1/GBK-EUC-V_2.cpp",
381    "core/fpdfapi/cmaps/GB1/GBK2K-H_5.cpp",
382    "core/fpdfapi/cmaps/GB1/GBK2K-V_5.cpp",
383    "core/fpdfapi/cmaps/GB1/GBKp-EUC-H_2.cpp",
384    "core/fpdfapi/cmaps/GB1/GBKp-EUC-V_2.cpp",
385    "core/fpdfapi/cmaps/GB1/GBpc-EUC-H_0.cpp",
386    "core/fpdfapi/cmaps/GB1/GBpc-EUC-V_0.cpp",
387    "core/fpdfapi/cmaps/GB1/UniGB-UCS2-H_4.cpp",
388    "core/fpdfapi/cmaps/GB1/UniGB-UCS2-V_4.cpp",
389    "core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp",
390    "core/fpdfapi/cmaps/Japan1/83pv-RKSJ-H_1.cpp",
391    "core/fpdfapi/cmaps/Japan1/90ms-RKSJ-H_2.cpp",
392    "core/fpdfapi/cmaps/Japan1/90ms-RKSJ-V_2.cpp",
393    "core/fpdfapi/cmaps/Japan1/90msp-RKSJ-H_2.cpp",
394    "core/fpdfapi/cmaps/Japan1/90msp-RKSJ-V_2.cpp",
395    "core/fpdfapi/cmaps/Japan1/90pv-RKSJ-H_1.cpp",
396    "core/fpdfapi/cmaps/Japan1/Add-RKSJ-H_1.cpp",
397    "core/fpdfapi/cmaps/Japan1/Add-RKSJ-V_1.cpp",
398    "core/fpdfapi/cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp",
399    "core/fpdfapi/cmaps/Japan1/EUC-H_1.cpp",
400    "core/fpdfapi/cmaps/Japan1/EUC-V_1.cpp",
401    "core/fpdfapi/cmaps/Japan1/Ext-RKSJ-H_2.cpp",
402    "core/fpdfapi/cmaps/Japan1/Ext-RKSJ-V_2.cpp",
403    "core/fpdfapi/cmaps/Japan1/H_1.cpp",
404    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp",
405    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-HW-V_4.cpp",
406    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-H_4.cpp",
407    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-V_4.cpp",
408    "core/fpdfapi/cmaps/Japan1/V_1.cpp",
409    "core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp",
410    "core/fpdfapi/cmaps/Korea1/Adobe-Korea1-UCS2_2.cpp",
411    "core/fpdfapi/cmaps/Korea1/KSC-EUC-H_0.cpp",
412    "core/fpdfapi/cmaps/Korea1/KSC-EUC-V_0.cpp",
413    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-HW-H_1.cpp",
414    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-HW-V_1.cpp",
415    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-H_1.cpp",
416    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-V_1.cpp",
417    "core/fpdfapi/cmaps/Korea1/KSCpc-EUC-H_0.cpp",
418    "core/fpdfapi/cmaps/Korea1/UniKS-UCS2-H_1.cpp",
419    "core/fpdfapi/cmaps/Korea1/UniKS-UCS2-V_1.cpp",
420    "core/fpdfapi/cmaps/Korea1/UniKS-UTF16-H_0.cpp",
421    "core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp",
422    "core/fpdfapi/cmaps/cmap_int.h",
423    "core/fpdfapi/cmaps/fpdf_cmaps.cpp",
424    "core/fpdfapi/cpdf_modulemgr.cpp",
425    "core/fpdfapi/cpdf_modulemgr.h",
426    "core/fpdfapi/cpdf_pagerendercontext.cpp",
427    "core/fpdfapi/cpdf_pagerendercontext.h",
428    "core/fpdfapi/edit/cpdf_creator.h",
429    "core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp",
430    "core/fpdfapi/edit/cpdf_pagecontentgenerator.h",
431    "core/fpdfapi/edit/editint.h",
432    "core/fpdfapi/edit/fpdf_edit_create.cpp",
433    "core/fpdfapi/font/cpdf_cidfont.cpp",
434    "core/fpdfapi/font/cpdf_cidfont.h",
435    "core/fpdfapi/font/cpdf_font.cpp",
436    "core/fpdfapi/font/cpdf_font.h",
437    "core/fpdfapi/font/cpdf_fontencoding.cpp",
438    "core/fpdfapi/font/cpdf_fontencoding.h",
439    "core/fpdfapi/font/cpdf_simplefont.cpp",
440    "core/fpdfapi/font/cpdf_simplefont.h",
441    "core/fpdfapi/font/cpdf_truetypefont.cpp",
442    "core/fpdfapi/font/cpdf_truetypefont.h",
443    "core/fpdfapi/font/cpdf_type1font.cpp",
444    "core/fpdfapi/font/cpdf_type1font.h",
445    "core/fpdfapi/font/cpdf_type3char.cpp",
446    "core/fpdfapi/font/cpdf_type3char.h",
447    "core/fpdfapi/font/cpdf_type3font.cpp",
448    "core/fpdfapi/font/cpdf_type3font.h",
449    "core/fpdfapi/font/font_int.h",
450    "core/fpdfapi/font/fpdf_font.cpp",
451    "core/fpdfapi/font/fpdf_font_cid.cpp",
452    "core/fpdfapi/font/ttgsubtable.cpp",
453    "core/fpdfapi/font/ttgsubtable.h",
454    "core/fpdfapi/page/cpdf_allstates.cpp",
455    "core/fpdfapi/page/cpdf_allstates.h",
456    "core/fpdfapi/page/cpdf_clippath.cpp",
457    "core/fpdfapi/page/cpdf_clippath.h",
458    "core/fpdfapi/page/cpdf_color.cpp",
459    "core/fpdfapi/page/cpdf_color.h",
460    "core/fpdfapi/page/cpdf_colorspace.cpp",
461    "core/fpdfapi/page/cpdf_colorspace.h",
462    "core/fpdfapi/page/cpdf_colorstate.cpp",
463    "core/fpdfapi/page/cpdf_colorstate.h",
464    "core/fpdfapi/page/cpdf_contentmark.cpp",
465    "core/fpdfapi/page/cpdf_contentmark.h",
466    "core/fpdfapi/page/cpdf_contentmarkitem.cpp",
467    "core/fpdfapi/page/cpdf_contentmarkitem.h",
468    "core/fpdfapi/page/cpdf_contentparser.cpp",
469    "core/fpdfapi/page/cpdf_contentparser.h",
470    "core/fpdfapi/page/cpdf_countedobject.h",
471    "core/fpdfapi/page/cpdf_docpagedata.cpp",
472    "core/fpdfapi/page/cpdf_docpagedata.h",
473    "core/fpdfapi/page/cpdf_form.cpp",
474    "core/fpdfapi/page/cpdf_form.h",
475    "core/fpdfapi/page/cpdf_formobject.cpp",
476    "core/fpdfapi/page/cpdf_formobject.h",
477    "core/fpdfapi/page/cpdf_generalstate.cpp",
478    "core/fpdfapi/page/cpdf_generalstate.h",
479    "core/fpdfapi/page/cpdf_graphicstates.cpp",
480    "core/fpdfapi/page/cpdf_graphicstates.h",
481    "core/fpdfapi/page/cpdf_image.cpp",
482    "core/fpdfapi/page/cpdf_image.h",
483    "core/fpdfapi/page/cpdf_imageobject.cpp",
484    "core/fpdfapi/page/cpdf_imageobject.h",
485    "core/fpdfapi/page/cpdf_meshstream.cpp",
486    "core/fpdfapi/page/cpdf_meshstream.h",
487    "core/fpdfapi/page/cpdf_page.cpp",
488    "core/fpdfapi/page/cpdf_page.h",
489    "core/fpdfapi/page/cpdf_pagemodule.cpp",
490    "core/fpdfapi/page/cpdf_pagemodule.h",
491    "core/fpdfapi/page/cpdf_pageobject.cpp",
492    "core/fpdfapi/page/cpdf_pageobject.h",
493    "core/fpdfapi/page/cpdf_pageobjectholder.cpp",
494    "core/fpdfapi/page/cpdf_pageobjectholder.h",
495    "core/fpdfapi/page/cpdf_pageobjectlist.cpp",
496    "core/fpdfapi/page/cpdf_pageobjectlist.h",
497    "core/fpdfapi/page/cpdf_path.cpp",
498    "core/fpdfapi/page/cpdf_path.h",
499    "core/fpdfapi/page/cpdf_pathobject.cpp",
500    "core/fpdfapi/page/cpdf_pathobject.h",
501    "core/fpdfapi/page/cpdf_pattern.cpp",
502    "core/fpdfapi/page/cpdf_pattern.h",
503    "core/fpdfapi/page/cpdf_shadingobject.cpp",
504    "core/fpdfapi/page/cpdf_shadingobject.h",
505    "core/fpdfapi/page/cpdf_shadingpattern.cpp",
506    "core/fpdfapi/page/cpdf_shadingpattern.h",
507    "core/fpdfapi/page/cpdf_streamcontentparser.cpp",
508    "core/fpdfapi/page/cpdf_streamcontentparser.h",
509    "core/fpdfapi/page/cpdf_streamparser.cpp",
510    "core/fpdfapi/page/cpdf_streamparser.h",
511    "core/fpdfapi/page/cpdf_textobject.cpp",
512    "core/fpdfapi/page/cpdf_textobject.h",
513    "core/fpdfapi/page/cpdf_textstate.cpp",
514    "core/fpdfapi/page/cpdf_textstate.h",
515    "core/fpdfapi/page/cpdf_tilingpattern.cpp",
516    "core/fpdfapi/page/cpdf_tilingpattern.h",
517    "core/fpdfapi/page/fpdf_page_colors.cpp",
518    "core/fpdfapi/page/fpdf_page_func.cpp",
519    "core/fpdfapi/page/pageint.h",
520    "core/fpdfapi/parser/cfdf_document.cpp",
521    "core/fpdfapi/parser/cfdf_document.h",
522    "core/fpdfapi/parser/cpdf_array.cpp",
523    "core/fpdfapi/parser/cpdf_array.h",
524    "core/fpdfapi/parser/cpdf_boolean.cpp",
525    "core/fpdfapi/parser/cpdf_boolean.h",
526    "core/fpdfapi/parser/cpdf_crypto_handler.cpp",
527    "core/fpdfapi/parser/cpdf_crypto_handler.h",
528    "core/fpdfapi/parser/cpdf_data_avail.cpp",
529    "core/fpdfapi/parser/cpdf_data_avail.h",
530    "core/fpdfapi/parser/cpdf_dictionary.cpp",
531    "core/fpdfapi/parser/cpdf_dictionary.h",
532    "core/fpdfapi/parser/cpdf_document.cpp",
533    "core/fpdfapi/parser/cpdf_document.h",
534    "core/fpdfapi/parser/cpdf_hint_tables.cpp",
535    "core/fpdfapi/parser/cpdf_hint_tables.h",
536    "core/fpdfapi/parser/cpdf_indirect_object_holder.cpp",
537    "core/fpdfapi/parser/cpdf_indirect_object_holder.h",
538    "core/fpdfapi/parser/cpdf_linearized_header.cpp",
539    "core/fpdfapi/parser/cpdf_linearized_header.h",
540    "core/fpdfapi/parser/cpdf_name.cpp",
541    "core/fpdfapi/parser/cpdf_name.h",
542    "core/fpdfapi/parser/cpdf_null.cpp",
543    "core/fpdfapi/parser/cpdf_null.h",
544    "core/fpdfapi/parser/cpdf_number.cpp",
545    "core/fpdfapi/parser/cpdf_number.h",
546    "core/fpdfapi/parser/cpdf_object.cpp",
547    "core/fpdfapi/parser/cpdf_object.h",
548    "core/fpdfapi/parser/cpdf_parser.cpp",
549    "core/fpdfapi/parser/cpdf_parser.h",
550    "core/fpdfapi/parser/cpdf_reference.cpp",
551    "core/fpdfapi/parser/cpdf_reference.h",
552    "core/fpdfapi/parser/cpdf_security_handler.cpp",
553    "core/fpdfapi/parser/cpdf_security_handler.h",
554    "core/fpdfapi/parser/cpdf_simple_parser.cpp",
555    "core/fpdfapi/parser/cpdf_simple_parser.h",
556    "core/fpdfapi/parser/cpdf_stream.cpp",
557    "core/fpdfapi/parser/cpdf_stream.h",
558    "core/fpdfapi/parser/cpdf_stream_acc.cpp",
559    "core/fpdfapi/parser/cpdf_stream_acc.h",
560    "core/fpdfapi/parser/cpdf_string.cpp",
561    "core/fpdfapi/parser/cpdf_string.h",
562    "core/fpdfapi/parser/cpdf_syntax_parser.cpp",
563    "core/fpdfapi/parser/cpdf_syntax_parser.h",
564    "core/fpdfapi/parser/fpdf_parser_decode.cpp",
565    "core/fpdfapi/parser/fpdf_parser_decode.h",
566    "core/fpdfapi/parser/fpdf_parser_utility.cpp",
567    "core/fpdfapi/parser/fpdf_parser_utility.h",
568    "core/fpdfapi/render/cpdf_charposlist.cpp",
569    "core/fpdfapi/render/cpdf_charposlist.h",
570    "core/fpdfapi/render/cpdf_devicebuffer.cpp",
571    "core/fpdfapi/render/cpdf_devicebuffer.h",
572    "core/fpdfapi/render/cpdf_dibsource.cpp",
573    "core/fpdfapi/render/cpdf_dibsource.h",
574    "core/fpdfapi/render/cpdf_dibtransferfunc.cpp",
575    "core/fpdfapi/render/cpdf_dibtransferfunc.h",
576    "core/fpdfapi/render/cpdf_docrenderdata.cpp",
577    "core/fpdfapi/render/cpdf_docrenderdata.h",
578    "core/fpdfapi/render/cpdf_imagecacheentry.cpp",
579    "core/fpdfapi/render/cpdf_imagecacheentry.h",
580    "core/fpdfapi/render/cpdf_imageloader.cpp",
581    "core/fpdfapi/render/cpdf_imageloader.h",
582    "core/fpdfapi/render/cpdf_imagerenderer.cpp",
583    "core/fpdfapi/render/cpdf_imagerenderer.h",
584    "core/fpdfapi/render/cpdf_pagerendercache.cpp",
585    "core/fpdfapi/render/cpdf_pagerendercache.h",
586    "core/fpdfapi/render/cpdf_progressiverenderer.cpp",
587    "core/fpdfapi/render/cpdf_progressiverenderer.h",
588    "core/fpdfapi/render/cpdf_rendercontext.cpp",
589    "core/fpdfapi/render/cpdf_rendercontext.h",
590    "core/fpdfapi/render/cpdf_renderoptions.cpp",
591    "core/fpdfapi/render/cpdf_renderoptions.h",
592    "core/fpdfapi/render/cpdf_renderstatus.cpp",
593    "core/fpdfapi/render/cpdf_renderstatus.h",
594    "core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp",
595    "core/fpdfapi/render/cpdf_scaledrenderbuffer.h",
596    "core/fpdfapi/render/cpdf_textrenderer.cpp",
597    "core/fpdfapi/render/cpdf_textrenderer.h",
598    "core/fpdfapi/render/cpdf_transferfunc.cpp",
599    "core/fpdfapi/render/cpdf_transferfunc.h",
600    "core/fpdfapi/render/cpdf_type3cache.cpp",
601    "core/fpdfapi/render/cpdf_type3cache.h",
602    "core/fpdfapi/render/cpdf_type3glyphs.cpp",
603    "core/fpdfapi/render/cpdf_type3glyphs.h",
604  ]
605  configs += [ ":pdfium_core_config" ]
606  deps = [
607    ":fxcrt",
608  ]
609}
610
611static_library("fpdftext") {
612  sources = [
613    "core/fpdftext/cpdf_linkextract.cpp",
614    "core/fpdftext/cpdf_linkextract.h",
615    "core/fpdftext/cpdf_textpage.cpp",
616    "core/fpdftext/cpdf_textpage.h",
617    "core/fpdftext/cpdf_textpagefind.cpp",
618    "core/fpdftext/cpdf_textpagefind.h",
619    "core/fpdftext/unicodenormalizationdata.cpp",
620    "core/fpdftext/unicodenormalizationdata.h",
621  ]
622  configs += [ ":pdfium_core_config" ]
623  deps = [
624    ":fxcrt",
625  ]
626}
627
628static_library("fxcodec") {
629  sources = [
630    "core/fxcodec/JBig2_DocumentContext.h",
631    "core/fxcodec/codec/ccodec_basicmodule.h",
632    "core/fxcodec/codec/ccodec_faxmodule.h",
633    "core/fxcodec/codec/ccodec_flatemodule.h",
634    "core/fxcodec/codec/ccodec_iccmodule.h",
635    "core/fxcodec/codec/ccodec_jbig2module.h",
636    "core/fxcodec/codec/ccodec_jpegmodule.h",
637    "core/fxcodec/codec/ccodec_jpxmodule.h",
638    "core/fxcodec/codec/ccodec_scanlinedecoder.h",
639    "core/fxcodec/codec/codec_int.h",
640    "core/fxcodec/codec/fx_codec.cpp",
641    "core/fxcodec/codec/fx_codec_fax.cpp",
642    "core/fxcodec/codec/fx_codec_flate.cpp",
643    "core/fxcodec/codec/fx_codec_icc.cpp",
644    "core/fxcodec/codec/fx_codec_jbig.cpp",
645    "core/fxcodec/codec/fx_codec_jpeg.cpp",
646    "core/fxcodec/codec/fx_codec_jpx_opj.cpp",
647    "core/fxcodec/fx_codec.h",
648    "core/fxcodec/fx_codec_def.h",
649    "core/fxcodec/jbig2/JBig2_ArithDecoder.cpp",
650    "core/fxcodec/jbig2/JBig2_ArithDecoder.h",
651    "core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp",
652    "core/fxcodec/jbig2/JBig2_ArithIntDecoder.h",
653    "core/fxcodec/jbig2/JBig2_BitStream.cpp",
654    "core/fxcodec/jbig2/JBig2_BitStream.h",
655    "core/fxcodec/jbig2/JBig2_Context.cpp",
656    "core/fxcodec/jbig2/JBig2_Context.h",
657    "core/fxcodec/jbig2/JBig2_Define.h",
658    "core/fxcodec/jbig2/JBig2_GrdProc.cpp",
659    "core/fxcodec/jbig2/JBig2_GrdProc.h",
660    "core/fxcodec/jbig2/JBig2_GrrdProc.cpp",
661    "core/fxcodec/jbig2/JBig2_GrrdProc.h",
662    "core/fxcodec/jbig2/JBig2_GsidProc.cpp",
663    "core/fxcodec/jbig2/JBig2_GsidProc.h",
664    "core/fxcodec/jbig2/JBig2_HtrdProc.cpp",
665    "core/fxcodec/jbig2/JBig2_HtrdProc.h",
666    "core/fxcodec/jbig2/JBig2_HuffmanDecoder.cpp",
667    "core/fxcodec/jbig2/JBig2_HuffmanDecoder.h",
668    "core/fxcodec/jbig2/JBig2_HuffmanTable.cpp",
669    "core/fxcodec/jbig2/JBig2_HuffmanTable.h",
670    "core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.cpp",
671    "core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h",
672    "core/fxcodec/jbig2/JBig2_Image.cpp",
673    "core/fxcodec/jbig2/JBig2_Image.h",
674    "core/fxcodec/jbig2/JBig2_Page.h",
675    "core/fxcodec/jbig2/JBig2_PatternDict.cpp",
676    "core/fxcodec/jbig2/JBig2_PatternDict.h",
677    "core/fxcodec/jbig2/JBig2_PddProc.cpp",
678    "core/fxcodec/jbig2/JBig2_PddProc.h",
679    "core/fxcodec/jbig2/JBig2_SddProc.cpp",
680    "core/fxcodec/jbig2/JBig2_SddProc.h",
681    "core/fxcodec/jbig2/JBig2_Segment.cpp",
682    "core/fxcodec/jbig2/JBig2_Segment.h",
683    "core/fxcodec/jbig2/JBig2_SymbolDict.cpp",
684    "core/fxcodec/jbig2/JBig2_SymbolDict.h",
685    "core/fxcodec/jbig2/JBig2_TrdProc.cpp",
686    "core/fxcodec/jbig2/JBig2_TrdProc.h",
687  ]
688  configs += [ ":pdfium_core_config" ]
689  include_dirs = []
690  deps = [
691    ":fxcrt",
692    "third_party:fx_lcms2",
693    "third_party:fx_libopenjpeg",
694    "third_party:fx_zlib",
695
696    # This is a generic JPEG library dependency.
697    "//third_party:jpeg",
698  ]
699
700  if (pdf_enable_xfa) {
701    sources += [
702      "core/fxcodec/codec/ccodec_bmpmodule.cpp",
703      "core/fxcodec/codec/ccodec_bmpmodule.h",
704      "core/fxcodec/codec/ccodec_gifmodule.cpp",
705      "core/fxcodec/codec/ccodec_gifmodule.h",
706      "core/fxcodec/codec/ccodec_pngmodule.cpp",
707      "core/fxcodec/codec/ccodec_pngmodule.h",
708      "core/fxcodec/codec/ccodec_progressivedecoder.h",
709      "core/fxcodec/codec/ccodec_tiffmodule.cpp",
710      "core/fxcodec/codec/ccodec_tiffmodule.h",
711      "core/fxcodec/codec/fx_codec_progress.cpp",
712      "core/fxcodec/codec/icodec_bmpmodule.h",
713      "core/fxcodec/codec/icodec_gifmodule.h",
714      "core/fxcodec/codec/icodec_pngmodule.h",
715      "core/fxcodec/codec/icodec_tiffmodule.h",
716      "core/fxcodec/lbmp/fx_bmp.cpp",
717      "core/fxcodec/lbmp/fx_bmp.h",
718      "core/fxcodec/lgif/fx_gif.cpp",
719      "core/fxcodec/lgif/fx_gif.h",
720    ]
721    deps += [
722      "third_party:fx_lpng",
723      "third_party:fx_tiff",
724    ]
725  }
726  if (is_posix) {
727    # core/fxcodec/fx_libopenjpeg/src/fx_mct.c does an pointer-to-int
728    # conversion to check that an address is 16-bit aligned (benign).
729    cflags_c = [ "-Wno-pointer-to-int-cast" ]
730  }
731}
732
733config("fxge_warnings") {
734  if (is_clang) {
735    cflags = [
736      # http://code.google.com/p/pdfium/issues/detail?id=188
737      "-Wno-switch",
738    ]
739  }
740}
741
742static_library("fxcrt") {
743  sources = [
744    "core/fxcrt/cfx_maybe_owned.h",
745    "core/fxcrt/cfx_observable.h",
746    "core/fxcrt/cfx_retain_ptr.h",
747    "core/fxcrt/cfx_shared_copy_on_write.h",
748    "core/fxcrt/cfx_string_c_template.h",
749    "core/fxcrt/cfx_string_data_template.h",
750    "core/fxcrt/cfx_string_pool_template.h",
751    "core/fxcrt/cfx_weak_ptr.h",
752    "core/fxcrt/extension.h",
753    "core/fxcrt/fx_basic.h",
754    "core/fxcrt/fx_basic_array.cpp",
755    "core/fxcrt/fx_basic_bstring.cpp",
756    "core/fxcrt/fx_basic_buffer.cpp",
757    "core/fxcrt/fx_basic_coords.cpp",
758    "core/fxcrt/fx_basic_gcc.cpp",
759    "core/fxcrt/fx_basic_memmgr.cpp",
760    "core/fxcrt/fx_basic_utf.cpp",
761    "core/fxcrt/fx_basic_util.cpp",
762    "core/fxcrt/fx_basic_wstring.cpp",
763    "core/fxcrt/fx_bidi.cpp",
764    "core/fxcrt/fx_bidi.h",
765    "core/fxcrt/fx_coordinates.h",
766    "core/fxcrt/fx_ext.h",
767    "core/fxcrt/fx_extension.cpp",
768    "core/fxcrt/fx_memory.h",
769    "core/fxcrt/fx_safe_types.h",
770    "core/fxcrt/fx_stream.h",
771    "core/fxcrt/fx_string.h",
772    "core/fxcrt/fx_system.h",
773    "core/fxcrt/fx_ucd.h",
774    "core/fxcrt/fx_ucddata.cpp",
775    "core/fxcrt/fx_unicode.cpp",
776    "core/fxcrt/fx_xml.h",
777    "core/fxcrt/fx_xml_composer.cpp",
778    "core/fxcrt/fx_xml_parser.cpp",
779    "core/fxcrt/fxcrt_posix.cpp",
780    "core/fxcrt/fxcrt_posix.h",
781    "core/fxcrt/fxcrt_stream.cpp",
782    "core/fxcrt/fxcrt_windows.cpp",
783    "core/fxcrt/fxcrt_windows.h",
784    "core/fxcrt/xml_int.h",
785  ]
786  configs += [ ":pdfium_core_config" ]
787  visibility += [ "third_party:*" ]
788  deps = [
789    "third_party:pdfium_base",
790  ]
791  public_deps = [
792    "third_party:pdfium_base",
793  ]
794
795  if (pdf_enable_xfa) {
796    sources += [
797      "core/fxcrt/fx_arabic.cpp",
798      "core/fxcrt/fx_arabic.h",
799      "core/fxcrt/fx_arb.h",
800    ]
801  }
802}
803
804static_library("fxge") {
805  sources = [
806    "core/fxge/android/cfpf_skiabufferfont.h",
807    "core/fxge/android/cfpf_skiadevicemodule.cpp",
808    "core/fxge/android/cfpf_skiadevicemodule.h",
809    "core/fxge/android/cfpf_skiafilefont.h",
810    "core/fxge/android/cfpf_skiafont.cpp",
811    "core/fxge/android/cfpf_skiafont.h",
812    "core/fxge/android/cfpf_skiafontdescriptor.h",
813    "core/fxge/android/cfpf_skiafontmgr.cpp",
814    "core/fxge/android/cfpf_skiafontmgr.h",
815    "core/fxge/android/cfpf_skiapathfont.h",
816    "core/fxge/android/cfx_androidfontinfo.cpp",
817    "core/fxge/android/cfx_androidfontinfo.h",
818    "core/fxge/android/fx_android_imp.cpp",
819    "core/fxge/cfx_facecache.h",
820    "core/fxge/cfx_fontcache.h",
821    "core/fxge/cfx_fontmapper.h",
822    "core/fxge/cfx_fontmgr.h",
823    "core/fxge/cfx_fxgedevice.h",
824    "core/fxge/cfx_gemodule.h",
825    "core/fxge/cfx_graphstate.h",
826    "core/fxge/cfx_graphstatedata.h",
827    "core/fxge/cfx_pathdata.h",
828    "core/fxge/cfx_renderdevice.h",
829    "core/fxge/cfx_substfont.h",
830    "core/fxge/cfx_unicodeencoding.h",
831    "core/fxge/cfx_windowsdevice.h",
832    "core/fxge/dib/dib_int.h",
833    "core/fxge/dib/fx_dib_composite.cpp",
834    "core/fxge/dib/fx_dib_convert.cpp",
835    "core/fxge/dib/fx_dib_engine.cpp",
836    "core/fxge/dib/fx_dib_main.cpp",
837    "core/fxge/dib/fx_dib_transform.cpp",
838    "core/fxge/fontdata/chromefontdata/FoxitDingbats.cpp",
839    "core/fxge/fontdata/chromefontdata/FoxitFixed.cpp",
840    "core/fxge/fontdata/chromefontdata/FoxitFixedBold.cpp",
841    "core/fxge/fontdata/chromefontdata/FoxitFixedBoldItalic.cpp",
842    "core/fxge/fontdata/chromefontdata/FoxitFixedItalic.cpp",
843    "core/fxge/fontdata/chromefontdata/FoxitSans.cpp",
844    "core/fxge/fontdata/chromefontdata/FoxitSansBold.cpp",
845    "core/fxge/fontdata/chromefontdata/FoxitSansBoldItalic.cpp",
846    "core/fxge/fontdata/chromefontdata/FoxitSansItalic.cpp",
847    "core/fxge/fontdata/chromefontdata/FoxitSansMM.cpp",
848    "core/fxge/fontdata/chromefontdata/FoxitSerif.cpp",
849    "core/fxge/fontdata/chromefontdata/FoxitSerifBold.cpp",
850    "core/fxge/fontdata/chromefontdata/FoxitSerifBoldItalic.cpp",
851    "core/fxge/fontdata/chromefontdata/FoxitSerifItalic.cpp",
852    "core/fxge/fontdata/chromefontdata/FoxitSerifMM.cpp",
853    "core/fxge/fontdata/chromefontdata/FoxitSymbol.cpp",
854    "core/fxge/fontdata/chromefontdata/chromefontdata.h",
855    "core/fxge/freetype/fx_freetype.cpp",
856    "core/fxge/fx_dib.h",
857    "core/fxge/fx_font.h",
858    "core/fxge/fx_freetype.h",
859    "core/fxge/ge/cfx_cliprgn.cpp",
860    "core/fxge/ge/cfx_cliprgn.h",
861    "core/fxge/ge/cfx_facecache.cpp",
862    "core/fxge/ge/cfx_folderfontinfo.cpp",
863    "core/fxge/ge/cfx_folderfontinfo.h",
864    "core/fxge/ge/cfx_font.cpp",
865    "core/fxge/ge/cfx_fontcache.cpp",
866    "core/fxge/ge/cfx_fontmapper.cpp",
867    "core/fxge/ge/cfx_fontmgr.cpp",
868    "core/fxge/ge/cfx_gemodule.cpp",
869    "core/fxge/ge/cfx_graphstate.cpp",
870    "core/fxge/ge/cfx_graphstatedata.cpp",
871    "core/fxge/ge/cfx_pathdata.cpp",
872    "core/fxge/ge/cfx_renderdevice.cpp",
873    "core/fxge/ge/cfx_substfont.cpp",
874    "core/fxge/ge/cfx_unicodeencoding.cpp",
875    "core/fxge/ge/cttfontdesc.cpp",
876    "core/fxge/ge/cttfontdesc.h",
877    "core/fxge/ge/fx_ge_fontmap.cpp",
878    "core/fxge/ge/fx_ge_linux.cpp",
879    "core/fxge/ge/fx_ge_text.cpp",
880    "core/fxge/ge/fx_text_int.h",
881    "core/fxge/ifx_renderdevicedriver.cpp",
882    "core/fxge/ifx_renderdevicedriver.h",
883    "core/fxge/ifx_systemfontinfo.h",
884    "core/fxge/win32/cfx_windowsdib.h",
885  ]
886
887  configs += [
888    ":fxge_warnings",
889    ":pdfium_core_config",
890  ]
891
892  deps = [
893    ":fxcrt",
894  ]
895
896  if (pdf_enable_xfa) {
897    sources += [
898      "core/fxge/cfx_unicodeencodingex.h",
899      "core/fxge/ge/cfx_unicodeencodingex.cpp",
900    ]
901  }
902
903  if (pdf_use_skia || pdf_use_skia_paths) {
904    sources += [ "core/fxge/skia/fx_skia_device.cpp" ]
905    deps += [ "//skia" ]
906  } else {
907    sources += [
908      "core/fxge/agg/fx_agg_driver.cpp",
909      "core/fxge/agg/fx_agg_driver.h",
910    ]
911    deps += [ "third_party:fx_agg" ]
912
913    if (is_mac) {
914      sources += [ "core/fxge/apple/fx_apple_platform.cpp" ]
915    }
916  }
917
918  if (is_win) {
919    sources += [
920      "core/fxge/win32/cfx_psrenderer.cpp",
921      "core/fxge/win32/cfx_psrenderer.h",
922      "core/fxge/win32/cpsoutput.cpp",
923      "core/fxge/win32/cpsoutput.h",
924      "core/fxge/win32/dwrite_int.h",
925      "core/fxge/win32/fx_win32_device.cpp",
926      "core/fxge/win32/fx_win32_dib.cpp",
927      "core/fxge/win32/fx_win32_dwrite.cpp",
928      "core/fxge/win32/fx_win32_gdipext.cpp",
929      "core/fxge/win32/fx_win32_print.cpp",
930      "core/fxge/win32/win32_int.h",
931    ]
932    configs -= [ "//build/config/win:lean_and_mean" ]
933  }
934
935  if (is_mac) {
936    sources += [
937      "core/fxge/apple/apple_int.h",
938      "core/fxge/apple/fx_mac_imp.cpp",
939      "core/fxge/apple/fx_quartz_device.cpp",
940    ]
941  }
942}
943
944static_library("fxedit") {
945  sources = [
946    "fpdfsdk/fxedit/fx_edit.h",
947    "fpdfsdk/fxedit/fxet_ap.cpp",
948    "fpdfsdk/fxedit/fxet_edit.cpp",
949    "fpdfsdk/fxedit/fxet_edit.h",
950    "fpdfsdk/fxedit/fxet_list.cpp",
951    "fpdfsdk/fxedit/fxet_list.h",
952  ]
953  configs += [ ":pdfium_core_config" ]
954  deps = [
955    ":fxcrt",
956  ]
957}
958
959static_library("pdfwindow") {
960  sources = [
961    "fpdfsdk/pdfwindow/PWL_Button.cpp",
962    "fpdfsdk/pdfwindow/PWL_Button.h",
963    "fpdfsdk/pdfwindow/PWL_Caret.cpp",
964    "fpdfsdk/pdfwindow/PWL_Caret.h",
965    "fpdfsdk/pdfwindow/PWL_ComboBox.cpp",
966    "fpdfsdk/pdfwindow/PWL_ComboBox.h",
967    "fpdfsdk/pdfwindow/PWL_Edit.cpp",
968    "fpdfsdk/pdfwindow/PWL_Edit.h",
969    "fpdfsdk/pdfwindow/PWL_EditCtrl.cpp",
970    "fpdfsdk/pdfwindow/PWL_EditCtrl.h",
971    "fpdfsdk/pdfwindow/PWL_FontMap.cpp",
972    "fpdfsdk/pdfwindow/PWL_FontMap.h",
973    "fpdfsdk/pdfwindow/PWL_Icon.cpp",
974    "fpdfsdk/pdfwindow/PWL_Icon.h",
975    "fpdfsdk/pdfwindow/PWL_ListBox.cpp",
976    "fpdfsdk/pdfwindow/PWL_ListBox.h",
977    "fpdfsdk/pdfwindow/PWL_ScrollBar.cpp",
978    "fpdfsdk/pdfwindow/PWL_ScrollBar.h",
979    "fpdfsdk/pdfwindow/PWL_SpecialButton.cpp",
980    "fpdfsdk/pdfwindow/PWL_SpecialButton.h",
981    "fpdfsdk/pdfwindow/PWL_Utils.cpp",
982    "fpdfsdk/pdfwindow/PWL_Utils.h",
983    "fpdfsdk/pdfwindow/PWL_Wnd.cpp",
984    "fpdfsdk/pdfwindow/PWL_Wnd.h",
985    "fpdfsdk/pdfwindow/cpwl_color.cpp",
986    "fpdfsdk/pdfwindow/cpwl_color.h",
987  ]
988  configs += [ ":pdfium_core_config" ]
989  deps = [
990    ":fxcrt",
991  ]
992}
993
994static_library("javascript") {
995  sources = [
996    "fpdfsdk/javascript/ijs_event_context.h",
997    "fpdfsdk/javascript/ijs_runtime.h",
998  ]
999  configs += [ ":pdfium_core_config" ]
1000  deps = [
1001    ":fxcrt",
1002  ]
1003
1004  if (pdf_enable_v8) {
1005    sources += [
1006      "fpdfsdk/javascript/Annot.cpp",
1007      "fpdfsdk/javascript/Annot.h",
1008      "fpdfsdk/javascript/Consts.cpp",
1009      "fpdfsdk/javascript/Consts.h",
1010      "fpdfsdk/javascript/Document.cpp",
1011      "fpdfsdk/javascript/Document.h",
1012      "fpdfsdk/javascript/Field.cpp",
1013      "fpdfsdk/javascript/Field.h",
1014      "fpdfsdk/javascript/Icon.cpp",
1015      "fpdfsdk/javascript/Icon.h",
1016      "fpdfsdk/javascript/JS_Define.h",
1017      "fpdfsdk/javascript/JS_EventHandler.cpp",
1018      "fpdfsdk/javascript/JS_EventHandler.h",
1019      "fpdfsdk/javascript/JS_GlobalData.cpp",
1020      "fpdfsdk/javascript/JS_GlobalData.h",
1021      "fpdfsdk/javascript/JS_KeyValue.cpp",
1022      "fpdfsdk/javascript/JS_KeyValue.h",
1023      "fpdfsdk/javascript/JS_Object.cpp",
1024      "fpdfsdk/javascript/JS_Object.h",
1025      "fpdfsdk/javascript/JS_Value.cpp",
1026      "fpdfsdk/javascript/JS_Value.h",
1027      "fpdfsdk/javascript/PublicMethods.cpp",
1028      "fpdfsdk/javascript/PublicMethods.h",
1029      "fpdfsdk/javascript/app.cpp",
1030      "fpdfsdk/javascript/app.h",
1031      "fpdfsdk/javascript/cjs_event_context.cpp",
1032      "fpdfsdk/javascript/cjs_event_context.h",
1033      "fpdfsdk/javascript/cjs_runtime.cpp",
1034      "fpdfsdk/javascript/cjs_runtime.h",
1035      "fpdfsdk/javascript/color.cpp",
1036      "fpdfsdk/javascript/color.h",
1037      "fpdfsdk/javascript/console.cpp",
1038      "fpdfsdk/javascript/console.h",
1039      "fpdfsdk/javascript/event.cpp",
1040      "fpdfsdk/javascript/event.h",
1041      "fpdfsdk/javascript/global.cpp",
1042      "fpdfsdk/javascript/global.h",
1043      "fpdfsdk/javascript/report.cpp",
1044      "fpdfsdk/javascript/report.h",
1045      "fpdfsdk/javascript/resource.cpp",
1046      "fpdfsdk/javascript/resource.h",
1047      "fpdfsdk/javascript/util.cpp",
1048      "fpdfsdk/javascript/util.h",
1049    ]
1050    deps += [ ":fxjs" ]
1051    configs += [ "//v8:external_startup_data" ]
1052  } else {
1053    sources += [ "fpdfsdk/javascript/JS_Runtime_Stub.cpp" ]
1054  }
1055}
1056
1057static_library("formfiller") {
1058  sources = [
1059    "fpdfsdk/formfiller/cba_fontmap.cpp",
1060    "fpdfsdk/formfiller/cba_fontmap.h",
1061    "fpdfsdk/formfiller/cffl_checkbox.cpp",
1062    "fpdfsdk/formfiller/cffl_checkbox.h",
1063    "fpdfsdk/formfiller/cffl_combobox.cpp",
1064    "fpdfsdk/formfiller/cffl_combobox.h",
1065    "fpdfsdk/formfiller/cffl_formfiller.cpp",
1066    "fpdfsdk/formfiller/cffl_formfiller.h",
1067    "fpdfsdk/formfiller/cffl_interactiveformfiller.cpp",
1068    "fpdfsdk/formfiller/cffl_interactiveformfiller.h",
1069    "fpdfsdk/formfiller/cffl_listbox.cpp",
1070    "fpdfsdk/formfiller/cffl_listbox.h",
1071    "fpdfsdk/formfiller/cffl_pushbutton.cpp",
1072    "fpdfsdk/formfiller/cffl_pushbutton.h",
1073    "fpdfsdk/formfiller/cffl_radiobutton.cpp",
1074    "fpdfsdk/formfiller/cffl_radiobutton.h",
1075    "fpdfsdk/formfiller/cffl_textfield.cpp",
1076    "fpdfsdk/formfiller/cffl_textfield.h",
1077  ]
1078  configs += [ ":pdfium_core_config" ]
1079  deps = [
1080    ":fxcrt",
1081  ]
1082}
1083
1084if (pdf_enable_v8) {
1085  static_library("fxjs") {
1086    sources = [
1087      "fxjs/fxjs_v8.cpp",
1088      "fxjs/fxjs_v8.h",
1089    ]
1090    configs += [ ":pdfium_core_config" ]
1091    deps = [
1092      ":fxcrt",
1093      "//v8",
1094      "//v8:v8_libplatform",
1095    ]
1096    include_dirs = [
1097      "//v8",
1098      "//v8/include",
1099    ]
1100    public_deps = [
1101      "//v8",
1102    ]
1103
1104    if (pdf_enable_xfa) {
1105      sources += [
1106        "fxjs/cfxjse_arguments.cpp",
1107        "fxjs/cfxjse_arguments.h",
1108        "fxjs/cfxjse_class.cpp",
1109        "fxjs/cfxjse_class.h",
1110        "fxjs/cfxjse_context.cpp",
1111        "fxjs/cfxjse_context.h",
1112        "fxjs/cfxjse_isolatetracker.cpp",
1113        "fxjs/cfxjse_isolatetracker.h",
1114        "fxjs/cfxjse_runtimedata.cpp",
1115        "fxjs/cfxjse_runtimedata.h",
1116        "fxjs/cfxjse_value.cpp",
1117        "fxjs/cfxjse_value.h",
1118        "fxjs/fxjse.h",
1119      ]
1120    }
1121  }
1122}
1123
1124if (pdf_enable_xfa) {
1125  static_library("fpdfxfa") {
1126    sources = [
1127      "fpdfsdk/fpdfxfa/cpdfxfa_context.cpp",
1128      "fpdfsdk/fpdfxfa/cpdfxfa_context.h",
1129      "fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp",
1130      "fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h",
1131      "fpdfsdk/fpdfxfa/cpdfxfa_page.cpp",
1132      "fpdfsdk/fpdfxfa/cpdfxfa_page.h",
1133      "fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp",
1134      "fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h",
1135    ]
1136    deps = [
1137      ":fxcrt",
1138      ":fxjs",
1139      ":xfa",
1140    ]
1141    configs += [ ":pdfium_core_config" ]
1142  }
1143
1144  static_library("xfa") {
1145    sources = [
1146      "xfa/fde/cfde_path.cpp",
1147      "xfa/fde/cfde_path.h",
1148      "xfa/fde/cfde_txtedtbuf.cpp",
1149      "xfa/fde/cfde_txtedtbuf.h",
1150      "xfa/fde/cfde_txtedtdorecord_deleterange.cpp",
1151      "xfa/fde/cfde_txtedtdorecord_deleterange.h",
1152      "xfa/fde/cfde_txtedtdorecord_insert.cpp",
1153      "xfa/fde/cfde_txtedtdorecord_insert.h",
1154      "xfa/fde/cfde_txtedtengine.cpp",
1155      "xfa/fde/cfde_txtedtengine.h",
1156      "xfa/fde/cfde_txtedtpage.cpp",
1157      "xfa/fde/cfde_txtedtpage.h",
1158      "xfa/fde/cfde_txtedtparag.cpp",
1159      "xfa/fde/cfde_txtedtparag.h",
1160      "xfa/fde/cfde_txtedttextset.cpp",
1161      "xfa/fde/cfde_txtedttextset.h",
1162      "xfa/fde/cfx_chariter.cpp",
1163      "xfa/fde/cfx_chariter.h",
1164      "xfa/fde/cfx_wordbreak.cpp",
1165      "xfa/fde/cfx_wordbreak.h",
1166      "xfa/fde/css/cfde_csscolorvalue.cpp",
1167      "xfa/fde/css/cfde_csscolorvalue.h",
1168      "xfa/fde/css/cfde_csscomputedstyle.cpp",
1169      "xfa/fde/css/cfde_csscomputedstyle.h",
1170      "xfa/fde/css/cfde_csscustomproperty.cpp",
1171      "xfa/fde/css/cfde_csscustomproperty.h",
1172      "xfa/fde/css/cfde_cssdeclaration.cpp",
1173      "xfa/fde/css/cfde_cssdeclaration.h",
1174      "xfa/fde/css/cfde_cssenumvalue.cpp",
1175      "xfa/fde/css/cfde_cssenumvalue.h",
1176      "xfa/fde/css/cfde_cssnumbervalue.cpp",
1177      "xfa/fde/css/cfde_cssnumbervalue.h",
1178      "xfa/fde/css/cfde_csspropertyholder.cpp",
1179      "xfa/fde/css/cfde_csspropertyholder.h",
1180      "xfa/fde/css/cfde_cssrulecollection.cpp",
1181      "xfa/fde/css/cfde_cssrulecollection.h",
1182      "xfa/fde/css/cfde_cssselector.cpp",
1183      "xfa/fde/css/cfde_cssselector.h",
1184      "xfa/fde/css/cfde_cssstringvalue.cpp",
1185      "xfa/fde/css/cfde_cssstringvalue.h",
1186      "xfa/fde/css/cfde_cssstylerule.cpp",
1187      "xfa/fde/css/cfde_cssstylerule.h",
1188      "xfa/fde/css/cfde_cssstyleselector.cpp",
1189      "xfa/fde/css/cfde_cssstyleselector.h",
1190      "xfa/fde/css/cfde_cssstylesheet.cpp",
1191      "xfa/fde/css/cfde_cssstylesheet.h",
1192      "xfa/fde/css/cfde_csssyntaxparser.cpp",
1193      "xfa/fde/css/cfde_csssyntaxparser.h",
1194      "xfa/fde/css/cfde_csstextbuf.cpp",
1195      "xfa/fde/css/cfde_csstextbuf.h",
1196      "xfa/fde/css/cfde_cssvalue.cpp",
1197      "xfa/fde/css/cfde_cssvalue.h",
1198      "xfa/fde/css/cfde_cssvaluelist.cpp",
1199      "xfa/fde/css/cfde_cssvaluelist.h",
1200      "xfa/fde/css/cfde_cssvaluelistparser.cpp",
1201      "xfa/fde/css/cfde_cssvaluelistparser.h",
1202      "xfa/fde/css/fde_css.h",
1203      "xfa/fde/css/fde_cssdatatable.cpp",
1204      "xfa/fde/css/fde_cssdatatable.h",
1205      "xfa/fde/fde_gedevice.cpp",
1206      "xfa/fde/fde_iterator.cpp",
1207      "xfa/fde/fde_iterator.h",
1208      "xfa/fde/fde_object.h",
1209      "xfa/fde/fde_render.cpp",
1210      "xfa/fde/fde_render.h",
1211      "xfa/fde/ifde_txtedtdorecord.h",
1212      "xfa/fde/ifde_txtedtengine.h",
1213      "xfa/fde/ifde_txtedtpage.h",
1214      "xfa/fde/ifx_chariter.h",
1215      "xfa/fde/tto/fde_textout.cpp",
1216      "xfa/fde/tto/fde_textout.h",
1217      "xfa/fde/xml/cfx_saxreader.cpp",
1218      "xfa/fde/xml/cfx_saxreader.h",
1219      "xfa/fde/xml/fde_xml.h",
1220      "xfa/fde/xml/fde_xml_imp.cpp",
1221      "xfa/fde/xml/fde_xml_imp.h",
1222      "xfa/fgas/crt/fgas_codepage.cpp",
1223      "xfa/fgas/crt/fgas_codepage.h",
1224      "xfa/fgas/crt/fgas_language.h",
1225      "xfa/fgas/crt/fgas_stream.cpp",
1226      "xfa/fgas/crt/fgas_stream.h",
1227      "xfa/fgas/crt/fgas_utils.cpp",
1228      "xfa/fgas/crt/fgas_utils.h",
1229      "xfa/fgas/font/cfgas_fontmgr.cpp",
1230      "xfa/fgas/font/cfgas_fontmgr.h",
1231      "xfa/fgas/font/cfgas_gefont.cpp",
1232      "xfa/fgas/font/cfgas_gefont.h",
1233      "xfa/fgas/font/fgas_fontutils.cpp",
1234      "xfa/fgas/font/fgas_fontutils.h",
1235      "xfa/fgas/layout/fgas_linebreak.cpp",
1236      "xfa/fgas/layout/fgas_linebreak.h",
1237      "xfa/fgas/layout/fgas_rtfbreak.cpp",
1238      "xfa/fgas/layout/fgas_rtfbreak.h",
1239      "xfa/fgas/layout/fgas_textbreak.cpp",
1240      "xfa/fgas/layout/fgas_textbreak.h",
1241      "xfa/fgas/localization/fgas_datetime.cpp",
1242      "xfa/fgas/localization/fgas_datetime.h",
1243      "xfa/fgas/localization/fgas_locale.cpp",
1244      "xfa/fgas/localization/fgas_locale.h",
1245      "xfa/fgas/localization/fgas_localeimp.h",
1246      "xfa/fwl/cfwl_app.cpp",
1247      "xfa/fwl/cfwl_app.h",
1248      "xfa/fwl/cfwl_barcode.cpp",
1249      "xfa/fwl/cfwl_barcode.h",
1250      "xfa/fwl/cfwl_caret.cpp",
1251      "xfa/fwl/cfwl_caret.h",
1252      "xfa/fwl/cfwl_checkbox.cpp",
1253      "xfa/fwl/cfwl_checkbox.h",
1254      "xfa/fwl/cfwl_combobox.cpp",
1255      "xfa/fwl/cfwl_combobox.h",
1256      "xfa/fwl/cfwl_comboboxproxy.cpp",
1257      "xfa/fwl/cfwl_comboboxproxy.h",
1258      "xfa/fwl/cfwl_comboedit.cpp",
1259      "xfa/fwl/cfwl_comboedit.h",
1260      "xfa/fwl/cfwl_combolist.cpp",
1261      "xfa/fwl/cfwl_combolist.h",
1262      "xfa/fwl/cfwl_datetimeedit.cpp",
1263      "xfa/fwl/cfwl_datetimeedit.h",
1264      "xfa/fwl/cfwl_datetimepicker.cpp",
1265      "xfa/fwl/cfwl_datetimepicker.h",
1266      "xfa/fwl/cfwl_edit.cpp",
1267      "xfa/fwl/cfwl_edit.h",
1268      "xfa/fwl/cfwl_event.cpp",
1269      "xfa/fwl/cfwl_event.h",
1270      "xfa/fwl/cfwl_eventcheckword.cpp",
1271      "xfa/fwl/cfwl_eventcheckword.h",
1272      "xfa/fwl/cfwl_eventmouse.cpp",
1273      "xfa/fwl/cfwl_eventmouse.h",
1274      "xfa/fwl/cfwl_eventscroll.cpp",
1275      "xfa/fwl/cfwl_eventscroll.h",
1276      "xfa/fwl/cfwl_eventselectchanged.cpp",
1277      "xfa/fwl/cfwl_eventselectchanged.h",
1278      "xfa/fwl/cfwl_eventtarget.cpp",
1279      "xfa/fwl/cfwl_eventtarget.h",
1280      "xfa/fwl/cfwl_eventtextchanged.cpp",
1281      "xfa/fwl/cfwl_eventtextchanged.h",
1282      "xfa/fwl/cfwl_eventvalidate.cpp",
1283      "xfa/fwl/cfwl_eventvalidate.h",
1284      "xfa/fwl/cfwl_form.cpp",
1285      "xfa/fwl/cfwl_form.h",
1286      "xfa/fwl/cfwl_formproxy.cpp",
1287      "xfa/fwl/cfwl_formproxy.h",
1288      "xfa/fwl/cfwl_listbox.cpp",
1289      "xfa/fwl/cfwl_listbox.h",
1290      "xfa/fwl/cfwl_listitem.cpp",
1291      "xfa/fwl/cfwl_listitem.h",
1292      "xfa/fwl/cfwl_message.cpp",
1293      "xfa/fwl/cfwl_message.h",
1294      "xfa/fwl/cfwl_messagekey.cpp",
1295      "xfa/fwl/cfwl_messagekey.h",
1296      "xfa/fwl/cfwl_messagekillfocus.cpp",
1297      "xfa/fwl/cfwl_messagekillfocus.h",
1298      "xfa/fwl/cfwl_messagemouse.cpp",
1299      "xfa/fwl/cfwl_messagemouse.h",
1300      "xfa/fwl/cfwl_messagemousewheel.cpp",
1301      "xfa/fwl/cfwl_messagemousewheel.h",
1302      "xfa/fwl/cfwl_messagesetfocus.cpp",
1303      "xfa/fwl/cfwl_messagesetfocus.h",
1304      "xfa/fwl/cfwl_monthcalendar.cpp",
1305      "xfa/fwl/cfwl_monthcalendar.h",
1306      "xfa/fwl/cfwl_notedriver.cpp",
1307      "xfa/fwl/cfwl_notedriver.h",
1308      "xfa/fwl/cfwl_noteloop.cpp",
1309      "xfa/fwl/cfwl_noteloop.h",
1310      "xfa/fwl/cfwl_picturebox.cpp",
1311      "xfa/fwl/cfwl_picturebox.h",
1312      "xfa/fwl/cfwl_pushbutton.cpp",
1313      "xfa/fwl/cfwl_pushbutton.h",
1314      "xfa/fwl/cfwl_scrollbar.cpp",
1315      "xfa/fwl/cfwl_scrollbar.h",
1316      "xfa/fwl/cfwl_spinbutton.cpp",
1317      "xfa/fwl/cfwl_spinbutton.h",
1318      "xfa/fwl/cfwl_themebackground.h",
1319      "xfa/fwl/cfwl_themepart.cpp",
1320      "xfa/fwl/cfwl_themepart.h",
1321      "xfa/fwl/cfwl_themetext.h",
1322      "xfa/fwl/cfwl_timer.cpp",
1323      "xfa/fwl/cfwl_timer.h",
1324      "xfa/fwl/cfwl_timerinfo.cpp",
1325      "xfa/fwl/cfwl_timerinfo.h",
1326      "xfa/fwl/cfwl_widget.cpp",
1327      "xfa/fwl/cfwl_widget.h",
1328      "xfa/fwl/cfwl_widgetmgr.cpp",
1329      "xfa/fwl/cfwl_widgetmgr.h",
1330      "xfa/fwl/cfwl_widgetproperties.cpp",
1331      "xfa/fwl/cfwl_widgetproperties.h",
1332      "xfa/fwl/cfx_barcode.cpp",
1333      "xfa/fwl/cfx_barcode.h",
1334      "xfa/fwl/fwl_widgetdef.h",
1335      "xfa/fwl/fwl_widgethit.h",
1336      "xfa/fwl/ifwl_adaptertimermgr.h",
1337      "xfa/fwl/ifwl_themeprovider.h",
1338      "xfa/fwl/ifwl_widgetdelegate.h",
1339      "xfa/fwl/ifwl_widgetmgrdelegate.h",
1340      "xfa/fwl/theme/cfwl_barcodetp.cpp",
1341      "xfa/fwl/theme/cfwl_barcodetp.h",
1342      "xfa/fwl/theme/cfwl_carettp.cpp",
1343      "xfa/fwl/theme/cfwl_carettp.h",
1344      "xfa/fwl/theme/cfwl_checkboxtp.cpp",
1345      "xfa/fwl/theme/cfwl_checkboxtp.h",
1346      "xfa/fwl/theme/cfwl_comboboxtp.cpp",
1347      "xfa/fwl/theme/cfwl_comboboxtp.h",
1348      "xfa/fwl/theme/cfwl_datetimepickertp.cpp",
1349      "xfa/fwl/theme/cfwl_datetimepickertp.h",
1350      "xfa/fwl/theme/cfwl_edittp.cpp",
1351      "xfa/fwl/theme/cfwl_edittp.h",
1352      "xfa/fwl/theme/cfwl_listboxtp.cpp",
1353      "xfa/fwl/theme/cfwl_listboxtp.h",
1354      "xfa/fwl/theme/cfwl_monthcalendartp.cpp",
1355      "xfa/fwl/theme/cfwl_monthcalendartp.h",
1356      "xfa/fwl/theme/cfwl_pictureboxtp.cpp",
1357      "xfa/fwl/theme/cfwl_pictureboxtp.h",
1358      "xfa/fwl/theme/cfwl_pushbuttontp.cpp",
1359      "xfa/fwl/theme/cfwl_pushbuttontp.h",
1360      "xfa/fwl/theme/cfwl_scrollbartp.cpp",
1361      "xfa/fwl/theme/cfwl_scrollbartp.h",
1362      "xfa/fwl/theme/cfwl_utils.h",
1363      "xfa/fwl/theme/cfwl_widgettp.cpp",
1364      "xfa/fwl/theme/cfwl_widgettp.h",
1365      "xfa/fxbarcode/BC_Dimension.cpp",
1366      "xfa/fxbarcode/BC_Dimension.h",
1367      "xfa/fxbarcode/BC_Library.cpp",
1368      "xfa/fxbarcode/BC_Library.h",
1369      "xfa/fxbarcode/BC_TwoDimWriter.cpp",
1370      "xfa/fxbarcode/BC_TwoDimWriter.h",
1371      "xfa/fxbarcode/BC_UtilCodingConvert.cpp",
1372      "xfa/fxbarcode/BC_UtilCodingConvert.h",
1373      "xfa/fxbarcode/BC_Utils.cpp",
1374      "xfa/fxbarcode/BC_Writer.cpp",
1375      "xfa/fxbarcode/BC_Writer.h",
1376      "xfa/fxbarcode/cbc_codabar.cpp",
1377      "xfa/fxbarcode/cbc_codabar.h",
1378      "xfa/fxbarcode/cbc_code128.cpp",
1379      "xfa/fxbarcode/cbc_code128.h",
1380      "xfa/fxbarcode/cbc_code39.cpp",
1381      "xfa/fxbarcode/cbc_code39.h",
1382      "xfa/fxbarcode/cbc_codebase.cpp",
1383      "xfa/fxbarcode/cbc_codebase.h",
1384      "xfa/fxbarcode/cbc_datamatrix.cpp",
1385      "xfa/fxbarcode/cbc_datamatrix.h",
1386      "xfa/fxbarcode/cbc_ean13.cpp",
1387      "xfa/fxbarcode/cbc_ean13.h",
1388      "xfa/fxbarcode/cbc_ean8.cpp",
1389      "xfa/fxbarcode/cbc_ean8.h",
1390      "xfa/fxbarcode/cbc_onecode.cpp",
1391      "xfa/fxbarcode/cbc_onecode.h",
1392      "xfa/fxbarcode/cbc_pdf417i.cpp",
1393      "xfa/fxbarcode/cbc_pdf417i.h",
1394      "xfa/fxbarcode/cbc_qrcode.cpp",
1395      "xfa/fxbarcode/cbc_qrcode.h",
1396      "xfa/fxbarcode/cbc_upca.cpp",
1397      "xfa/fxbarcode/cbc_upca.h",
1398      "xfa/fxbarcode/common/BC_CommonBitArray.cpp",
1399      "xfa/fxbarcode/common/BC_CommonBitArray.h",
1400      "xfa/fxbarcode/common/BC_CommonBitMatrix.cpp",
1401      "xfa/fxbarcode/common/BC_CommonBitMatrix.h",
1402      "xfa/fxbarcode/common/BC_CommonByteArray.cpp",
1403      "xfa/fxbarcode/common/BC_CommonByteArray.h",
1404      "xfa/fxbarcode/common/BC_CommonByteMatrix.cpp",
1405      "xfa/fxbarcode/common/BC_CommonByteMatrix.h",
1406      "xfa/fxbarcode/common/reedsolomon/BC_ReedSolomon.cpp",
1407      "xfa/fxbarcode/common/reedsolomon/BC_ReedSolomon.h",
1408      "xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.cpp",
1409      "xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.h",
1410      "xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.cpp",
1411      "xfa/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.h",
1412      "xfa/fxbarcode/datamatrix/BC_ASCIIEncoder.cpp",
1413      "xfa/fxbarcode/datamatrix/BC_ASCIIEncoder.h",
1414      "xfa/fxbarcode/datamatrix/BC_Base256Encoder.cpp",
1415      "xfa/fxbarcode/datamatrix/BC_Base256Encoder.h",
1416      "xfa/fxbarcode/datamatrix/BC_C40Encoder.cpp",
1417      "xfa/fxbarcode/datamatrix/BC_C40Encoder.h",
1418      "xfa/fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.cpp",
1419      "xfa/fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.h",
1420      "xfa/fxbarcode/datamatrix/BC_DataMatrixWriter.cpp",
1421      "xfa/fxbarcode/datamatrix/BC_DataMatrixWriter.h",
1422      "xfa/fxbarcode/datamatrix/BC_DefaultPlacement.cpp",
1423      "xfa/fxbarcode/datamatrix/BC_DefaultPlacement.h",
1424      "xfa/fxbarcode/datamatrix/BC_EdifactEncoder.cpp",
1425      "xfa/fxbarcode/datamatrix/BC_EdifactEncoder.h",
1426      "xfa/fxbarcode/datamatrix/BC_Encoder.cpp",
1427      "xfa/fxbarcode/datamatrix/BC_Encoder.h",
1428      "xfa/fxbarcode/datamatrix/BC_EncoderContext.cpp",
1429      "xfa/fxbarcode/datamatrix/BC_EncoderContext.h",
1430      "xfa/fxbarcode/datamatrix/BC_ErrorCorrection.cpp",
1431      "xfa/fxbarcode/datamatrix/BC_ErrorCorrection.h",
1432      "xfa/fxbarcode/datamatrix/BC_HighLevelEncoder.cpp",
1433      "xfa/fxbarcode/datamatrix/BC_HighLevelEncoder.h",
1434      "xfa/fxbarcode/datamatrix/BC_SymbolInfo.cpp",
1435      "xfa/fxbarcode/datamatrix/BC_SymbolInfo.h",
1436      "xfa/fxbarcode/datamatrix/BC_SymbolShapeHint.cpp",
1437      "xfa/fxbarcode/datamatrix/BC_SymbolShapeHint.h",
1438      "xfa/fxbarcode/datamatrix/BC_TextEncoder.cpp",
1439      "xfa/fxbarcode/datamatrix/BC_TextEncoder.h",
1440      "xfa/fxbarcode/datamatrix/BC_X12Encoder.cpp",
1441      "xfa/fxbarcode/datamatrix/BC_X12Encoder.h",
1442      "xfa/fxbarcode/oned/BC_OneDimWriter.cpp",
1443      "xfa/fxbarcode/oned/BC_OneDimWriter.h",
1444      "xfa/fxbarcode/oned/BC_OnedCodaBarWriter.cpp",
1445      "xfa/fxbarcode/oned/BC_OnedCodaBarWriter.h",
1446      "xfa/fxbarcode/oned/BC_OnedCode128Writer.cpp",
1447      "xfa/fxbarcode/oned/BC_OnedCode128Writer.h",
1448      "xfa/fxbarcode/oned/BC_OnedCode39Writer.cpp",
1449      "xfa/fxbarcode/oned/BC_OnedCode39Writer.h",
1450      "xfa/fxbarcode/oned/BC_OnedEAN13Writer.cpp",
1451      "xfa/fxbarcode/oned/BC_OnedEAN13Writer.h",
1452      "xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp",
1453      "xfa/fxbarcode/oned/BC_OnedEAN8Writer.h",
1454      "xfa/fxbarcode/oned/BC_OnedUPCAWriter.cpp",
1455      "xfa/fxbarcode/oned/BC_OnedUPCAWriter.h",
1456      "xfa/fxbarcode/pdf417/BC_PDF417.cpp",
1457      "xfa/fxbarcode/pdf417/BC_PDF417.h",
1458      "xfa/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.cpp",
1459      "xfa/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h",
1460      "xfa/fxbarcode/pdf417/BC_PDF417BarcodeRow.cpp",
1461      "xfa/fxbarcode/pdf417/BC_PDF417BarcodeRow.h",
1462      "xfa/fxbarcode/pdf417/BC_PDF417Compaction.cpp",
1463      "xfa/fxbarcode/pdf417/BC_PDF417Compaction.h",
1464      "xfa/fxbarcode/pdf417/BC_PDF417ErrorCorrection.cpp",
1465      "xfa/fxbarcode/pdf417/BC_PDF417ErrorCorrection.h",
1466      "xfa/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.cpp",
1467      "xfa/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h",
1468      "xfa/fxbarcode/pdf417/BC_PDF417Writer.cpp",
1469      "xfa/fxbarcode/pdf417/BC_PDF417Writer.h",
1470      "xfa/fxbarcode/qrcode/BC_QRCodeWriter.cpp",
1471      "xfa/fxbarcode/qrcode/BC_QRCodeWriter.h",
1472      "xfa/fxbarcode/qrcode/BC_QRCoder.cpp",
1473      "xfa/fxbarcode/qrcode/BC_QRCoder.h",
1474      "xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp",
1475      "xfa/fxbarcode/qrcode/BC_QRCoderBitVector.h",
1476      "xfa/fxbarcode/qrcode/BC_QRCoderBlockPair.cpp",
1477      "xfa/fxbarcode/qrcode/BC_QRCoderBlockPair.h",
1478      "xfa/fxbarcode/qrcode/BC_QRCoderECB.cpp",
1479      "xfa/fxbarcode/qrcode/BC_QRCoderECB.h",
1480      "xfa/fxbarcode/qrcode/BC_QRCoderECBlocks.cpp",
1481      "xfa/fxbarcode/qrcode/BC_QRCoderECBlocks.h",
1482      "xfa/fxbarcode/qrcode/BC_QRCoderEncoder.cpp",
1483      "xfa/fxbarcode/qrcode/BC_QRCoderEncoder.h",
1484      "xfa/fxbarcode/qrcode/BC_QRCoderErrorCorrectionLevel.cpp",
1485      "xfa/fxbarcode/qrcode/BC_QRCoderErrorCorrectionLevel.h",
1486      "xfa/fxbarcode/qrcode/BC_QRCoderMaskUtil.cpp",
1487      "xfa/fxbarcode/qrcode/BC_QRCoderMaskUtil.h",
1488      "xfa/fxbarcode/qrcode/BC_QRCoderMatrixUtil.cpp",
1489      "xfa/fxbarcode/qrcode/BC_QRCoderMatrixUtil.h",
1490      "xfa/fxbarcode/qrcode/BC_QRCoderMode.cpp",
1491      "xfa/fxbarcode/qrcode/BC_QRCoderMode.h",
1492      "xfa/fxbarcode/qrcode/BC_QRCoderVersion.cpp",
1493      "xfa/fxbarcode/qrcode/BC_QRCoderVersion.h",
1494      "xfa/fxbarcode/utils.h",
1495      "xfa/fxfa/app/cxfa_csstagprovider.cpp",
1496      "xfa/fxfa/app/cxfa_csstagprovider.h",
1497      "xfa/fxfa/app/cxfa_eventparam.cpp",
1498      "xfa/fxfa/app/cxfa_linkuserdata.cpp",
1499      "xfa/fxfa/app/cxfa_linkuserdata.h",
1500      "xfa/fxfa/app/cxfa_loadercontext.cpp",
1501      "xfa/fxfa/app/cxfa_loadercontext.h",
1502      "xfa/fxfa/app/cxfa_pieceline.cpp",
1503      "xfa/fxfa/app/cxfa_pieceline.h",
1504      "xfa/fxfa/app/cxfa_textlayout.cpp",
1505      "xfa/fxfa/app/cxfa_textlayout.h",
1506      "xfa/fxfa/app/cxfa_textparsecontext.cpp",
1507      "xfa/fxfa/app/cxfa_textparsecontext.h",
1508      "xfa/fxfa/app/cxfa_textparser.cpp",
1509      "xfa/fxfa/app/cxfa_textparser.h",
1510      "xfa/fxfa/app/cxfa_texttabstopscontext.cpp",
1511      "xfa/fxfa/app/cxfa_texttabstopscontext.h",
1512      "xfa/fxfa/app/cxfa_textuserdata.cpp",
1513      "xfa/fxfa/app/cxfa_textuserdata.h",
1514      "xfa/fxfa/app/xfa_checksum.cpp",
1515      "xfa/fxfa/app/xfa_ffapp.cpp",
1516      "xfa/fxfa/app/xfa_ffbarcode.cpp",
1517      "xfa/fxfa/app/xfa_ffbarcode.h",
1518      "xfa/fxfa/app/xfa_ffcheckbutton.cpp",
1519      "xfa/fxfa/app/xfa_ffcheckbutton.h",
1520      "xfa/fxfa/app/xfa_ffchoicelist.cpp",
1521      "xfa/fxfa/app/xfa_ffchoicelist.h",
1522      "xfa/fxfa/app/xfa_ffdoc.cpp",
1523      "xfa/fxfa/app/xfa_ffdochandler.cpp",
1524      "xfa/fxfa/app/xfa_ffdocview.cpp",
1525      "xfa/fxfa/app/xfa_ffdraw.cpp",
1526      "xfa/fxfa/app/xfa_ffdraw.h",
1527      "xfa/fxfa/app/xfa_ffexclgroup.cpp",
1528      "xfa/fxfa/app/xfa_ffexclgroup.h",
1529      "xfa/fxfa/app/xfa_fffield.cpp",
1530      "xfa/fxfa/app/xfa_fffield.h",
1531      "xfa/fxfa/app/xfa_ffimage.cpp",
1532      "xfa/fxfa/app/xfa_ffimage.h",
1533      "xfa/fxfa/app/xfa_ffimageedit.cpp",
1534      "xfa/fxfa/app/xfa_ffimageedit.h",
1535      "xfa/fxfa/app/xfa_ffnotify.cpp",
1536      "xfa/fxfa/app/xfa_ffnotify.h",
1537      "xfa/fxfa/app/xfa_ffpageview.cpp",
1538      "xfa/fxfa/app/xfa_ffpath.cpp",
1539      "xfa/fxfa/app/xfa_ffpath.h",
1540      "xfa/fxfa/app/xfa_ffpushbutton.cpp",
1541      "xfa/fxfa/app/xfa_ffpushbutton.h",
1542      "xfa/fxfa/app/xfa_ffsignature.cpp",
1543      "xfa/fxfa/app/xfa_ffsignature.h",
1544      "xfa/fxfa/app/xfa_ffsubform.cpp",
1545      "xfa/fxfa/app/xfa_ffsubform.h",
1546      "xfa/fxfa/app/xfa_fftext.cpp",
1547      "xfa/fxfa/app/xfa_fftext.h",
1548      "xfa/fxfa/app/xfa_fftextedit.cpp",
1549      "xfa/fxfa/app/xfa_fftextedit.h",
1550      "xfa/fxfa/app/xfa_ffwidget.cpp",
1551      "xfa/fxfa/app/xfa_ffwidgetacc.cpp",
1552      "xfa/fxfa/app/xfa_ffwidgetacc.h",
1553      "xfa/fxfa/app/xfa_ffwidgethandler.cpp",
1554      "xfa/fxfa/app/xfa_fontmgr.cpp",
1555      "xfa/fxfa/app/xfa_fwladapter.cpp",
1556      "xfa/fxfa/app/xfa_fwladapter.h",
1557      "xfa/fxfa/app/xfa_fwltheme.cpp",
1558      "xfa/fxfa/app/xfa_fwltheme.h",
1559      "xfa/fxfa/app/xfa_rendercontext.cpp",
1560      "xfa/fxfa/app/xfa_textpiece.cpp",
1561      "xfa/fxfa/app/xfa_textpiece.h",
1562      "xfa/fxfa/cxfa_eventparam.h",
1563      "xfa/fxfa/fm2js/xfa_error.cpp",
1564      "xfa/fxfa/fm2js/xfa_error.h",
1565      "xfa/fxfa/fm2js/xfa_expression.cpp",
1566      "xfa/fxfa/fm2js/xfa_expression.h",
1567      "xfa/fxfa/fm2js/xfa_fm2jscontext.cpp",
1568      "xfa/fxfa/fm2js/xfa_fm2jscontext.h",
1569      "xfa/fxfa/fm2js/xfa_fmparse.cpp",
1570      "xfa/fxfa/fm2js/xfa_fmparse.h",
1571      "xfa/fxfa/fm2js/xfa_lexer.cpp",
1572      "xfa/fxfa/fm2js/xfa_lexer.h",
1573      "xfa/fxfa/fm2js/xfa_program.cpp",
1574      "xfa/fxfa/fm2js/xfa_program.h",
1575      "xfa/fxfa/fm2js/xfa_simpleexpression.cpp",
1576      "xfa/fxfa/fm2js/xfa_simpleexpression.h",
1577      "xfa/fxfa/fxfa.h",
1578      "xfa/fxfa/fxfa_basic.h",
1579      "xfa/fxfa/fxfa_widget.h",
1580      "xfa/fxfa/parser/cscript_datawindow.cpp",
1581      "xfa/fxfa/parser/cscript_datawindow.h",
1582      "xfa/fxfa/parser/cscript_eventpseudomodel.cpp",
1583      "xfa/fxfa/parser/cscript_eventpseudomodel.h",
1584      "xfa/fxfa/parser/cscript_hostpseudomodel.cpp",
1585      "xfa/fxfa/parser/cscript_hostpseudomodel.h",
1586      "xfa/fxfa/parser/cscript_layoutpseudomodel.cpp",
1587      "xfa/fxfa/parser/cscript_layoutpseudomodel.h",
1588      "xfa/fxfa/parser/cscript_logpseudomodel.cpp",
1589      "xfa/fxfa/parser/cscript_logpseudomodel.h",
1590      "xfa/fxfa/parser/cscript_signaturepseudomodel.cpp",
1591      "xfa/fxfa/parser/cscript_signaturepseudomodel.h",
1592      "xfa/fxfa/parser/cxfa_arc.h",
1593      "xfa/fxfa/parser/cxfa_arraynodelist.cpp",
1594      "xfa/fxfa/parser/cxfa_assist.cpp",
1595      "xfa/fxfa/parser/cxfa_assist.h",
1596      "xfa/fxfa/parser/cxfa_attachnodelist.cpp",
1597      "xfa/fxfa/parser/cxfa_bind.cpp",
1598      "xfa/fxfa/parser/cxfa_bind.h",
1599      "xfa/fxfa/parser/cxfa_binditems.cpp",
1600      "xfa/fxfa/parser/cxfa_binditems.h",
1601      "xfa/fxfa/parser/cxfa_border.h",
1602      "xfa/fxfa/parser/cxfa_box.cpp",
1603      "xfa/fxfa/parser/cxfa_box.h",
1604      "xfa/fxfa/parser/cxfa_calculate.cpp",
1605      "xfa/fxfa/parser/cxfa_calculate.h",
1606      "xfa/fxfa/parser/cxfa_caption.cpp",
1607      "xfa/fxfa/parser/cxfa_caption.h",
1608      "xfa/fxfa/parser/cxfa_containerlayoutitem.cpp",
1609      "xfa/fxfa/parser/cxfa_containerlayoutitem.h",
1610      "xfa/fxfa/parser/cxfa_contentlayoutitem.cpp",
1611      "xfa/fxfa/parser/cxfa_contentlayoutitem.h",
1612      "xfa/fxfa/parser/cxfa_corner.h",
1613      "xfa/fxfa/parser/cxfa_data.cpp",
1614      "xfa/fxfa/parser/cxfa_data.h",
1615      "xfa/fxfa/parser/cxfa_dataexporter.cpp",
1616      "xfa/fxfa/parser/cxfa_dataexporter.h",
1617      "xfa/fxfa/parser/cxfa_dataimporter.cpp",
1618      "xfa/fxfa/parser/cxfa_dataimporter.h",
1619      "xfa/fxfa/parser/cxfa_document.cpp",
1620      "xfa/fxfa/parser/cxfa_document.h",
1621      "xfa/fxfa/parser/cxfa_document_parser.cpp",
1622      "xfa/fxfa/parser/cxfa_document_parser.h",
1623      "xfa/fxfa/parser/cxfa_edge.h",
1624      "xfa/fxfa/parser/cxfa_event.cpp",
1625      "xfa/fxfa/parser/cxfa_event.h",
1626      "xfa/fxfa/parser/cxfa_exdata.cpp",
1627      "xfa/fxfa/parser/cxfa_exdata.h",
1628      "xfa/fxfa/parser/cxfa_fill.cpp",
1629      "xfa/fxfa/parser/cxfa_fill.h",
1630      "xfa/fxfa/parser/cxfa_font.cpp",
1631      "xfa/fxfa/parser/cxfa_font.h",
1632      "xfa/fxfa/parser/cxfa_image.cpp",
1633      "xfa/fxfa/parser/cxfa_image.h",
1634      "xfa/fxfa/parser/cxfa_layoutitem.cpp",
1635      "xfa/fxfa/parser/cxfa_layoutitem.h",
1636      "xfa/fxfa/parser/cxfa_layoutpagemgr.cpp",
1637      "xfa/fxfa/parser/cxfa_layoutpagemgr.h",
1638      "xfa/fxfa/parser/cxfa_layoutprocessor.cpp",
1639      "xfa/fxfa/parser/cxfa_layoutprocessor.h",
1640      "xfa/fxfa/parser/cxfa_line.cpp",
1641      "xfa/fxfa/parser/cxfa_line.h",
1642      "xfa/fxfa/parser/cxfa_margin.cpp",
1643      "xfa/fxfa/parser/cxfa_margin.h",
1644      "xfa/fxfa/parser/cxfa_measurement.cpp",
1645      "xfa/fxfa/parser/cxfa_measurement.h",
1646      "xfa/fxfa/parser/cxfa_node.cpp",
1647      "xfa/fxfa/parser/cxfa_nodehelper.cpp",
1648      "xfa/fxfa/parser/cxfa_nodehelper.h",
1649      "xfa/fxfa/parser/cxfa_nodelist.cpp",
1650      "xfa/fxfa/parser/cxfa_object.cpp",
1651      "xfa/fxfa/parser/cxfa_occur.cpp",
1652      "xfa/fxfa/parser/cxfa_occur.h",
1653      "xfa/fxfa/parser/cxfa_para.cpp",
1654      "xfa/fxfa/parser/cxfa_para.h",
1655      "xfa/fxfa/parser/cxfa_rectangle.h",
1656      "xfa/fxfa/parser/cxfa_resolveprocessor.cpp",
1657      "xfa/fxfa/parser/cxfa_resolveprocessor.h",
1658      "xfa/fxfa/parser/cxfa_script.cpp",
1659      "xfa/fxfa/parser/cxfa_script.h",
1660      "xfa/fxfa/parser/cxfa_scriptcontext.cpp",
1661      "xfa/fxfa/parser/cxfa_scriptcontext.h",
1662      "xfa/fxfa/parser/cxfa_simple_parser.cpp",
1663      "xfa/fxfa/parser/cxfa_simple_parser.h",
1664      "xfa/fxfa/parser/cxfa_stroke.cpp",
1665      "xfa/fxfa/parser/cxfa_stroke.h",
1666      "xfa/fxfa/parser/cxfa_submit.cpp",
1667      "xfa/fxfa/parser/cxfa_submit.h",
1668      "xfa/fxfa/parser/cxfa_text.cpp",
1669      "xfa/fxfa/parser/cxfa_text.h",
1670      "xfa/fxfa/parser/cxfa_thisproxy.cpp",
1671      "xfa/fxfa/parser/cxfa_tooltip.cpp",
1672      "xfa/fxfa/parser/cxfa_tooltip.h",
1673      "xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h",
1674      "xfa/fxfa/parser/cxfa_traversestrategy_contentlayoutitem.h",
1675      "xfa/fxfa/parser/cxfa_traversestrategy_layoutitem.h",
1676      "xfa/fxfa/parser/cxfa_validate.cpp",
1677      "xfa/fxfa/parser/cxfa_validate.h",
1678      "xfa/fxfa/parser/cxfa_value.cpp",
1679      "xfa/fxfa/parser/cxfa_value.h",
1680      "xfa/fxfa/parser/cxfa_valuearray.cpp",
1681      "xfa/fxfa/parser/cxfa_valuearray.h",
1682      "xfa/fxfa/parser/cxfa_widetextread.cpp",
1683      "xfa/fxfa/parser/cxfa_widetextread.h",
1684      "xfa/fxfa/parser/cxfa_widgetdata.cpp",
1685      "xfa/fxfa/parser/cxfa_widgetdata.h",
1686      "xfa/fxfa/parser/cxfa_xml_parser.cpp",
1687      "xfa/fxfa/parser/cxfa_xml_parser.h",
1688      "xfa/fxfa/parser/xfa_basic_data.cpp",
1689      "xfa/fxfa/parser/xfa_basic_data.h",
1690      "xfa/fxfa/parser/xfa_basic_data_attributes.cpp",
1691      "xfa/fxfa/parser/xfa_basic_data_element_attributes.cpp",
1692      "xfa/fxfa/parser/xfa_basic_data_element_properties.cpp",
1693      "xfa/fxfa/parser/xfa_basic_data_element_script.cpp",
1694      "xfa/fxfa/parser/xfa_basic_data_enum.cpp",
1695      "xfa/fxfa/parser/xfa_basic_data_packets.cpp",
1696      "xfa/fxfa/parser/xfa_document_datamerger_imp.cpp",
1697      "xfa/fxfa/parser/xfa_document_datamerger_imp.h",
1698      "xfa/fxfa/parser/xfa_layout_itemlayout.cpp",
1699      "xfa/fxfa/parser/xfa_layout_itemlayout.h",
1700      "xfa/fxfa/parser/xfa_locale.cpp",
1701      "xfa/fxfa/parser/xfa_locale.h",
1702      "xfa/fxfa/parser/xfa_localemgr.cpp",
1703      "xfa/fxfa/parser/xfa_localemgr.h",
1704      "xfa/fxfa/parser/xfa_localevalue.cpp",
1705      "xfa/fxfa/parser/xfa_localevalue.h",
1706      "xfa/fxfa/parser/xfa_object.h",
1707      "xfa/fxfa/parser/xfa_resolvenode_rs.h",
1708      "xfa/fxfa/parser/xfa_utils.cpp",
1709      "xfa/fxfa/parser/xfa_utils.h",
1710      "xfa/fxfa/xfa_checksum.h",
1711      "xfa/fxfa/xfa_ffapp.h",
1712      "xfa/fxfa/xfa_ffdoc.h",
1713      "xfa/fxfa/xfa_ffdochandler.h",
1714      "xfa/fxfa/xfa_ffdocview.h",
1715      "xfa/fxfa/xfa_ffpageview.h",
1716      "xfa/fxfa/xfa_ffwidget.h",
1717      "xfa/fxfa/xfa_ffwidgethandler.h",
1718      "xfa/fxfa/xfa_fontmgr.h",
1719      "xfa/fxfa/xfa_rendercontext.h",
1720      "xfa/fxgraphics/cfx_color.cpp",
1721      "xfa/fxgraphics/cfx_color.h",
1722      "xfa/fxgraphics/cfx_graphics.cpp",
1723      "xfa/fxgraphics/cfx_graphics.h",
1724      "xfa/fxgraphics/cfx_path.cpp",
1725      "xfa/fxgraphics/cfx_path.h",
1726      "xfa/fxgraphics/cfx_pattern.cpp",
1727      "xfa/fxgraphics/cfx_pattern.h",
1728      "xfa/fxgraphics/cfx_shading.cpp",
1729      "xfa/fxgraphics/cfx_shading.h",
1730    ]
1731    include_dirs = [ "." ]
1732    deps = [
1733      ":fxcrt",
1734      ":fxjs",
1735    ]
1736    configs += [
1737      ":pdfium_core_config",
1738      ":xfa_warnings",
1739    ]
1740  }
1741}
1742
1743test("pdfium_unittests") {
1744  sources = [
1745    "core/fdrm/crypto/fx_crypt_unittest.cpp",
1746    "core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp",
1747    "core/fpdfapi/font/fpdf_font_cid_unittest.cpp",
1748    "core/fpdfapi/font/fpdf_font_unittest.cpp",
1749    "core/fpdfapi/page/cpdf_streamcontentparser_unittest.cpp",
1750    "core/fpdfapi/page/cpdf_streamparser_unittest.cpp",
1751    "core/fpdfapi/parser/cpdf_array_unittest.cpp",
1752    "core/fpdfapi/parser/cpdf_document_unittest.cpp",
1753    "core/fpdfapi/parser/cpdf_object_unittest.cpp",
1754    "core/fpdfapi/parser/cpdf_parser_unittest.cpp",
1755    "core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp",
1756    "core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp",
1757    "core/fpdfapi/parser/fpdf_parser_decode_unittest.cpp",
1758    "core/fpdfdoc/cpdf_dest_unittest.cpp",
1759    "core/fpdfdoc/cpdf_filespec_unittest.cpp",
1760    "core/fpdfdoc/cpdf_formfield_unittest.cpp",
1761    "core/fpdftext/fpdf_text_int_unittest.cpp",
1762    "core/fxcodec/codec/fx_codec_a85_unittest.cpp",
1763    "core/fxcodec/codec/fx_codec_jpx_unittest.cpp",
1764    "core/fxcodec/codec/fx_codec_rle_unittest.cpp",
1765    "core/fxcodec/jbig2/JBig2_Image_unittest.cpp",
1766    "core/fxcrt/cfx_maybe_owned_unittest.cpp",
1767    "core/fxcrt/cfx_observable_unittest.cpp",
1768    "core/fxcrt/cfx_retain_ptr_unittest.cpp",
1769    "core/fxcrt/cfx_shared_copy_on_write_unittest.cpp",
1770    "core/fxcrt/cfx_string_pool_template_unittest.cpp",
1771    "core/fxcrt/cfx_weak_ptr_unittest.cpp",
1772    "core/fxcrt/fx_basic_bstring_unittest.cpp",
1773    "core/fxcrt/fx_basic_gcc_unittest.cpp",
1774    "core/fxcrt/fx_basic_memmgr_unittest.cpp",
1775    "core/fxcrt/fx_basic_util_unittest.cpp",
1776    "core/fxcrt/fx_basic_wstring_unittest.cpp",
1777    "core/fxcrt/fx_bidi_unittest.cpp",
1778    "core/fxcrt/fx_extension_unittest.cpp",
1779    "core/fxcrt/fx_system_unittest.cpp",
1780    "core/fxge/dib/fx_dib_engine_unittest.cpp",
1781    "fpdfsdk/fpdfdoc_unittest.cpp",
1782    "fpdfsdk/fpdfeditimg_unittest.cpp",
1783    "fpdfsdk/fpdfview_unittest.cpp",
1784  ]
1785  deps = [
1786    ":pdfium",
1787    ":test_support",
1788    "//testing/gtest",
1789    "//testing/gtest:gtest_main",
1790  ]
1791  include_dirs = []
1792  if (pdf_enable_xfa) {
1793    sources += [
1794      "xfa/fde/cfde_txtedtbuf_unittest.cpp",
1795      "xfa/fde/css/cfde_cssdeclaration_unittest.cpp",
1796      "xfa/fde/css/cfde_cssstylesheet_unittest.cpp",
1797      "xfa/fde/css/cfde_cssvaluelistparser_unittest.cpp",
1798      "xfa/fde/xml/fde_xml_imp_unittest.cpp",
1799      "xfa/fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp",
1800      "xfa/fxfa/app/cxfa_textparser_unittest.cpp",
1801      "xfa/fxfa/app/xfa_ffapp_unittest.cpp",
1802      "xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp",
1803      "xfa/fxfa/parser/xfa_utils_unittest.cpp",
1804    ]
1805  }
1806  if (pdf_use_skia || pdf_use_skia_paths) {
1807    sources += [ "core/fxge/skia/fx_skia_device_unittest.cpp" ]
1808    deps += [ "//skia" ]
1809  }
1810  if (pdf_enable_v8) {
1811    sources += [ "fpdfsdk/javascript/public_methods_unittest.cpp" ]
1812    include_dirs += [
1813      "//v8",
1814      "//v8/include",
1815    ]
1816  }
1817  configs += [ ":pdfium_core_config" ]
1818  if (is_android) {
1819    use_raw_android_executable = true
1820  }
1821}
1822
1823test("pdfium_embeddertests") {
1824  sources = [
1825    "core/fpdfapi/page/fpdf_page_func_embeddertest.cpp",
1826    "core/fpdfapi/parser/cpdf_parser_embeddertest.cpp",
1827    "core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp",
1828    "core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp",
1829    "core/fpdfapi/render/fpdf_render_loadimage_embeddertest.cpp",
1830    "core/fpdfapi/render/fpdf_render_pattern_embeddertest.cpp",
1831    "core/fxcodec/codec/fx_codec_embeddertest.cpp",
1832    "core/fxge/ge/fx_ge_text_embeddertest.cpp",
1833    "fpdfsdk/fpdf_dataavail_embeddertest.cpp",
1834    "fpdfsdk/fpdf_flatten_embeddertest.cpp",
1835    "fpdfsdk/fpdf_structtree_embeddertest.cpp",
1836    "fpdfsdk/fpdfdoc_embeddertest.cpp",
1837    "fpdfsdk/fpdfedit_embeddertest.cpp",
1838    "fpdfsdk/fpdfext_embeddertest.cpp",
1839    "fpdfsdk/fpdfformfill_embeddertest.cpp",
1840    "fpdfsdk/fpdfppo_embeddertest.cpp",
1841    "fpdfsdk/fpdfsave_embeddertest.cpp",
1842    "fpdfsdk/fpdftext_embeddertest.cpp",
1843    "fpdfsdk/fpdfview_c_api_test.c",
1844    "fpdfsdk/fpdfview_c_api_test.h",
1845    "fpdfsdk/fpdfview_embeddertest.cpp",
1846    "fpdfsdk/fsdk_baseform_embeddertest.cpp",
1847    "testing/embedder_test.cpp",
1848    "testing/embedder_test.h",
1849    "testing/embedder_test_mock_delegate.h",
1850    "testing/embedder_test_timer_handling_delegate.h",
1851    "xfa/fxfa/parser/cxfa_simple_parser_embeddertest.cpp",
1852  ]
1853  deps = [
1854    ":pdfium",
1855    ":test_support",
1856    "//testing/gmock",
1857    "//testing/gtest",
1858  ]
1859  include_dirs = [ "testing/gmock/include" ]
1860  configs += [ ":pdfium_core_config" ]
1861
1862  if (pdf_enable_v8) {
1863    sources += [
1864      "fpdfsdk/javascript/public_methods_embeddertest.cpp",
1865      "fxjs/fxjs_v8_embeddertest.cpp",
1866      "testing/js_embedder_test.cpp",
1867      "testing/js_embedder_test.h",
1868    ]
1869    deps += [ ":fxjs" ]
1870    configs += [ "//v8:external_startup_data" ]
1871  }
1872  if (is_android) {
1873    ignore_all_data_deps = true
1874    use_raw_android_executable = true
1875  }
1876}
1877
1878if (pdf_is_standalone) {
1879  source_set("samples") {
1880    testonly = true
1881    deps = [
1882      "//samples",
1883    ]
1884  }
1885  group("fuzzers") {
1886    testonly = true
1887    deps = [
1888      "//testing/libfuzzer",
1889    ]
1890  }
1891}
1892