summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-08-27 20:18:04 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-27 20:18:04 +0000
commit55865454c43fbc3b163cff166544ba0a060dcbc4 (patch)
tree66cefeed22a38d19db07e63b315c9f09832d11b2
parent76525c4a9d2aa6d1f2685d8483e3d491fd361df1 (diff)
downloadpdfium-55865454c43fbc3b163cff166544ba0a060dcbc4.tar.xz
The final game: mark everything final.
Then revert the ones that break compilation. Fix one IWYU noticed during presubmit. Change-Id: I881a8a72818e55dbc4816247e35ff5e3015194e7 Reviewed-on: https://pdfium-review.googlesource.com/41470 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
-rw-r--r--core/fpdfapi/edit/cpdf_creator.cpp2
-rw-r--r--core/fpdfapi/edit/cpdf_creator_embeddertest.cpp2
-rw-r--r--core/fpdfapi/edit/cpdf_stringarchivestream.h2
-rw-r--r--core/fpdfapi/font/cfx_cttgsubtable.h8
-rw-r--r--core/fpdfapi/font/cpdf_cidfont.h2
-rw-r--r--core/fpdfapi/font/cpdf_cmap.h2
-rw-r--r--core/fpdfapi/font/cpdf_truetypefont.h2
-rw-r--r--core/fpdfapi/font/cpdf_type1font.h2
-rw-r--r--core/fpdfapi/font/cpdf_type3font.h2
-rw-r--r--core/fpdfapi/page/cpdf_allstates.h2
-rw-r--r--core/fpdfapi/page/cpdf_clippath.h2
-rw-r--r--core/fpdfapi/page/cpdf_colorspace.cpp14
-rw-r--r--core/fpdfapi/page/cpdf_colorstate.h2
-rw-r--r--core/fpdfapi/page/cpdf_contentmark.h2
-rw-r--r--core/fpdfapi/page/cpdf_contentmarkitem.h2
-rw-r--r--core/fpdfapi/page/cpdf_devicecs.h2
-rw-r--r--core/fpdfapi/page/cpdf_expintfunc.h2
-rw-r--r--core/fpdfapi/page/cpdf_form.h2
-rw-r--r--core/fpdfapi/page/cpdf_formobject.h2
-rw-r--r--core/fpdfapi/page/cpdf_generalstate.h2
-rw-r--r--core/fpdfapi/page/cpdf_iccprofile.h2
-rw-r--r--core/fpdfapi/page/cpdf_image.h2
-rw-r--r--core/fpdfapi/page/cpdf_imageobject.h2
-rw-r--r--core/fpdfapi/page/cpdf_page.h2
-rw-r--r--core/fpdfapi/page/cpdf_pageobjectlist.h2
-rw-r--r--core/fpdfapi/page/cpdf_pathobject.h2
-rw-r--r--core/fpdfapi/page/cpdf_patterncs.h2
-rw-r--r--core/fpdfapi/page/cpdf_psfunc.h2
-rw-r--r--core/fpdfapi/page/cpdf_sampledfunc.h2
-rw-r--r--core/fpdfapi/page/cpdf_shadingobject.h2
-rw-r--r--core/fpdfapi/page/cpdf_shadingpattern.h2
-rw-r--r--core/fpdfapi/page/cpdf_stitchfunc.h2
-rw-r--r--core/fpdfapi/page/cpdf_textobject.h2
-rw-r--r--core/fpdfapi/page/cpdf_textstate.h2
-rw-r--r--core/fpdfapi/page/cpdf_tilingpattern.h2
-rw-r--r--core/fpdfapi/parser/cfdf_document.h2
-rw-r--r--core/fpdfapi/parser/cpdf_array.h2
-rw-r--r--core/fpdfapi/parser/cpdf_boolean.h2
-rw-r--r--core/fpdfapi/parser/cpdf_dictionary.h2
-rw-r--r--core/fpdfapi/parser/cpdf_document_unittest.cpp10
-rw-r--r--core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp2
-rw-r--r--core/fpdfapi/parser/cpdf_indirect_object_holder_unittest.cpp2
-rw-r--r--core/fpdfapi/parser/cpdf_name.h2
-rw-r--r--core/fpdfapi/parser/cpdf_null.h2
-rw-r--r--core/fpdfapi/parser/cpdf_number.h2
-rw-r--r--core/fpdfapi/parser/cpdf_object_avail_unittest.cpp10
-rw-r--r--core/fpdfapi/parser/cpdf_object_walker.cpp6
-rw-r--r--core/fpdfapi/parser/cpdf_object_walker.h2
-rw-r--r--core/fpdfapi/parser/cpdf_page_object_avail.h2
-rw-r--r--core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp5
-rw-r--r--core/fpdfapi/parser/cpdf_parser.cpp2
-rw-r--r--core/fpdfapi/parser/cpdf_parser_unittest.cpp2
-rw-r--r--core/fpdfapi/parser/cpdf_read_validator_unittest.cpp4
-rw-r--r--core/fpdfapi/parser/cpdf_reference.h2
-rw-r--r--core/fpdfapi/parser/cpdf_stream.h2
-rw-r--r--core/fpdfapi/parser/cpdf_stream_acc.h2
-rw-r--r--core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp2
-rw-r--r--core/fpdfapi/parser/cpdf_string.h2
-rw-r--r--core/fpdfapi/parser/cpdf_syntax_parser.cpp2
-rw-r--r--core/fpdfapi/render/cpdf_dibbase.h2
-rw-r--r--core/fpdfapi/render/cpdf_dibtransferfunc.h2
-rw-r--r--core/fpdfapi/render/cpdf_transferfunc.h2
-rw-r--r--core/fpdfapi/render/cpdf_type3cache.h2
-rw-r--r--core/fpdfdoc/cpdf_occontext.h2
-rw-r--r--core/fpdfdoc/cpdf_structelement.h2
-rw-r--r--core/fpdfdoc/cpvt_floatrect.h2
-rw-r--r--core/fpdfdoc/cpvt_fontmap.h2
-rw-r--r--core/fpdftext/cpdf_linkextract_unittest.cpp2
-rw-r--r--core/fxcodec/bmp/cfx_bmpcontext.h2
-rw-r--r--core/fxcodec/codec/ccodec_pngmodule.cpp2
-rw-r--r--core/fxcodec/codec/ccodec_tiffmodule.cpp2
-rw-r--r--core/fxcodec/codec/cfx_codec_memory.h2
-rw-r--r--core/fxcodec/codec/fx_codec.cpp2
-rw-r--r--core/fxcodec/codec/fx_codec_fax.cpp2
-rw-r--r--core/fxcodec/codec/fx_codec_flate.cpp2
-rw-r--r--core/fxcodec/codec/fx_codec_jpeg.cpp4
-rw-r--r--core/fxcodec/gif/cfx_gifcontext_unittest.cpp2
-rw-r--r--core/fxcrt/cfx_fileaccess_posix.h2
-rw-r--r--core/fxcrt/cfx_fileaccess_windows.h2
-rw-r--r--core/fxcrt/cfx_memorystream.h2
-rw-r--r--core/fxcrt/cfx_seekablemultistream.h2
-rw-r--r--core/fxcrt/cfx_seekablestreamproxy.h2
-rw-r--r--core/fxcrt/cfx_widetextbuf.h2
-rw-r--r--core/fxcrt/css/cfx_csscolorvalue.h2
-rw-r--r--core/fxcrt/css/cfx_csscomputedstyle.h2
-rw-r--r--core/fxcrt/css/cfx_cssenumvalue.h2
-rw-r--r--core/fxcrt/css/cfx_cssnumbervalue.h2
-rw-r--r--core/fxcrt/css/cfx_cssstringvalue.h2
-rw-r--r--core/fxcrt/css/cfx_cssvaluelist.h2
-rw-r--r--core/fxcrt/fx_coordinates.h2
-rw-r--r--core/fxcrt/observable_unittest.cpp2
-rw-r--r--core/fxcrt/shared_copy_on_write_unittest.cpp2
-rw-r--r--core/fxcrt/xml/cfx_xmlchardata.h2
-rw-r--r--core/fxcrt/xml/cfx_xmlelement.h2
-rw-r--r--core/fxcrt/xml/cfx_xmlinstruction.h2
-rw-r--r--core/fxge/agg/fx_agg_driver.h2
-rw-r--r--core/fxge/android/cfx_androidfontinfo.h2
-rw-r--r--core/fxge/apple/fx_mac_imp.cpp2
-rw-r--r--core/fxge/cfx_defaultrenderdevice.h2
-rw-r--r--core/fxge/cfx_graphstatedata.h2
-rw-r--r--core/fxge/cfx_pathdata.h2
-rw-r--r--core/fxge/cfx_unicodeencodingex.h2
-rw-r--r--core/fxge/cfx_windowsrenderdevice.h2
-rw-r--r--core/fxge/dib/cfx_bitmapcomposer.h2
-rw-r--r--core/fxge/dib/cfx_bitmapstorer.h2
-rw-r--r--core/fxge/dib/cfx_imagetransformer.cpp2
-rw-r--r--core/fxge/fx_ge_linux.cpp2
-rw-r--r--core/fxge/skia/fx_skia_device.h2
-rw-r--r--core/fxge/win32/cfx_windowsdib.h2
-rw-r--r--core/fxge/win32/cpsoutput.h2
-rw-r--r--core/fxge/win32/win32_int.h8
-rw-r--r--fpdfsdk/cpdfsdk_baannothandler.h2
-rw-r--r--fpdfsdk/cpdfsdk_filewriteadapter.h2
-rw-r--r--fpdfsdk/cpdfsdk_formfillenvironment.h2
-rw-r--r--fpdfsdk/cpdfsdk_helpers.cpp2
-rw-r--r--fpdfsdk/cpdfsdk_interform.h2
-rw-r--r--fpdfsdk/cpdfsdk_widget.h2
-rw-r--r--fpdfsdk/cpdfsdk_widgethandler.h2
-rw-r--r--fpdfsdk/cpdfsdk_xfawidget.h2
-rw-r--r--fpdfsdk/cpdfsdk_xfawidgethandler.h2
-rw-r--r--fpdfsdk/formfiller/cba_fontmap.h2
-rw-r--r--fpdfsdk/formfiller/cffl_checkbox.h2
-rw-r--r--fpdfsdk/formfiller/cffl_combobox.h4
-rw-r--r--fpdfsdk/formfiller/cffl_interactiveformfiller.h4
-rw-r--r--fpdfsdk/formfiller/cffl_listbox.h2
-rw-r--r--fpdfsdk/formfiller/cffl_pushbutton.h2
-rw-r--r--fpdfsdk/formfiller/cffl_radiobutton.h2
-rw-r--r--fpdfsdk/formfiller/cffl_textfield.h4
-rw-r--r--fpdfsdk/fpdf_catalog_unittest.cpp2
-rw-r--r--fpdfsdk/fpdf_dataavail.cpp6
-rw-r--r--fpdfsdk/fpdf_dataavail_embeddertest.cpp4
-rw-r--r--fpdfsdk/fpdf_doc_unittest.cpp2
-rw-r--r--fpdfsdk/fpdf_ppo.cpp4
-rw-r--r--fpdfsdk/fpdf_sysfontinfo.cpp2
-rw-r--r--fpdfsdk/fpdf_view_embeddertest.cpp4
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_context.h4
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h2
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_page.h2
-rw-r--r--fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp2
-rw-r--r--fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h2
-rw-r--r--fpdfsdk/pwl/cpwl_appstream.cpp2
-rw-r--r--fpdfsdk/pwl/cpwl_caret.h2
-rw-r--r--fpdfsdk/pwl/cpwl_combo_box.h6
-rw-r--r--fpdfsdk/pwl/cpwl_edit.h2
-rw-r--r--fpdfsdk/pwl/cpwl_edit_impl.h14
-rw-r--r--fpdfsdk/pwl/cpwl_icon.h2
-rw-r--r--fpdfsdk/pwl/cpwl_scroll_bar.h4
-rw-r--r--fpdfsdk/pwl/cpwl_special_button.h6
-rw-r--r--fpdfsdk/pwl/cpwl_wnd.cpp2
-rw-r--r--fxbarcode/cbc_codabar.h2
-rw-r--r--fxbarcode/cbc_code128.h2
-rw-r--r--fxbarcode/cbc_code39.h2
-rw-r--r--fxbarcode/cbc_datamatrix.h2
-rw-r--r--fxbarcode/cbc_ean13.h2
-rw-r--r--fxbarcode/cbc_ean8.h2
-rw-r--r--fxbarcode/cbc_pdf417i.h2
-rw-r--r--fxbarcode/cbc_qrcode.h2
-rw-r--r--fxbarcode/cbc_upca.h2
-rw-r--r--fxbarcode/datamatrix/BC_ASCIIEncoder.h2
-rw-r--r--fxbarcode/datamatrix/BC_Base256Encoder.h2
-rw-r--r--fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.h2
-rw-r--r--fxbarcode/datamatrix/BC_DataMatrixWriter.h2
-rw-r--r--fxbarcode/datamatrix/BC_EdifactEncoder.h2
-rw-r--r--fxbarcode/datamatrix/BC_TextEncoder.h2
-rw-r--r--fxbarcode/datamatrix/BC_X12Encoder.h2
-rw-r--r--fxbarcode/oned/BC_OnedCodaBarWriter.h2
-rw-r--r--fxbarcode/oned/BC_OnedCode128Writer.h2
-rw-r--r--fxbarcode/oned/BC_OnedCode39Writer.h2
-rw-r--r--fxbarcode/oned/BC_OnedEAN13Writer.h2
-rw-r--r--fxbarcode/oned/BC_OnedEAN8Writer.h2
-rw-r--r--fxbarcode/oned/BC_OnedUPCAWriter.h2
-rw-r--r--fxbarcode/pdf417/BC_PDF417Writer.h2
-rw-r--r--fxbarcode/qrcode/BC_QRCodeWriter.h2
-rw-r--r--fxjs/cfx_v8.h2
-rw-r--r--fxjs/cfxjs_engine.cpp2
-rw-r--r--fxjs/cfxjse_engine.h2
-rw-r--r--fxjs/cfxjse_formcalc_context.h2
-rw-r--r--fxjs/cfxjse_isolatetracker.h2
-rw-r--r--fxjs/cjs_annot.h2
-rw-r--r--fxjs/cjs_app.h2
-rw-r--r--fxjs/cjs_border.h2
-rw-r--r--fxjs/cjs_color.h2
-rw-r--r--fxjs/cjs_console.h2
-rw-r--r--fxjs/cjs_display.h2
-rw-r--r--fxjs/cjs_document.h2
-rw-r--r--fxjs/cjs_event.h2
-rw-r--r--fxjs/cjs_event_context.h2
-rw-r--r--fxjs/cjs_field.h2
-rw-r--r--fxjs/cjs_font.h2
-rw-r--r--fxjs/cjs_global.h2
-rw-r--r--fxjs/cjs_globalarrays.h2
-rw-r--r--fxjs/cjs_globalconsts.h2
-rw-r--r--fxjs/cjs_highlight.h2
-rw-r--r--fxjs/cjs_icon.h2
-rw-r--r--fxjs/cjs_position.h2
-rw-r--r--fxjs/cjs_printparamsobj.h2
-rw-r--r--fxjs/cjs_publicmethods.h2
-rw-r--r--fxjs/cjs_report.h2
-rw-r--r--fxjs/cjs_runtime.h6
-rw-r--r--fxjs/cjs_scalehow.h2
-rw-r--r--fxjs/cjs_scalewhen.h2
-rw-r--r--fxjs/cjs_style.h2
-rw-r--r--fxjs/cjs_timerobj.h2
-rw-r--r--fxjs/cjs_util.h2
-rw-r--r--fxjs/cjs_zoomtype.h2
-rw-r--r--fxjs/xfa/cjx_arc.h2
-rw-r--r--fxjs/xfa/cjx_area.h2
-rw-r--r--fxjs/xfa/cjx_assist.h2
-rw-r--r--fxjs/xfa/cjx_barcode.h2
-rw-r--r--fxjs/xfa/cjx_bind.h2
-rw-r--r--fxjs/xfa/cjx_binditems.h2
-rw-r--r--fxjs/xfa/cjx_bookend.h2
-rw-r--r--fxjs/xfa/cjx_boolean.h2
-rw-r--r--fxjs/xfa/cjx_border.h2
-rw-r--r--fxjs/xfa/cjx_break.h2
-rw-r--r--fxjs/xfa/cjx_breakafter.h2
-rw-r--r--fxjs/xfa/cjx_breakbefore.h2
-rw-r--r--fxjs/xfa/cjx_button.h2
-rw-r--r--fxjs/xfa/cjx_calculate.h2
-rw-r--r--fxjs/xfa/cjx_caption.h2
-rw-r--r--fxjs/xfa/cjx_certificate.h2
-rw-r--r--fxjs/xfa/cjx_certificates.h2
-rw-r--r--fxjs/xfa/cjx_checkbutton.h2
-rw-r--r--fxjs/xfa/cjx_choicelist.h2
-rw-r--r--fxjs/xfa/cjx_color.h2
-rw-r--r--fxjs/xfa/cjx_comb.h2
-rw-r--r--fxjs/xfa/cjx_command.h2
-rw-r--r--fxjs/xfa/cjx_connect.h2
-rw-r--r--fxjs/xfa/cjx_connectstring.h2
-rw-r--r--fxjs/xfa/cjx_contentarea.h2
-rw-r--r--fxjs/xfa/cjx_corner.h2
-rw-r--r--fxjs/xfa/cjx_datavalue.h2
-rw-r--r--fxjs/xfa/cjx_datawindow.h2
-rw-r--r--fxjs/xfa/cjx_date.h2
-rw-r--r--fxjs/xfa/cjx_datetime.h2
-rw-r--r--fxjs/xfa/cjx_datetimeedit.h2
-rw-r--r--fxjs/xfa/cjx_decimal.h2
-rw-r--r--fxjs/xfa/cjx_defaultui.h2
-rw-r--r--fxjs/xfa/cjx_delete.h2
-rw-r--r--fxjs/xfa/cjx_delta.h2
-rw-r--r--fxjs/xfa/cjx_deltas.h2
-rw-r--r--fxjs/xfa/cjx_desc.h2
-rw-r--r--fxjs/xfa/cjx_digestmethod.h2
-rw-r--r--fxjs/xfa/cjx_digestmethods.h2
-rw-r--r--fxjs/xfa/cjx_draw.h2
-rw-r--r--fxjs/xfa/cjx_edge.h2
-rw-r--r--fxjs/xfa/cjx_encoding.h2
-rw-r--r--fxjs/xfa/cjx_encodings.h2
-rw-r--r--fxjs/xfa/cjx_encrypt.h2
-rw-r--r--fxjs/xfa/cjx_event.h2
-rw-r--r--fxjs/xfa/cjx_eventpseudomodel.h2
-rw-r--r--fxjs/xfa/cjx_exclgroup.h2
-rw-r--r--fxjs/xfa/cjx_exdata.h2
-rw-r--r--fxjs/xfa/cjx_execute.h2
-rw-r--r--fxjs/xfa/cjx_exobject.h2
-rw-r--r--fxjs/xfa/cjx_extras.h2
-rw-r--r--fxjs/xfa/cjx_field.h2
-rw-r--r--fxjs/xfa/cjx_fill.h2
-rw-r--r--fxjs/xfa/cjx_filter.h2
-rw-r--r--fxjs/xfa/cjx_float.h2
-rw-r--r--fxjs/xfa/cjx_font.h2
-rw-r--r--fxjs/xfa/cjx_form.h2
-rw-r--r--fxjs/xfa/cjx_format.h2
-rw-r--r--fxjs/xfa/cjx_handler.h2
-rw-r--r--fxjs/xfa/cjx_hostpseudomodel.h2
-rw-r--r--fxjs/xfa/cjx_image.h2
-rw-r--r--fxjs/xfa/cjx_imageedit.h2
-rw-r--r--fxjs/xfa/cjx_insert.h2
-rw-r--r--fxjs/xfa/cjx_instancemanager.h2
-rw-r--r--fxjs/xfa/cjx_integer.h2
-rw-r--r--fxjs/xfa/cjx_issuers.h2
-rw-r--r--fxjs/xfa/cjx_items.h2
-rw-r--r--fxjs/xfa/cjx_keep.h2
-rw-r--r--fxjs/xfa/cjx_keyusage.h2
-rw-r--r--fxjs/xfa/cjx_layoutpseudomodel.h2
-rw-r--r--fxjs/xfa/cjx_line.h2
-rw-r--r--fxjs/xfa/cjx_linear.h2
-rw-r--r--fxjs/xfa/cjx_logpseudomodel.h2
-rw-r--r--fxjs/xfa/cjx_manifest.h2
-rw-r--r--fxjs/xfa/cjx_map.h2
-rw-r--r--fxjs/xfa/cjx_margin.h2
-rw-r--r--fxjs/xfa/cjx_mdp.h2
-rw-r--r--fxjs/xfa/cjx_medium.h2
-rw-r--r--fxjs/xfa/cjx_message.h2
-rw-r--r--fxjs/xfa/cjx_numericedit.h2
-rw-r--r--fxjs/xfa/cjx_occur.h2
-rw-r--r--fxjs/xfa/cjx_oid.h2
-rw-r--r--fxjs/xfa/cjx_oids.h2
-rw-r--r--fxjs/xfa/cjx_operation.h2
-rw-r--r--fxjs/xfa/cjx_overflow.h2
-rw-r--r--fxjs/xfa/cjx_packet.h2
-rw-r--r--fxjs/xfa/cjx_pagearea.h2
-rw-r--r--fxjs/xfa/cjx_pageset.h2
-rw-r--r--fxjs/xfa/cjx_para.h2
-rw-r--r--fxjs/xfa/cjx_password.h2
-rw-r--r--fxjs/xfa/cjx_passwordedit.h2
-rw-r--r--fxjs/xfa/cjx_pattern.h2
-rw-r--r--fxjs/xfa/cjx_picture.h2
-rw-r--r--fxjs/xfa/cjx_query.h2
-rw-r--r--fxjs/xfa/cjx_radial.h2
-rw-r--r--fxjs/xfa/cjx_reason.h2
-rw-r--r--fxjs/xfa/cjx_reasons.h2
-rw-r--r--fxjs/xfa/cjx_recordset.h2
-rw-r--r--fxjs/xfa/cjx_rectangle.h2
-rw-r--r--fxjs/xfa/cjx_ref.h2
-rw-r--r--fxjs/xfa/cjx_rootelement.h2
-rw-r--r--fxjs/xfa/cjx_script.h2
-rw-r--r--fxjs/xfa/cjx_select.h2
-rw-r--r--fxjs/xfa/cjx_setproperty.h2
-rw-r--r--fxjs/xfa/cjx_signature.h2
-rw-r--r--fxjs/xfa/cjx_signatureproperties.h2
-rw-r--r--fxjs/xfa/cjx_signaturepseudomodel.h2
-rw-r--r--fxjs/xfa/cjx_signdata.h2
-rw-r--r--fxjs/xfa/cjx_signing.h2
-rw-r--r--fxjs/xfa/cjx_soapaction.h2
-rw-r--r--fxjs/xfa/cjx_soapaddress.h2
-rw-r--r--fxjs/xfa/cjx_solid.h2
-rw-r--r--fxjs/xfa/cjx_source.h2
-rw-r--r--fxjs/xfa/cjx_sourceset.h2
-rw-r--r--fxjs/xfa/cjx_speak.h2
-rw-r--r--fxjs/xfa/cjx_stipple.h2
-rw-r--r--fxjs/xfa/cjx_subform.h2
-rw-r--r--fxjs/xfa/cjx_subformset.h2
-rw-r--r--fxjs/xfa/cjx_subjectdn.h2
-rw-r--r--fxjs/xfa/cjx_subjectdns.h2
-rw-r--r--fxjs/xfa/cjx_submit.h2
-rw-r--r--fxjs/xfa/cjx_template.h2
-rw-r--r--fxjs/xfa/cjx_text.h2
-rw-r--r--fxjs/xfa/cjx_textedit.h2
-rw-r--r--fxjs/xfa/cjx_time.h2
-rw-r--r--fxjs/xfa/cjx_timestamp.h2
-rw-r--r--fxjs/xfa/cjx_tooltip.h2
-rw-r--r--fxjs/xfa/cjx_traversal.h2
-rw-r--r--fxjs/xfa/cjx_traverse.h2
-rw-r--r--fxjs/xfa/cjx_treelist.h2
-rw-r--r--fxjs/xfa/cjx_ui.h2
-rw-r--r--fxjs/xfa/cjx_update.h2
-rw-r--r--fxjs/xfa/cjx_uri.h2
-rw-r--r--fxjs/xfa/cjx_user.h2
-rw-r--r--fxjs/xfa/cjx_validate.h2
-rw-r--r--fxjs/xfa/cjx_value.h2
-rw-r--r--fxjs/xfa/cjx_variables.h2
-rw-r--r--fxjs/xfa/cjx_wsdladdress.h2
-rw-r--r--fxjs/xfa/cjx_wsdlconnection.h2
-rw-r--r--fxjs/xfa/cjx_xfa.h2
-rw-r--r--fxjs/xfa/cjx_xmlconnection.h2
-rw-r--r--fxjs/xfa/cjx_xsdconnection.h2
-rw-r--r--samples/pdfium_test.cc2
-rw-r--r--testing/embedder_test_main.cpp3
-rw-r--r--testing/embedder_test_mock_delegate.h2
-rw-r--r--testing/embedder_test_timer_handling_delegate.h2
-rw-r--r--testing/fake_file_access.cpp6
-rw-r--r--testing/fuzzers/pdf_hint_table_fuzzer.cc4
-rw-r--r--testing/fx_string_testhelpers.h2
-rw-r--r--testing/string_write_stream.h2
-rw-r--r--testing/unit_test_main.cpp2
-rw-r--r--xfa/fde/cfde_texteditengine.cpp6
-rw-r--r--xfa/fde/cfde_texteditengine_unittest.cpp2
-rw-r--r--xfa/fgas/font/cfgas_fontmgr.h2
-rw-r--r--xfa/fgas/font/cfgas_gefont.h2
-rw-r--r--xfa/fgas/font/cfgas_pdffontmgr.h2
-rw-r--r--xfa/fgas/layout/cfx_rtfbreak.h2
-rw-r--r--xfa/fgas/layout/cfx_txtbreak.h2
-rw-r--r--xfa/fwl/cfwl_barcode.h2
-rw-r--r--xfa/fwl/cfwl_caret.h4
-rw-r--r--xfa/fwl/cfwl_checkbox.h2
-rw-r--r--xfa/fwl/cfwl_combobox.h2
-rw-r--r--xfa/fwl/cfwl_comboedit.h2
-rw-r--r--xfa/fwl/cfwl_combolist.h2
-rw-r--r--xfa/fwl/cfwl_datetimeedit.h2
-rw-r--r--xfa/fwl/cfwl_datetimepicker.h2
-rw-r--r--xfa/fwl/cfwl_eventmouse.h2
-rw-r--r--xfa/fwl/cfwl_eventscroll.h2
-rw-r--r--xfa/fwl/cfwl_eventselectchanged.h2
-rw-r--r--xfa/fwl/cfwl_eventtextwillchange.h2
-rw-r--r--xfa/fwl/cfwl_eventvalidate.h2
-rw-r--r--xfa/fwl/cfwl_form.h2
-rw-r--r--xfa/fwl/cfwl_messagekey.h2
-rw-r--r--xfa/fwl/cfwl_messagekillfocus.h2
-rw-r--r--xfa/fwl/cfwl_messagemouse.h2
-rw-r--r--xfa/fwl/cfwl_messagemousewheel.h2
-rw-r--r--xfa/fwl/cfwl_messagesetfocus.h2
-rw-r--r--xfa/fwl/cfwl_monthcalendar.h2
-rw-r--r--xfa/fwl/cfwl_picturebox.h2
-rw-r--r--xfa/fwl/cfwl_pushbutton.h2
-rw-r--r--xfa/fwl/cfwl_scrollbar.h4
-rw-r--r--xfa/fwl/cfwl_themebackground.h2
-rw-r--r--xfa/fwl/cfwl_themetext.h2
-rw-r--r--xfa/fwl/theme/cfwl_barcodetp.h2
-rw-r--r--xfa/fwl/theme/cfwl_carettp.h2
-rw-r--r--xfa/fwl/theme/cfwl_checkboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_comboboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_datetimepickertp.h2
-rw-r--r--xfa/fwl/theme/cfwl_edittp.h2
-rw-r--r--xfa/fwl/theme/cfwl_listboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_monthcalendartp.h2
-rw-r--r--xfa/fwl/theme/cfwl_pictureboxtp.h2
-rw-r--r--xfa/fwl/theme/cfwl_pushbuttontp.h2
-rw-r--r--xfa/fwl/theme/cfwl_scrollbartp.h2
-rw-r--r--xfa/fxfa/cxfa_ffarc.h2
-rw-r--r--xfa/fxfa/cxfa_ffbarcode.h2
-rw-r--r--xfa/fxfa/cxfa_ffcheckbutton.h2
-rw-r--r--xfa/fxfa/cxfa_ffcombobox.h2
-rw-r--r--xfa/fxfa/cxfa_ffdatetimeedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffexclgroup.h2
-rw-r--r--xfa/fxfa/cxfa_ffimage.h2
-rw-r--r--xfa/fxfa/cxfa_ffimageedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffline.h2
-rw-r--r--xfa/fxfa/cxfa_fflistbox.h2
-rw-r--r--xfa/fxfa/cxfa_ffnumericedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffpageview.h6
-rw-r--r--xfa/fxfa/cxfa_ffpasswordedit.h2
-rw-r--r--xfa/fxfa/cxfa_ffpushbutton.h2
-rw-r--r--xfa/fxfa/cxfa_ffrectangle.h2
-rw-r--r--xfa/fxfa/cxfa_fftext.h2
-rw-r--r--xfa/fxfa/cxfa_linkuserdata.h2
-rw-r--r--xfa/fxfa/cxfa_textparser_unittest.cpp2
-rw-r--r--xfa/fxfa/cxfa_textuserdata.h2
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmexpression.h22
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h50
-rw-r--r--xfa/fxfa/parser/cscript_datawindow.h2
-rw-r--r--xfa/fxfa/parser/cscript_eventpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_hostpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_layoutpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_logpseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cscript_signaturepseudomodel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_accessiblecontent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_acrobat.h2
-rw-r--r--xfa/fxfa/parser/cxfa_acrobat7.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adbe_jsconsole.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adbe_jsdebugger.h2
-rw-r--r--xfa/fxfa/parser/cxfa_addsilentprint.h2
-rw-r--r--xfa/fxfa/parser/cxfa_addviewerpreferences.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adjustdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_adobeextensionlevel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_agent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_alwaysembed.h2
-rw-r--r--xfa/fxfa/parser/cxfa_amd.h2
-rw-r--r--xfa/fxfa/parser/cxfa_appearancefilter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_arc.h2
-rw-r--r--xfa/fxfa/parser/cxfa_area.h2
-rw-r--r--xfa/fxfa/parser/cxfa_arraynodelist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_assist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_attachnodelist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_attributes.h2
-rw-r--r--xfa/fxfa/parser/cxfa_autosave.h2
-rw-r--r--xfa/fxfa/parser/cxfa_barcode.h2
-rw-r--r--xfa/fxfa/parser/cxfa_base.h2
-rw-r--r--xfa/fxfa/parser/cxfa_batchoutput.h2
-rw-r--r--xfa/fxfa/parser/cxfa_behavioroverride.h2
-rw-r--r--xfa/fxfa/parser/cxfa_bind.h2
-rw-r--r--xfa/fxfa/parser/cxfa_binditems.h2
-rw-r--r--xfa/fxfa/parser/cxfa_bookend.h2
-rw-r--r--xfa/fxfa/parser/cxfa_boolean.h2
-rw-r--r--xfa/fxfa/parser/cxfa_border.h2
-rw-r--r--xfa/fxfa/parser/cxfa_break.h2
-rw-r--r--xfa/fxfa/parser/cxfa_breakafter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_breakbefore.h2
-rw-r--r--xfa/fxfa/parser/cxfa_button.h2
-rw-r--r--xfa/fxfa/parser/cxfa_cache.h2
-rw-r--r--xfa/fxfa/parser/cxfa_calculate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_calendarsymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_caption.h2
-rw-r--r--xfa/fxfa/parser/cxfa_certificate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_certificates.h2
-rw-r--r--xfa/fxfa/parser/cxfa_change.h2
-rw-r--r--xfa/fxfa/parser/cxfa_checkbutton.h2
-rw-r--r--xfa/fxfa/parser/cxfa_choicelist.h2
-rw-r--r--xfa/fxfa/parser/cxfa_color.h2
-rw-r--r--xfa/fxfa/parser/cxfa_comb.h2
-rw-r--r--xfa/fxfa/parser/cxfa_command.h2
-rw-r--r--xfa/fxfa/parser/cxfa_common.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compress.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compression.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compresslogicalstructure.h2
-rw-r--r--xfa/fxfa/parser/cxfa_compressobjectstream.h2
-rw-r--r--xfa/fxfa/parser/cxfa_config.h2
-rw-r--r--xfa/fxfa/parser/cxfa_conformance.h2
-rw-r--r--xfa/fxfa/parser/cxfa_connect.h2
-rw-r--r--xfa/fxfa/parser/cxfa_connectionset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_connectstring.h2
-rw-r--r--xfa/fxfa/parser/cxfa_contentarea.h2
-rw-r--r--xfa/fxfa/parser/cxfa_contentcopy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_copies.h2
-rw-r--r--xfa/fxfa/parser/cxfa_corner.h2
-rw-r--r--xfa/fxfa/parser/cxfa_creator.h2
-rw-r--r--xfa/fxfa/parser/cxfa_currencysymbol.h2
-rw-r--r--xfa/fxfa/parser/cxfa_currencysymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_currentpage.h2
-rw-r--r--xfa/fxfa/parser/cxfa_data.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datagroup.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datamodel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datavalue.h2
-rw-r--r--xfa/fxfa/parser/cxfa_date.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datepattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datepatterns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datetime.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datetimeedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_datetimesymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_day.h2
-rw-r--r--xfa/fxfa/parser/cxfa_daynames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_debug.h2
-rw-r--r--xfa/fxfa/parser/cxfa_decimal.h2
-rw-r--r--xfa/fxfa/parser/cxfa_defaulttypeface.h2
-rw-r--r--xfa/fxfa/parser/cxfa_defaultui.h2
-rw-r--r--xfa/fxfa/parser/cxfa_delete.h2
-rw-r--r--xfa/fxfa/parser/cxfa_delta.h2
-rw-r--r--xfa/fxfa/parser/cxfa_desc.h2
-rw-r--r--xfa/fxfa/parser/cxfa_destination.h2
-rw-r--r--xfa/fxfa/parser/cxfa_digestmethod.h2
-rw-r--r--xfa/fxfa/parser/cxfa_digestmethods.h2
-rw-r--r--xfa/fxfa/parser/cxfa_document.h2
-rw-r--r--xfa/fxfa/parser/cxfa_documentassembly.h2
-rw-r--r--xfa/fxfa/parser/cxfa_draw.h2
-rw-r--r--xfa/fxfa/parser/cxfa_driver.h2
-rw-r--r--xfa/fxfa/parser/cxfa_dsigdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_duplexoption.h2
-rw-r--r--xfa/fxfa/parser/cxfa_dynamicrender.h2
-rw-r--r--xfa/fxfa/parser/cxfa_edge.h2
-rw-r--r--xfa/fxfa/parser/cxfa_effectiveinputpolicy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_embed.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encoding.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encodings.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encrypt.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryption.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryptionlevel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryptionmethod.h2
-rw-r--r--xfa/fxfa/parser/cxfa_encryptionmethods.h2
-rw-r--r--xfa/fxfa/parser/cxfa_enforce.h2
-rw-r--r--xfa/fxfa/parser/cxfa_equate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_equaterange.h2
-rw-r--r--xfa/fxfa/parser/cxfa_era.h2
-rw-r--r--xfa/fxfa/parser/cxfa_eranames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_event.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exclgroup.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exclude.h2
-rw-r--r--xfa/fxfa/parser/cxfa_excludens.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_execute.h2
-rw-r--r--xfa/fxfa/parser/cxfa_exobject.h2
-rw-r--r--xfa/fxfa/parser/cxfa_extras.h2
-rw-r--r--xfa/fxfa/parser/cxfa_field.h2
-rw-r--r--xfa/fxfa/parser/cxfa_fill.h2
-rw-r--r--xfa/fxfa/parser/cxfa_filter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_fliplabel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_float.h2
-rw-r--r--xfa/fxfa/parser/cxfa_font.h2
-rw-r--r--xfa/fxfa/parser/cxfa_fontinfo.h2
-rw-r--r--xfa/fxfa/parser/cxfa_form.h2
-rw-r--r--xfa/fxfa/parser/cxfa_format.h2
-rw-r--r--xfa/fxfa/parser/cxfa_formfieldfilling.h2
-rw-r--r--xfa/fxfa/parser/cxfa_groupparent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_handler.h2
-rw-r--r--xfa/fxfa/parser/cxfa_hyphenation.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ifempty.h2
-rw-r--r--xfa/fxfa/parser/cxfa_image.h2
-rw-r--r--xfa/fxfa/parser/cxfa_imageedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_includexdpcontent.h2
-rw-r--r--xfa/fxfa/parser/cxfa_incrementalload.h2
-rw-r--r--xfa/fxfa/parser/cxfa_incrementalmerge.h2
-rw-r--r--xfa/fxfa/parser/cxfa_insert.h2
-rw-r--r--xfa/fxfa/parser/cxfa_instancemanager.h2
-rw-r--r--xfa/fxfa/parser/cxfa_integer.h2
-rw-r--r--xfa/fxfa/parser/cxfa_interactive.h2
-rw-r--r--xfa/fxfa/parser/cxfa_issuers.h2
-rw-r--r--xfa/fxfa/parser/cxfa_items.h2
-rw-r--r--xfa/fxfa/parser/cxfa_jog.h2
-rw-r--r--xfa/fxfa/parser/cxfa_keep.h2
-rw-r--r--xfa/fxfa/parser/cxfa_keyusage.h2
-rw-r--r--xfa/fxfa/parser/cxfa_labelprinter.h2
-rw-r--r--xfa/fxfa/parser/cxfa_layout.h2
-rw-r--r--xfa/fxfa/parser/cxfa_level.h2
-rw-r--r--xfa/fxfa/parser/cxfa_line.h2
-rw-r--r--xfa/fxfa/parser/cxfa_linear.h2
-rw-r--r--xfa/fxfa/parser/cxfa_linearized.h2
-rw-r--r--xfa/fxfa/parser/cxfa_locale.h2
-rw-r--r--xfa/fxfa/parser/cxfa_localeset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_lockdocument.h2
-rw-r--r--xfa/fxfa/parser/cxfa_log.h2
-rw-r--r--xfa/fxfa/parser/cxfa_manifest.h2
-rw-r--r--xfa/fxfa/parser/cxfa_map.h2
-rw-r--r--xfa/fxfa/parser/cxfa_margin.h2
-rw-r--r--xfa/fxfa/parser/cxfa_mdp.h2
-rw-r--r--xfa/fxfa/parser/cxfa_medium.h2
-rw-r--r--xfa/fxfa/parser/cxfa_mediuminfo.h2
-rw-r--r--xfa/fxfa/parser/cxfa_meridiem.h2
-rw-r--r--xfa/fxfa/parser/cxfa_meridiemnames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_message.h2
-rw-r--r--xfa/fxfa/parser/cxfa_messaging.h2
-rw-r--r--xfa/fxfa/parser/cxfa_mode.h2
-rw-r--r--xfa/fxfa/parser/cxfa_modifyannots.h2
-rw-r--r--xfa/fxfa/parser/cxfa_month.h2
-rw-r--r--xfa/fxfa/parser/cxfa_monthnames.h2
-rw-r--r--xfa/fxfa/parser/cxfa_msgid.h2
-rw-r--r--xfa/fxfa/parser/cxfa_nameattr.h2
-rw-r--r--xfa/fxfa/parser/cxfa_neverembed.h2
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp8
-rw-r--r--xfa/fxfa/parser/cxfa_node_unittest.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_nodelocale.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numberofcopies.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numberpattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numberpatterns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numbersymbol.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numbersymbols.h2
-rw-r--r--xfa/fxfa/parser/cxfa_numericedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_occur.h2
-rw-r--r--xfa/fxfa/parser/cxfa_oid.h2
-rw-r--r--xfa/fxfa/parser/cxfa_oids.h2
-rw-r--r--xfa/fxfa/parser/cxfa_openaction.h2
-rw-r--r--xfa/fxfa/parser/cxfa_operation.h2
-rw-r--r--xfa/fxfa/parser/cxfa_output.h2
-rw-r--r--xfa/fxfa/parser/cxfa_outputbin.h2
-rw-r--r--xfa/fxfa/parser/cxfa_outputxsl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_overflow.h2
-rw-r--r--xfa/fxfa/parser/cxfa_overprint.h2
-rw-r--r--xfa/fxfa/parser/cxfa_packet.h2
-rw-r--r--xfa/fxfa/parser/cxfa_packets.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pagearea.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pageoffset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pagerange.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pageset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pagination.h2
-rw-r--r--xfa/fxfa/parser/cxfa_paginationoverride.h2
-rw-r--r--xfa/fxfa/parser/cxfa_para.h2
-rw-r--r--xfa/fxfa/parser/cxfa_part.h2
-rw-r--r--xfa/fxfa/parser/cxfa_password.h2
-rw-r--r--xfa/fxfa/parser/cxfa_passwordedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pcl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pdf.h2
-rw-r--r--xfa/fxfa/parser/cxfa_pdfa.h2
-rw-r--r--xfa/fxfa/parser/cxfa_permissions.h2
-rw-r--r--xfa/fxfa/parser/cxfa_picktraybypdfsize.h2
-rw-r--r--xfa/fxfa/parser/cxfa_picture.h2
-rw-r--r--xfa/fxfa/parser/cxfa_plaintextmetadata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_presence.h2
-rw-r--r--xfa/fxfa/parser/cxfa_present.h2
-rw-r--r--xfa/fxfa/parser/cxfa_print.h2
-rw-r--r--xfa/fxfa/parser/cxfa_printername.h2
-rw-r--r--xfa/fxfa/parser/cxfa_printhighquality.h2
-rw-r--r--xfa/fxfa/parser/cxfa_printscaling.h2
-rw-r--r--xfa/fxfa/parser/cxfa_producer.h2
-rw-r--r--xfa/fxfa/parser/cxfa_proto.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ps.h2
-rw-r--r--xfa/fxfa/parser/cxfa_psmap.h2
-rw-r--r--xfa/fxfa/parser/cxfa_query.h2
-rw-r--r--xfa/fxfa/parser/cxfa_radial.h2
-rw-r--r--xfa/fxfa/parser/cxfa_range.h2
-rw-r--r--xfa/fxfa/parser/cxfa_reason.h2
-rw-r--r--xfa/fxfa/parser/cxfa_reasons.h2
-rw-r--r--xfa/fxfa/parser/cxfa_record.h2
-rw-r--r--xfa/fxfa/parser/cxfa_recordset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ref.h2
-rw-r--r--xfa/fxfa/parser/cxfa_relevant.h2
-rw-r--r--xfa/fxfa/parser/cxfa_rename.h2
-rw-r--r--xfa/fxfa/parser/cxfa_renderpolicy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_rootelement.h2
-rw-r--r--xfa/fxfa/parser/cxfa_runscripts.h2
-rw-r--r--xfa/fxfa/parser/cxfa_script.h2
-rw-r--r--xfa/fxfa/parser/cxfa_scriptmodel.h2
-rw-r--r--xfa/fxfa/parser/cxfa_select.h2
-rw-r--r--xfa/fxfa/parser/cxfa_setproperty.h2
-rw-r--r--xfa/fxfa/parser/cxfa_severity.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sharptext.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sharpxhtml.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sharpxml.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signature.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signatureproperties.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signdata.h2
-rw-r--r--xfa/fxfa/parser/cxfa_signing.h2
-rw-r--r--xfa/fxfa/parser/cxfa_silentprint.h2
-rw-r--r--xfa/fxfa/parser/cxfa_soapaction.h2
-rw-r--r--xfa/fxfa/parser/cxfa_soapaddress.h2
-rw-r--r--xfa/fxfa/parser/cxfa_solid.h2
-rw-r--r--xfa/fxfa/parser/cxfa_source.h2
-rw-r--r--xfa/fxfa/parser/cxfa_sourceset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_speak.h2
-rw-r--r--xfa/fxfa/parser/cxfa_staple.h2
-rw-r--r--xfa/fxfa/parser/cxfa_startnode.h2
-rw-r--r--xfa/fxfa/parser/cxfa_startpage.h2
-rw-r--r--xfa/fxfa/parser/cxfa_stipple.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subform.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subformset.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subjectdn.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subjectdns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_submit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_submitformat.h2
-rw-r--r--xfa/fxfa/parser/cxfa_submiturl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_subsetbelow.h2
-rw-r--r--xfa/fxfa/parser/cxfa_suppressbanner.h2
-rw-r--r--xfa/fxfa/parser/cxfa_tagged.h2
-rw-r--r--xfa/fxfa/parser/cxfa_template.h2
-rw-r--r--xfa/fxfa/parser/cxfa_templatecache.h2
-rw-r--r--xfa/fxfa/parser/cxfa_text.h2
-rw-r--r--xfa/fxfa/parser/cxfa_textedit.h2
-rw-r--r--xfa/fxfa/parser/cxfa_thisproxy.h2
-rw-r--r--xfa/fxfa/parser/cxfa_threshold.h2
-rw-r--r--xfa/fxfa/parser/cxfa_time.h2
-rw-r--r--xfa/fxfa/parser/cxfa_timepattern.h2
-rw-r--r--xfa/fxfa/parser/cxfa_timepatterns.h2
-rw-r--r--xfa/fxfa/parser/cxfa_timestamp.h2
-rw-r--r--xfa/fxfa/parser/cxfa_to.h2
-rw-r--r--xfa/fxfa/parser/cxfa_tooltip.h2
-rw-r--r--xfa/fxfa/parser/cxfa_trace.h2
-rw-r--r--xfa/fxfa/parser/cxfa_transform.h2
-rw-r--r--xfa/fxfa/parser/cxfa_traversal.h2
-rw-r--r--xfa/fxfa/parser/cxfa_traverse.h2
-rw-r--r--xfa/fxfa/parser/cxfa_type.h2
-rw-r--r--xfa/fxfa/parser/cxfa_typeface.h2
-rw-r--r--xfa/fxfa/parser/cxfa_typefaces.h2
-rw-r--r--xfa/fxfa/parser/cxfa_ui.h2
-rw-r--r--xfa/fxfa/parser/cxfa_update.h2
-rw-r--r--xfa/fxfa/parser/cxfa_uri.h2
-rw-r--r--xfa/fxfa/parser/cxfa_user.h2
-rw-r--r--xfa/fxfa/parser/cxfa_validate.h2
-rw-r--r--xfa/fxfa/parser/cxfa_validateapprovalsignatures.h2
-rw-r--r--xfa/fxfa/parser/cxfa_validationmessaging.h2
-rw-r--r--xfa/fxfa/parser/cxfa_value.h2
-rw-r--r--xfa/fxfa/parser/cxfa_variables.h2
-rw-r--r--xfa/fxfa/parser/cxfa_version.h2
-rw-r--r--xfa/fxfa/parser/cxfa_versioncontrol.h2
-rw-r--r--xfa/fxfa/parser/cxfa_viewerpreferences.h2
-rw-r--r--xfa/fxfa/parser/cxfa_webclient.h2
-rw-r--r--xfa/fxfa/parser/cxfa_whitespace.h2
-rw-r--r--xfa/fxfa/parser/cxfa_window.h2
-rw-r--r--xfa/fxfa/parser/cxfa_wsdladdress.h2
-rw-r--r--xfa/fxfa/parser/cxfa_wsdlconnection.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xdc.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xdp.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xfa.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xmlconnection.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xmllocale.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xsdconnection.h2
-rw-r--r--xfa/fxfa/parser/cxfa_xsl.h2
-rw-r--r--xfa/fxfa/parser/cxfa_zpl.h2
736 files changed, 830 insertions, 830 deletions
diff --git a/core/fpdfapi/edit/cpdf_creator.cpp b/core/fpdfapi/edit/cpdf_creator.cpp
index 11b0628b01..7af62806da 100644
--- a/core/fpdfapi/edit/cpdf_creator.cpp
+++ b/core/fpdfapi/edit/cpdf_creator.cpp
@@ -28,7 +28,7 @@ namespace {
const size_t kArchiveBufferSize = 32768;
-class CFX_FileBufferArchive : public IFX_ArchiveStream {
+class CFX_FileBufferArchive final : public IFX_ArchiveStream {
public:
explicit CFX_FileBufferArchive(const RetainPtr<IFX_WriteStream>& archive);
~CFX_FileBufferArchive() override;
diff --git a/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp b/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp
index 2d431b8424..1f8f788d34 100644
--- a/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp
+++ b/core/fpdfapi/edit/cpdf_creator_embeddertest.cpp
@@ -20,7 +20,7 @@
namespace {
-class FileAccess : public FPDF_FILEACCESS {
+class FileAccess final : public FPDF_FILEACCESS {
public:
explicit FileAccess(const std::string& file_name) {
std::string file_path;
diff --git a/core/fpdfapi/edit/cpdf_stringarchivestream.h b/core/fpdfapi/edit/cpdf_stringarchivestream.h
index bb5481e376..aa744a9ea1 100644
--- a/core/fpdfapi/edit/cpdf_stringarchivestream.h
+++ b/core/fpdfapi/edit/cpdf_stringarchivestream.h
@@ -7,7 +7,7 @@
#include "core/fxcrt/fx_stream.h"
-class CPDF_StringArchiveStream : public IFX_ArchiveStream {
+class CPDF_StringArchiveStream final : public IFX_ArchiveStream {
public:
explicit CPDF_StringArchiveStream(std::ostringstream* stream);
~CPDF_StringArchiveStream() override;
diff --git a/core/fpdfapi/font/cfx_cttgsubtable.h b/core/fpdfapi/font/cfx_cttgsubtable.h
index ff488a5ed7..6b23a8db27 100644
--- a/core/fpdfapi/font/cfx_cttgsubtable.h
+++ b/core/fpdfapi/font/cfx_cttgsubtable.h
@@ -64,14 +64,14 @@ class CFX_CTTGSUBTable {
uint16_t CoverageFormat;
};
- struct TCoverageFormat1 : public TCoverageFormatBase {
+ struct TCoverageFormat1 final : public TCoverageFormatBase {
TCoverageFormat1();
~TCoverageFormat1() override;
std::vector<uint16_t> GlyphArray;
};
- struct TCoverageFormat2 : public TCoverageFormatBase {
+ struct TCoverageFormat2 final : public TCoverageFormatBase {
TCoverageFormat2();
~TCoverageFormat2() override;
@@ -94,14 +94,14 @@ class CFX_CTTGSUBTable {
uint16_t SubstFormat;
};
- struct TSubTable1 : public TSubTableBase {
+ struct TSubTable1 final : public TSubTableBase {
TSubTable1();
~TSubTable1() override;
int16_t DeltaGlyphID;
};
- struct TSubTable2 : public TSubTableBase {
+ struct TSubTable2 final : public TSubTableBase {
TSubTable2();
~TSubTable2() override;
diff --git a/core/fpdfapi/font/cpdf_cidfont.h b/core/fpdfapi/font/cpdf_cidfont.h
index 9dde95d75e..7aeb54b877 100644
--- a/core/fpdfapi/font/cpdf_cidfont.h
+++ b/core/fpdfapi/font/cpdf_cidfont.h
@@ -32,7 +32,7 @@ class CPDF_CID2UnicodeMap;
class CPDF_CMap;
class CPDF_StreamAcc;
-class CPDF_CIDFont : public CPDF_Font {
+class CPDF_CIDFont final : public CPDF_Font {
public:
CPDF_CIDFont(CPDF_Document* pDocument, CPDF_Dictionary* pFontDict);
~CPDF_CIDFont() override;
diff --git a/core/fpdfapi/font/cpdf_cmap.h b/core/fpdfapi/font/cpdf_cmap.h
index 45053bdfb5..228c207876 100644
--- a/core/fpdfapi/font/cpdf_cmap.h
+++ b/core/fpdfapi/font/cpdf_cmap.h
@@ -27,7 +27,7 @@ enum CIDCoding : uint8_t {
CIDCODING_UTF16,
};
-class CPDF_CMap : public Retainable {
+class CPDF_CMap final : public Retainable {
public:
enum CodingScheme : uint8_t {
OneByte,
diff --git a/core/fpdfapi/font/cpdf_truetypefont.h b/core/fpdfapi/font/cpdf_truetypefont.h
index d63e8f105a..a3066d74fa 100644
--- a/core/fpdfapi/font/cpdf_truetypefont.h
+++ b/core/fpdfapi/font/cpdf_truetypefont.h
@@ -10,7 +10,7 @@
#include "core/fpdfapi/font/cpdf_simplefont.h"
#include "core/fxcrt/fx_system.h"
-class CPDF_TrueTypeFont : public CPDF_SimpleFont {
+class CPDF_TrueTypeFont final : public CPDF_SimpleFont {
public:
CPDF_TrueTypeFont(CPDF_Document* pDocument, CPDF_Dictionary* pFontDict);
~CPDF_TrueTypeFont() override;
diff --git a/core/fpdfapi/font/cpdf_type1font.h b/core/fpdfapi/font/cpdf_type1font.h
index cbcb9af3b1..0fdfa807d3 100644
--- a/core/fpdfapi/font/cpdf_type1font.h
+++ b/core/fpdfapi/font/cpdf_type1font.h
@@ -10,7 +10,7 @@
#include "core/fpdfapi/font/cpdf_simplefont.h"
#include "core/fxcrt/fx_system.h"
-class CPDF_Type1Font : public CPDF_SimpleFont {
+class CPDF_Type1Font final : public CPDF_SimpleFont {
public:
CPDF_Type1Font(CPDF_Document* pDocument, CPDF_Dictionary* pFontDict);
~CPDF_Type1Font() override;
diff --git a/core/fpdfapi/font/cpdf_type3font.h b/core/fpdfapi/font/cpdf_type3font.h
index 0be1fa3f69..d85bf701df 100644
--- a/core/fpdfapi/font/cpdf_type3font.h
+++ b/core/fpdfapi/font/cpdf_type3font.h
@@ -17,7 +17,7 @@
class CPDF_Dictionary;
class CPDF_Type3Char;
-class CPDF_Type3Font : public CPDF_SimpleFont {
+class CPDF_Type3Font final : public CPDF_SimpleFont {
public:
CPDF_Type3Font(CPDF_Document* pDocument, CPDF_Dictionary* pFontDict);
~CPDF_Type3Font() override;
diff --git a/core/fpdfapi/page/cpdf_allstates.h b/core/fpdfapi/page/cpdf_allstates.h
index 730003a96a..e388b9470f 100644
--- a/core/fpdfapi/page/cpdf_allstates.h
+++ b/core/fpdfapi/page/cpdf_allstates.h
@@ -15,7 +15,7 @@ class CPDF_Array;
class CPDF_Dictionary;
class CPDF_StreamContentParser;
-class CPDF_AllStates : public CPDF_GraphicStates {
+class CPDF_AllStates final : public CPDF_GraphicStates {
public:
CPDF_AllStates();
~CPDF_AllStates() override;
diff --git a/core/fpdfapi/page/cpdf_clippath.h b/core/fpdfapi/page/cpdf_clippath.h
index 91a25cda1a..c0b5ce5011 100644
--- a/core/fpdfapi/page/cpdf_clippath.h
+++ b/core/fpdfapi/page/cpdf_clippath.h
@@ -44,7 +44,7 @@ class CPDF_ClipPath {
void Transform(const CFX_Matrix& matrix);
private:
- class PathData : public Retainable {
+ class PathData final : public Retainable {
public:
using PathAndTypeData = std::pair<CPDF_Path, uint8_t>;
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index a3b88b05b8..882b5657d8 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -105,7 +105,7 @@ bool GetWhitePoint(const CPDF_Dictionary* pDict, float* pPoints) {
return pPoints[0] > 0.0f && pPoints[1] == 1.0f && pPoints[2] > 0.0f;
}
-class CPDF_CalGray : public CPDF_ColorSpace {
+class CPDF_CalGray final : public CPDF_ColorSpace {
public:
explicit CPDF_CalGray(CPDF_Document* pDoc);
~CPDF_CalGray() override {}
@@ -130,7 +130,7 @@ class CPDF_CalGray : public CPDF_ColorSpace {
float m_BlackPoint[kBlackWhitePointCount];
};
-class CPDF_CalRGB : public CPDF_ColorSpace {
+class CPDF_CalRGB final : public CPDF_ColorSpace {
public:
explicit CPDF_CalRGB(CPDF_Document* pDoc);
~CPDF_CalRGB() override {}
@@ -160,7 +160,7 @@ class CPDF_CalRGB : public CPDF_ColorSpace {
bool m_bMatrix = false;
};
-class CPDF_LabCS : public CPDF_ColorSpace {
+class CPDF_LabCS final : public CPDF_ColorSpace {
public:
explicit CPDF_LabCS(CPDF_Document* pDoc);
~CPDF_LabCS() override {}
@@ -190,7 +190,7 @@ class CPDF_LabCS : public CPDF_ColorSpace {
float m_Ranges[kRangesCount];
};
-class CPDF_ICCBasedCS : public CPDF_ColorSpace {
+class CPDF_ICCBasedCS final : public CPDF_ColorSpace {
public:
explicit CPDF_ICCBasedCS(CPDF_Document* pDoc);
~CPDF_ICCBasedCS() override;
@@ -226,7 +226,7 @@ class CPDF_ICCBasedCS : public CPDF_ColorSpace {
std::vector<float> m_pRanges;
};
-class CPDF_IndexedCS : public CPDF_ColorSpace {
+class CPDF_IndexedCS final : public CPDF_ColorSpace {
public:
explicit CPDF_IndexedCS(CPDF_Document* pDoc);
~CPDF_IndexedCS() override;
@@ -248,7 +248,7 @@ class CPDF_IndexedCS : public CPDF_ColorSpace {
std::vector<float> m_pCompMinMax;
};
-class CPDF_SeparationCS : public CPDF_ColorSpace {
+class CPDF_SeparationCS final : public CPDF_ColorSpace {
public:
explicit CPDF_SeparationCS(CPDF_Document* pDoc);
~CPDF_SeparationCS() override;
@@ -270,7 +270,7 @@ class CPDF_SeparationCS : public CPDF_ColorSpace {
enum { None, All, Colorant } m_Type;
};
-class CPDF_DeviceNCS : public CPDF_ColorSpace {
+class CPDF_DeviceNCS final : public CPDF_ColorSpace {
public:
explicit CPDF_DeviceNCS(CPDF_Document* pDoc);
~CPDF_DeviceNCS() override;
diff --git a/core/fpdfapi/page/cpdf_colorstate.h b/core/fpdfapi/page/cpdf_colorstate.h
index 49416db1d5..7b72a2a9d2 100644
--- a/core/fpdfapi/page/cpdf_colorstate.h
+++ b/core/fpdfapi/page/cpdf_colorstate.h
@@ -50,7 +50,7 @@ class CPDF_ColorState {
bool HasRef() const { return !!m_Ref; }
private:
- class ColorData : public Retainable {
+ class ColorData final : public Retainable {
public:
ColorData();
ColorData(const ColorData& src);
diff --git a/core/fpdfapi/page/cpdf_contentmark.h b/core/fpdfapi/page/cpdf_contentmark.h
index dc4cc08838..1395db12f8 100644
--- a/core/fpdfapi/page/cpdf_contentmark.h
+++ b/core/fpdfapi/page/cpdf_contentmark.h
@@ -40,7 +40,7 @@ class CPDF_ContentMark {
size_t FindFirstDifference(const CPDF_ContentMark* other) const;
private:
- class MarkData : public Retainable {
+ class MarkData final : public Retainable {
public:
MarkData();
MarkData(const MarkData& src);
diff --git a/core/fpdfapi/page/cpdf_contentmarkitem.h b/core/fpdfapi/page/cpdf_contentmarkitem.h
index 435aef4b10..a0a92dbc3c 100644
--- a/core/fpdfapi/page/cpdf_contentmarkitem.h
+++ b/core/fpdfapi/page/cpdf_contentmarkitem.h
@@ -17,7 +17,7 @@
class CPDF_Dictionary;
-class CPDF_ContentMarkItem : public Retainable {
+class CPDF_ContentMarkItem final : public Retainable {
public:
enum ParamType { None, PropertiesDict, DirectDict };
diff --git a/core/fpdfapi/page/cpdf_devicecs.h b/core/fpdfapi/page/cpdf_devicecs.h
index bf668c359b..ab88d74c93 100644
--- a/core/fpdfapi/page/cpdf_devicecs.h
+++ b/core/fpdfapi/page/cpdf_devicecs.h
@@ -11,7 +11,7 @@
#include "core/fpdfapi/page/cpdf_colorspace.h"
-class CPDF_DeviceCS : public CPDF_ColorSpace {
+class CPDF_DeviceCS final : public CPDF_ColorSpace {
public:
explicit CPDF_DeviceCS(int family);
~CPDF_DeviceCS() override;
diff --git a/core/fpdfapi/page/cpdf_expintfunc.h b/core/fpdfapi/page/cpdf_expintfunc.h
index c93cc86cff..95bdab68e2 100644
--- a/core/fpdfapi/page/cpdf_expintfunc.h
+++ b/core/fpdfapi/page/cpdf_expintfunc.h
@@ -12,7 +12,7 @@
#include "core/fpdfapi/page/cpdf_function.h"
-class CPDF_ExpIntFunc : public CPDF_Function {
+class CPDF_ExpIntFunc final : public CPDF_Function {
public:
CPDF_ExpIntFunc();
~CPDF_ExpIntFunc() override;
diff --git a/core/fpdfapi/page/cpdf_form.h b/core/fpdfapi/page/cpdf_form.h
index 63cc4a96c1..abb5c40a46 100644
--- a/core/fpdfapi/page/cpdf_form.h
+++ b/core/fpdfapi/page/cpdf_form.h
@@ -19,7 +19,7 @@ class CPDF_AllStates;
class CFX_Matrix;
class CPDF_Type3Char;
-class CPDF_Form : public CPDF_PageObjectHolder {
+class CPDF_Form final : public CPDF_PageObjectHolder {
public:
CPDF_Form(CPDF_Document* pDocument,
CPDF_Dictionary* pPageResources,
diff --git a/core/fpdfapi/page/cpdf_formobject.h b/core/fpdfapi/page/cpdf_formobject.h
index b229dce444..dc53c454c4 100644
--- a/core/fpdfapi/page/cpdf_formobject.h
+++ b/core/fpdfapi/page/cpdf_formobject.h
@@ -14,7 +14,7 @@
class CPDF_Form;
-class CPDF_FormObject : public CPDF_PageObject {
+class CPDF_FormObject final : public CPDF_PageObject {
public:
CPDF_FormObject(int32_t content_stream,
std::unique_ptr<CPDF_Form> pForm,
diff --git a/core/fpdfapi/page/cpdf_generalstate.h b/core/fpdfapi/page/cpdf_generalstate.h
index 4a101b99de..9ee20db8a5 100644
--- a/core/fpdfapi/page/cpdf_generalstate.h
+++ b/core/fpdfapi/page/cpdf_generalstate.h
@@ -77,7 +77,7 @@ class CPDF_GeneralState {
CFX_Matrix* GetMutableMatrix();
private:
- class StateData : public Retainable {
+ class StateData final : public Retainable {
public:
StateData();
StateData(const StateData& that);
diff --git a/core/fpdfapi/page/cpdf_iccprofile.h b/core/fpdfapi/page/cpdf_iccprofile.h
index a9e11700f1..0f13b0be21 100644
--- a/core/fpdfapi/page/cpdf_iccprofile.h
+++ b/core/fpdfapi/page/cpdf_iccprofile.h
@@ -16,7 +16,7 @@
class CLcmsCmm;
class CPDF_Stream;
-class CPDF_IccProfile : public Retainable {
+class CPDF_IccProfile final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfapi/page/cpdf_image.h b/core/fpdfapi/page/cpdf_image.h
index 4306109199..1be9b4d47f 100644
--- a/core/fpdfapi/page/cpdf_image.h
+++ b/core/fpdfapi/page/cpdf_image.h
@@ -22,7 +22,7 @@ class CPDF_Page;
class PauseIndicatorIface;
class IFX_SeekableReadStream;
-class CPDF_Image : public Retainable {
+class CPDF_Image final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfapi/page/cpdf_imageobject.h b/core/fpdfapi/page/cpdf_imageobject.h
index d54ef8d818..2e01598b8a 100644
--- a/core/fpdfapi/page/cpdf_imageobject.h
+++ b/core/fpdfapi/page/cpdf_imageobject.h
@@ -14,7 +14,7 @@
class CPDF_Image;
-class CPDF_ImageObject : public CPDF_PageObject {
+class CPDF_ImageObject final : public CPDF_PageObject {
public:
explicit CPDF_ImageObject(int32_t content_stream);
CPDF_ImageObject();
diff --git a/core/fpdfapi/page/cpdf_page.h b/core/fpdfapi/page/cpdf_page.h
index 44bb6d8798..b641253f84 100644
--- a/core/fpdfapi/page/cpdf_page.h
+++ b/core/fpdfapi/page/cpdf_page.h
@@ -23,7 +23,7 @@ class CPDF_Object;
class CPDF_PageRenderCache;
class CPDF_PageRenderContext;
-class CPDF_Page : public IPDF_Page, public CPDF_PageObjectHolder {
+class CPDF_Page final : public IPDF_Page, public CPDF_PageObjectHolder {
public:
class View {}; // Caller implements as desired, empty here due to layering.
diff --git a/core/fpdfapi/page/cpdf_pageobjectlist.h b/core/fpdfapi/page/cpdf_pageobjectlist.h
index 77c7d811e1..1b4bf8f75c 100644
--- a/core/fpdfapi/page/cpdf_pageobjectlist.h
+++ b/core/fpdfapi/page/cpdf_pageobjectlist.h
@@ -12,7 +12,7 @@
class CPDF_PageObject;
-class CPDF_PageObjectList
+class CPDF_PageObjectList final
: public std::deque<std::unique_ptr<CPDF_PageObject>> {
public:
CPDF_PageObject* GetPageObjectByIndex(int index) const;
diff --git a/core/fpdfapi/page/cpdf_pathobject.h b/core/fpdfapi/page/cpdf_pathobject.h
index 5155c40c3d..0a1e4d01f9 100644
--- a/core/fpdfapi/page/cpdf_pathobject.h
+++ b/core/fpdfapi/page/cpdf_pathobject.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_system.h"
-class CPDF_PathObject : public CPDF_PageObject {
+class CPDF_PathObject final : public CPDF_PageObject {
public:
explicit CPDF_PathObject(int32_t content_stream);
CPDF_PathObject();
diff --git a/core/fpdfapi/page/cpdf_patterncs.h b/core/fpdfapi/page/cpdf_patterncs.h
index 23735fd8f2..5de9875dbf 100644
--- a/core/fpdfapi/page/cpdf_patterncs.h
+++ b/core/fpdfapi/page/cpdf_patterncs.h
@@ -13,7 +13,7 @@
class CPDF_Document;
-class CPDF_PatternCS : public CPDF_ColorSpace {
+class CPDF_PatternCS final : public CPDF_ColorSpace {
public:
explicit CPDF_PatternCS(CPDF_Document* pDoc);
~CPDF_PatternCS() override;
diff --git a/core/fpdfapi/page/cpdf_psfunc.h b/core/fpdfapi/page/cpdf_psfunc.h
index 1274c21d50..b81c2e7acd 100644
--- a/core/fpdfapi/page/cpdf_psfunc.h
+++ b/core/fpdfapi/page/cpdf_psfunc.h
@@ -14,7 +14,7 @@
class CPDF_Object;
-class CPDF_PSFunc : public CPDF_Function {
+class CPDF_PSFunc final : public CPDF_Function {
public:
CPDF_PSFunc();
~CPDF_PSFunc() override;
diff --git a/core/fpdfapi/page/cpdf_sampledfunc.h b/core/fpdfapi/page/cpdf_sampledfunc.h
index bd129662cf..579fdcea09 100644
--- a/core/fpdfapi/page/cpdf_sampledfunc.h
+++ b/core/fpdfapi/page/cpdf_sampledfunc.h
@@ -14,7 +14,7 @@
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fxcrt/retain_ptr.h"
-class CPDF_SampledFunc : public CPDF_Function {
+class CPDF_SampledFunc final : public CPDF_Function {
public:
struct SampleEncodeInfo {
float encode_max;
diff --git a/core/fpdfapi/page/cpdf_shadingobject.h b/core/fpdfapi/page/cpdf_shadingobject.h
index af88128443..c246870469 100644
--- a/core/fpdfapi/page/cpdf_shadingobject.h
+++ b/core/fpdfapi/page/cpdf_shadingobject.h
@@ -13,7 +13,7 @@
class CPDF_ShadingPattern;
-class CPDF_ShadingObject : public CPDF_PageObject {
+class CPDF_ShadingObject final : public CPDF_PageObject {
public:
CPDF_ShadingObject(int32_t content_stream,
CPDF_ShadingPattern* pattern,
diff --git a/core/fpdfapi/page/cpdf_shadingpattern.h b/core/fpdfapi/page/cpdf_shadingpattern.h
index d7aa1cb272..dbf80874b6 100644
--- a/core/fpdfapi/page/cpdf_shadingpattern.h
+++ b/core/fpdfapi/page/cpdf_shadingpattern.h
@@ -33,7 +33,7 @@ class CPDF_Document;
class CPDF_Function;
class CPDF_Object;
-class CPDF_ShadingPattern : public CPDF_Pattern {
+class CPDF_ShadingPattern final : public CPDF_Pattern {
public:
CPDF_ShadingPattern(CPDF_Document* pDoc,
CPDF_Object* pPatternObj,
diff --git a/core/fpdfapi/page/cpdf_stitchfunc.h b/core/fpdfapi/page/cpdf_stitchfunc.h
index 20dac6cbc1..022bd4ee6d 100644
--- a/core/fpdfapi/page/cpdf_stitchfunc.h
+++ b/core/fpdfapi/page/cpdf_stitchfunc.h
@@ -13,7 +13,7 @@
#include "core/fpdfapi/page/cpdf_function.h"
-class CPDF_StitchFunc : public CPDF_Function {
+class CPDF_StitchFunc final : public CPDF_Function {
public:
CPDF_StitchFunc();
~CPDF_StitchFunc() override;
diff --git a/core/fpdfapi/page/cpdf_textobject.h b/core/fpdfapi/page/cpdf_textobject.h
index ac17c6df68..9ed5ff7ff0 100644
--- a/core/fpdfapi/page/cpdf_textobject.h
+++ b/core/fpdfapi/page/cpdf_textobject.h
@@ -23,7 +23,7 @@ class CPDF_TextObjectItem {
CFX_PointF m_Origin;
};
-class CPDF_TextObject : public CPDF_PageObject {
+class CPDF_TextObject final : public CPDF_PageObject {
public:
explicit CPDF_TextObject(int32_t content_stream);
CPDF_TextObject();
diff --git a/core/fpdfapi/page/cpdf_textstate.h b/core/fpdfapi/page/cpdf_textstate.h
index aa128072b6..c1c3ba8015 100644
--- a/core/fpdfapi/page/cpdf_textstate.h
+++ b/core/fpdfapi/page/cpdf_textstate.h
@@ -59,7 +59,7 @@ class CPDF_TextState {
float* GetMutableCTM();
private:
- class TextData : public Retainable {
+ class TextData final : public Retainable {
public:
TextData();
TextData(const TextData& src);
diff --git a/core/fpdfapi/page/cpdf_tilingpattern.h b/core/fpdfapi/page/cpdf_tilingpattern.h
index d9450d7c2f..c79708d635 100644
--- a/core/fpdfapi/page/cpdf_tilingpattern.h
+++ b/core/fpdfapi/page/cpdf_tilingpattern.h
@@ -17,7 +17,7 @@ class CPDF_Document;
class CPDF_Form;
class CPDF_Object;
-class CPDF_TilingPattern : public CPDF_Pattern {
+class CPDF_TilingPattern final : public CPDF_Pattern {
public:
CPDF_TilingPattern(CPDF_Document* pDoc,
CPDF_Object* pPatternObj,
diff --git a/core/fpdfapi/parser/cfdf_document.h b/core/fpdfapi/parser/cfdf_document.h
index 6efaa4ce06..6ab751e4dd 100644
--- a/core/fpdfapi/parser/cfdf_document.h
+++ b/core/fpdfapi/parser/cfdf_document.h
@@ -17,7 +17,7 @@
class CPDF_Dictionary;
class IFX_SeekableReadStream;
-class CFDF_Document : public CPDF_IndirectObjectHolder {
+class CFDF_Document final : public CPDF_IndirectObjectHolder {
public:
static std::unique_ptr<CFDF_Document> CreateNewDoc();
static std::unique_ptr<CFDF_Document> ParseMemory(
diff --git a/core/fpdfapi/parser/cpdf_array.h b/core/fpdfapi/parser/cpdf_array.h
index 1e63983d51..0c9251ca23 100644
--- a/core/fpdfapi/parser/cpdf_array.h
+++ b/core/fpdfapi/parser/cpdf_array.h
@@ -18,7 +18,7 @@
#include "core/fxcrt/fx_coordinates.h"
#include "third_party/base/ptr_util.h"
-class CPDF_Array : public CPDF_Object {
+class CPDF_Array final : public CPDF_Object {
public:
using const_iterator =
std::vector<std::unique_ptr<CPDF_Object>>::const_iterator;
diff --git a/core/fpdfapi/parser/cpdf_boolean.h b/core/fpdfapi/parser/cpdf_boolean.h
index 61c213bdb9..406381b1b9 100644
--- a/core/fpdfapi/parser/cpdf_boolean.h
+++ b/core/fpdfapi/parser/cpdf_boolean.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
-class CPDF_Boolean : public CPDF_Object {
+class CPDF_Boolean final : public CPDF_Object {
public:
CPDF_Boolean();
explicit CPDF_Boolean(bool value);
diff --git a/core/fpdfapi/parser/cpdf_dictionary.h b/core/fpdfapi/parser/cpdf_dictionary.h
index 5cd0e8be22..4930e5e2e3 100644
--- a/core/fpdfapi/parser/cpdf_dictionary.h
+++ b/core/fpdfapi/parser/cpdf_dictionary.h
@@ -21,7 +21,7 @@
class CPDF_IndirectObjectHolder;
-class CPDF_Dictionary : public CPDF_Object {
+class CPDF_Dictionary final : public CPDF_Object {
public:
using const_iterator =
std::map<ByteString, std::unique_ptr<CPDF_Object>>::const_iterator;
diff --git a/core/fpdfapi/parser/cpdf_document_unittest.cpp b/core/fpdfapi/parser/cpdf_document_unittest.cpp
index c64da6382a..daaab5de32 100644
--- a/core/fpdfapi/parser/cpdf_document_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_document_unittest.cpp
@@ -47,7 +47,7 @@ std::unique_ptr<CPDF_Dictionary> CreateNumberedPage(size_t number) {
return page;
}
-class CPDF_TestDocumentForPages : public CPDF_Document {
+class CPDF_TestDocumentForPages final : public CPDF_Document {
public:
CPDF_TestDocumentForPages() : CPDF_Document() {
// Set up test
@@ -99,7 +99,7 @@ class CPDF_TestDocumentForPages : public CPDF_Document {
}
};
-class CPDF_TestDocumentWithPageWithoutPageNum : public CPDF_Document {
+class CPDF_TestDocumentWithPageWithoutPageNum final : public CPDF_Document {
public:
CPDF_TestDocumentWithPageWithoutPageNum() : CPDF_Document() {
// Set up test
@@ -124,13 +124,13 @@ class CPDF_TestDocumentWithPageWithoutPageNum : public CPDF_Document {
const CPDF_Object* inlined_page_;
};
-class TestLinearized : public CPDF_LinearizedHeader {
+class TestLinearized final : public CPDF_LinearizedHeader {
public:
explicit TestLinearized(CPDF_Dictionary* dict)
: CPDF_LinearizedHeader(dict, 0) {}
};
-class CPDF_TestDocPagesWithoutKids : public CPDF_Document {
+class CPDF_TestDocPagesWithoutKids final : public CPDF_Document {
public:
CPDF_TestDocPagesWithoutKids() : CPDF_Document() {
CPDF_Dictionary* pagesDict = NewIndirect<CPDF_Dictionary>();
@@ -143,7 +143,7 @@ class CPDF_TestDocPagesWithoutKids : public CPDF_Document {
}
};
-class CPDF_TestDocumentAllowSetParser : public CPDF_Document {
+class CPDF_TestDocumentAllowSetParser final : public CPDF_Document {
public:
using CPDF_Document::SetParser;
};
diff --git a/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp b/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp
index c372d74a00..c3b05acbc4 100644
--- a/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp
@@ -40,7 +40,7 @@ std::unique_ptr<CPDF_DataAvail> MakeDataAvailFromFile(
nullptr, MakeValidatorFromFile(file_name), true);
}
-class TestLinearizedHeader : public CPDF_LinearizedHeader {
+class TestLinearizedHeader final : public CPDF_LinearizedHeader {
public:
TestLinearizedHeader(const CPDF_Dictionary* pDict,
FX_FILESIZE szLastXRefOffset)
diff --git a/core/fpdfapi/parser/cpdf_indirect_object_holder_unittest.cpp b/core/fpdfapi/parser/cpdf_indirect_object_holder_unittest.cpp
index 666264f50b..6f913ca01b 100644
--- a/core/fpdfapi/parser/cpdf_indirect_object_holder_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_indirect_object_holder_unittest.cpp
@@ -14,7 +14,7 @@
namespace {
-class MockIndirectObjectHolder : public CPDF_IndirectObjectHolder {
+class MockIndirectObjectHolder final : public CPDF_IndirectObjectHolder {
public:
MockIndirectObjectHolder() {}
~MockIndirectObjectHolder() override {}
diff --git a/core/fpdfapi/parser/cpdf_name.h b/core/fpdfapi/parser/cpdf_name.h
index eef6bca715..1ef6c64c59 100644
--- a/core/fpdfapi/parser/cpdf_name.h
+++ b/core/fpdfapi/parser/cpdf_name.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/string_pool_template.h"
#include "core/fxcrt/weak_ptr.h"
-class CPDF_Name : public CPDF_Object {
+class CPDF_Name final : public CPDF_Object {
public:
CPDF_Name(WeakPtr<ByteStringPool> pPool, const ByteString& str);
~CPDF_Name() override;
diff --git a/core/fpdfapi/parser/cpdf_null.h b/core/fpdfapi/parser/cpdf_null.h
index 003ad2feee..c72d3b02d5 100644
--- a/core/fpdfapi/parser/cpdf_null.h
+++ b/core/fpdfapi/parser/cpdf_null.h
@@ -11,7 +11,7 @@
#include "core/fpdfapi/parser/cpdf_object.h"
-class CPDF_Null : public CPDF_Object {
+class CPDF_Null final : public CPDF_Object {
public:
CPDF_Null();
diff --git a/core/fpdfapi/parser/cpdf_number.h b/core/fpdfapi/parser/cpdf_number.h
index 4681bb216a..b5faf82bb2 100644
--- a/core/fpdfapi/parser/cpdf_number.h
+++ b/core/fpdfapi/parser/cpdf_number.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
-class CPDF_Number : public CPDF_Object {
+class CPDF_Number final : public CPDF_Object {
public:
CPDF_Number();
explicit CPDF_Number(int value);
diff --git a/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp b/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp
index 5c3da70530..e2b23d44f4 100644
--- a/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp
@@ -20,7 +20,7 @@
namespace {
-class TestReadValidator : public CPDF_ReadValidator {
+class TestReadValidator final : public CPDF_ReadValidator {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
@@ -35,7 +35,7 @@ class TestReadValidator : public CPDF_ReadValidator {
~TestReadValidator() override {}
};
-class TestHolder : public CPDF_IndirectObjectHolder {
+class TestHolder final : public CPDF_IndirectObjectHolder {
public:
enum class ObjectState {
Unavailable,
@@ -93,7 +93,7 @@ class TestHolder : public CPDF_IndirectObjectHolder {
RetainPtr<TestReadValidator> validator_;
};
-class CPDF_ObjectAvailFailOnExclude : public CPDF_ObjectAvail {
+class CPDF_ObjectAvailFailOnExclude final : public CPDF_ObjectAvail {
public:
using CPDF_ObjectAvail::CPDF_ObjectAvail;
~CPDF_ObjectAvailFailOnExclude() override {}
@@ -103,7 +103,7 @@ class CPDF_ObjectAvailFailOnExclude : public CPDF_ObjectAvail {
}
};
-class CPDF_ObjectAvailExcludeArray : public CPDF_ObjectAvail {
+class CPDF_ObjectAvailExcludeArray final : public CPDF_ObjectAvail {
public:
using CPDF_ObjectAvail::CPDF_ObjectAvail;
~CPDF_ObjectAvailExcludeArray() override {}
@@ -112,7 +112,7 @@ class CPDF_ObjectAvailExcludeArray : public CPDF_ObjectAvail {
}
};
-class CPDF_ObjectAvailExcludeTypeKey : public CPDF_ObjectAvail {
+class CPDF_ObjectAvailExcludeTypeKey final : public CPDF_ObjectAvail {
public:
using CPDF_ObjectAvail::CPDF_ObjectAvail;
~CPDF_ObjectAvailExcludeTypeKey() override {}
diff --git a/core/fpdfapi/parser/cpdf_object_walker.cpp b/core/fpdfapi/parser/cpdf_object_walker.cpp
index 8424c0fc89..91638662c3 100644
--- a/core/fpdfapi/parser/cpdf_object_walker.cpp
+++ b/core/fpdfapi/parser/cpdf_object_walker.cpp
@@ -12,7 +12,7 @@
namespace {
-class StreamIterator : public CPDF_ObjectWalker::SubobjectIterator {
+class StreamIterator final : public CPDF_ObjectWalker::SubobjectIterator {
public:
explicit StreamIterator(const CPDF_Stream* stream)
: SubobjectIterator(stream) {}
@@ -33,7 +33,7 @@ class StreamIterator : public CPDF_ObjectWalker::SubobjectIterator {
bool is_finished_ = false;
};
-class DictionaryIterator : public CPDF_ObjectWalker::SubobjectIterator {
+class DictionaryIterator final : public CPDF_ObjectWalker::SubobjectIterator {
public:
explicit DictionaryIterator(const CPDF_Dictionary* dictionary)
: SubobjectIterator(dictionary) {}
@@ -64,7 +64,7 @@ class DictionaryIterator : public CPDF_ObjectWalker::SubobjectIterator {
ByteString dict_key_;
};
-class ArrayIterator : public CPDF_ObjectWalker::SubobjectIterator {
+class ArrayIterator final : public CPDF_ObjectWalker::SubobjectIterator {
public:
explicit ArrayIterator(const CPDF_Array* array) : SubobjectIterator(array) {}
diff --git a/core/fpdfapi/parser/cpdf_object_walker.h b/core/fpdfapi/parser/cpdf_object_walker.h
index 57506b9545..e0fd35de29 100644
--- a/core/fpdfapi/parser/cpdf_object_walker.h
+++ b/core/fpdfapi/parser/cpdf_object_walker.h
@@ -55,7 +55,7 @@ class CPDF_ObjectWalker {
std::stack<std::unique_ptr<SubobjectIterator>> stack_;
};
-class CPDF_NonConstObjectWalker : public CPDF_ObjectWalker {
+class CPDF_NonConstObjectWalker final : public CPDF_ObjectWalker {
public:
explicit CPDF_NonConstObjectWalker(CPDF_Object* root)
: CPDF_ObjectWalker(root) {}
diff --git a/core/fpdfapi/parser/cpdf_page_object_avail.h b/core/fpdfapi/parser/cpdf_page_object_avail.h
index 8c740ed045..b62ca4c33a 100644
--- a/core/fpdfapi/parser/cpdf_page_object_avail.h
+++ b/core/fpdfapi/parser/cpdf_page_object_avail.h
@@ -9,7 +9,7 @@
// Helper for check availability of page's object tree.
// Exclude references to pages.
-class CPDF_PageObjectAvail : public CPDF_ObjectAvail {
+class CPDF_PageObjectAvail final : public CPDF_ObjectAvail {
public:
using CPDF_ObjectAvail::CPDF_ObjectAvail;
~CPDF_PageObjectAvail() override;
diff --git a/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp b/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp
index 14ba0e3273..f278b6e57c 100644
--- a/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp
@@ -21,8 +21,7 @@
namespace {
-
-class TestReadValidator : public CPDF_ReadValidator {
+class TestReadValidator final : public CPDF_ReadValidator {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
@@ -37,7 +36,7 @@ class TestReadValidator : public CPDF_ReadValidator {
~TestReadValidator() override {}
};
-class TestHolder : public CPDF_IndirectObjectHolder {
+class TestHolder final : public CPDF_IndirectObjectHolder {
public:
enum class ObjectState {
Unavailable,
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp
index 029851570a..32629bc873 100644
--- a/core/fpdfapi/parser/cpdf_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -47,7 +47,7 @@ uint32_t GetVarInt(const uint8_t* p, int32_t n) {
return result;
}
-class ObjectsHolderStub : public CPDF_Parser::ParsedObjectsHolder {
+class ObjectsHolderStub final : public CPDF_Parser::ParsedObjectsHolder {
public:
ObjectsHolderStub() = default;
~ObjectsHolderStub() override = default;
diff --git a/core/fpdfapi/parser/cpdf_parser_unittest.cpp b/core/fpdfapi/parser/cpdf_parser_unittest.cpp
index 00f3770e87..28c907a101 100644
--- a/core/fpdfapi/parser/cpdf_parser_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_parser_unittest.cpp
@@ -29,7 +29,7 @@ CPDF_CrossRefTable::ObjectInfo GetObjInfo(const CPDF_Parser& parser,
} // namespace
// A wrapper class to help test member functions of CPDF_Parser.
-class CPDF_TestParser : public CPDF_Parser {
+class CPDF_TestParser final : public CPDF_Parser {
public:
CPDF_TestParser() {}
~CPDF_TestParser() {}
diff --git a/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp b/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
index 640269884d..cf8b9b65a1 100644
--- a/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
@@ -20,7 +20,7 @@ std::pair<FX_FILESIZE, FX_FILESIZE> MakeRange(uint32_t start, uint32_t end) {
return std::pair<FX_FILESIZE, FX_FILESIZE>(start, end);
}
-class MockFileAvail : public CPDF_DataAvail::FileAvail {
+class MockFileAvail final : public CPDF_DataAvail::FileAvail {
public:
MockFileAvail() : available_range_(0, 0) {}
~MockFileAvail() override {}
@@ -42,7 +42,7 @@ class MockFileAvail : public CPDF_DataAvail::FileAvail {
std::pair<FX_FILESIZE, FX_FILESIZE> available_range_;
};
-class MockDownloadHints : public CPDF_DataAvail::DownloadHints {
+class MockDownloadHints final : public CPDF_DataAvail::DownloadHints {
public:
MockDownloadHints() : last_requested_range_(0, 0) {}
~MockDownloadHints() override {}
diff --git a/core/fpdfapi/parser/cpdf_reference.h b/core/fpdfapi/parser/cpdf_reference.h
index cdb5d5e674..cb9c6ed1d4 100644
--- a/core/fpdfapi/parser/cpdf_reference.h
+++ b/core/fpdfapi/parser/cpdf_reference.h
@@ -15,7 +15,7 @@
class CPDF_IndirectObjectHolder;
-class CPDF_Reference : public CPDF_Object {
+class CPDF_Reference final : public CPDF_Object {
public:
CPDF_Reference(CPDF_IndirectObjectHolder* pDoc, uint32_t objnum);
~CPDF_Reference() override;
diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h
index 3deb9cddec..9d8cf6d896 100644
--- a/core/fpdfapi/parser/cpdf_stream.h
+++ b/core/fpdfapi/parser/cpdf_stream.h
@@ -15,7 +15,7 @@
#include "core/fpdfapi/parser/cpdf_object.h"
#include "core/fxcrt/fx_stream.h"
-class CPDF_Stream : public CPDF_Object {
+class CPDF_Stream final : public CPDF_Object {
public:
CPDF_Stream();
CPDF_Stream(std::unique_ptr<uint8_t, FxFreeDeleter> pData,
diff --git a/core/fpdfapi/parser/cpdf_stream_acc.h b/core/fpdfapi/parser/cpdf_stream_acc.h
index 5d18723df5..fae8ba0516 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc.h
+++ b/core/fpdfapi/parser/cpdf_stream_acc.h
@@ -16,7 +16,7 @@
#include "core/fxcrt/retain_ptr.h"
#include "third_party/base/span.h"
-class CPDF_StreamAcc : public Retainable {
+class CPDF_StreamAcc final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp b/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp
index dcebf0b3a7..1fbb342548 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp
@@ -12,7 +12,7 @@
namespace {
-class InvalidStream : public IFX_SeekableReadStream {
+class InvalidStream final : public IFX_SeekableReadStream {
public:
InvalidStream() = default;
~InvalidStream() override = default;
diff --git a/core/fpdfapi/parser/cpdf_string.h b/core/fpdfapi/parser/cpdf_string.h
index 144fe64cba..75cc3c4fe1 100644
--- a/core/fpdfapi/parser/cpdf_string.h
+++ b/core/fpdfapi/parser/cpdf_string.h
@@ -15,7 +15,7 @@
#include "core/fxcrt/string_pool_template.h"
#include "core/fxcrt/weak_ptr.h"
-class CPDF_String : public CPDF_Object {
+class CPDF_String final : public CPDF_Object {
public:
CPDF_String();
CPDF_String(WeakPtr<ByteStringPool> pPool, const ByteString& str, bool bHex);
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.cpp b/core/fpdfapi/parser/cpdf_syntax_parser.cpp
index 65a8d78b13..bba96d9b34 100644
--- a/core/fpdfapi/parser/cpdf_syntax_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_syntax_parser.cpp
@@ -34,7 +34,7 @@ namespace {
enum class ReadStatus { Normal, Backslash, Octal, FinishOctal, CarriageReturn };
-class ReadableSubStream : public IFX_SeekableReadStream {
+class ReadableSubStream final : public IFX_SeekableReadStream {
public:
ReadableSubStream(const RetainPtr<IFX_SeekableReadStream>& pFileRead,
FX_FILESIZE part_offset,
diff --git a/core/fpdfapi/render/cpdf_dibbase.h b/core/fpdfapi/render/cpdf_dibbase.h
index a1008470b6..423069db25 100644
--- a/core/fpdfapi/render/cpdf_dibbase.h
+++ b/core/fpdfapi/render/cpdf_dibbase.h
@@ -39,7 +39,7 @@ struct DIB_COMP_DATA {
#define FPDF_HUGE_IMAGE_SIZE 60000000
-class CPDF_DIBBase : public CFX_DIBBase {
+class CPDF_DIBBase final : public CFX_DIBBase {
public:
enum class LoadState : uint8_t { kFail, kSuccess, kContinue };
diff --git a/core/fpdfapi/render/cpdf_dibtransferfunc.h b/core/fpdfapi/render/cpdf_dibtransferfunc.h
index 61abd2e23c..62e0157665 100644
--- a/core/fpdfapi/render/cpdf_dibtransferfunc.h
+++ b/core/fpdfapi/render/cpdf_dibtransferfunc.h
@@ -15,7 +15,7 @@
class CPDF_TransferFunc;
-class CPDF_DIBTransferFunc : public CFX_FilteredDIB {
+class CPDF_DIBTransferFunc final : public CFX_FilteredDIB {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfapi/render/cpdf_transferfunc.h b/core/fpdfapi/render/cpdf_transferfunc.h
index e8964727c6..d45184eb92 100644
--- a/core/fpdfapi/render/cpdf_transferfunc.h
+++ b/core/fpdfapi/render/cpdf_transferfunc.h
@@ -14,7 +14,7 @@
class CPDF_Document;
class CFX_DIBBase;
-class CPDF_TransferFunc : public Retainable {
+class CPDF_TransferFunc final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfapi/render/cpdf_type3cache.h b/core/fpdfapi/render/cpdf_type3cache.h
index f0bfbd63b6..de802c589b 100644
--- a/core/fpdfapi/render/cpdf_type3cache.h
+++ b/core/fpdfapi/render/cpdf_type3cache.h
@@ -18,7 +18,7 @@
class CPDF_Type3Glyphs;
-class CPDF_Type3Cache : public Retainable {
+class CPDF_Type3Cache final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfdoc/cpdf_occontext.h b/core/fpdfdoc/cpdf_occontext.h
index 67763610f4..16b28ba06f 100644
--- a/core/fpdfdoc/cpdf_occontext.h
+++ b/core/fpdfdoc/cpdf_occontext.h
@@ -17,7 +17,7 @@ class CPDF_Dictionary;
class CPDF_Document;
class CPDF_PageObject;
-class CPDF_OCContext : public Retainable {
+class CPDF_OCContext final : public Retainable {
public:
enum UsageType { View = 0, Design, Print, Export };
diff --git a/core/fpdfdoc/cpdf_structelement.h b/core/fpdfdoc/cpdf_structelement.h
index 79e8dd92c8..355599ff87 100644
--- a/core/fpdfdoc/cpdf_structelement.h
+++ b/core/fpdfdoc/cpdf_structelement.h
@@ -34,7 +34,7 @@ class CPDF_StructKid {
uint32_t m_ContentId; // For PageContent, StreamContent.
};
-class CPDF_StructElement : public Retainable {
+class CPDF_StructElement final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fpdfdoc/cpvt_floatrect.h b/core/fpdfdoc/cpvt_floatrect.h
index c5eb2202bb..4dca3aaa43 100644
--- a/core/fpdfdoc/cpvt_floatrect.h
+++ b/core/fpdfdoc/cpvt_floatrect.h
@@ -9,7 +9,7 @@
#include "core/fxcrt/fx_coordinates.h"
-class CPVT_FloatRect : public CFX_FloatRect {
+class CPVT_FloatRect final : public CFX_FloatRect {
public:
CPVT_FloatRect() { left = top = right = bottom = 0.0f; }
diff --git a/core/fpdfdoc/cpvt_fontmap.h b/core/fpdfdoc/cpvt_fontmap.h
index f1a27753ac..6d8ca062c1 100644
--- a/core/fpdfdoc/cpvt_fontmap.h
+++ b/core/fpdfdoc/cpvt_fontmap.h
@@ -17,7 +17,7 @@ class CPDF_Document;
class CPDF_Dictionary;
class CPDF_Font;
-class CPVT_FontMap : public IPVT_FontMap {
+class CPVT_FontMap final : public IPVT_FontMap {
public:
CPVT_FontMap(CPDF_Document* pDoc,
CPDF_Dictionary* pResDict,
diff --git a/core/fpdftext/cpdf_linkextract_unittest.cpp b/core/fpdftext/cpdf_linkextract_unittest.cpp
index 30438e6c10..f4bd197dda 100644
--- a/core/fpdftext/cpdf_linkextract_unittest.cpp
+++ b/core/fpdftext/cpdf_linkextract_unittest.cpp
@@ -7,7 +7,7 @@
#include "testing/gtest/include/gtest/gtest.h"
// Class to help test functions in CPDF_LinkExtract class.
-class CPDF_TestLinkExtract : public CPDF_LinkExtract {
+class CPDF_TestLinkExtract final : public CPDF_LinkExtract {
public:
CPDF_TestLinkExtract() : CPDF_LinkExtract(nullptr) {}
diff --git a/core/fxcodec/bmp/cfx_bmpcontext.h b/core/fxcodec/bmp/cfx_bmpcontext.h
index 198d080fb8..89e6463872 100644
--- a/core/fxcodec/bmp/cfx_bmpcontext.h
+++ b/core/fxcodec/bmp/cfx_bmpcontext.h
@@ -10,7 +10,7 @@
#include "core/fxcodec/bmp/cfx_bmpdecompressor.h"
#include "core/fxcodec/bmp/fx_bmp.h"
-class CFX_BmpContext : public CCodec_BmpModule::Context {
+class CFX_BmpContext final : public CCodec_BmpModule::Context {
public:
CFX_BmpContext(CCodec_BmpModule* pModule,
CCodec_BmpModule::Delegate* pDelegate);
diff --git a/core/fxcodec/codec/ccodec_pngmodule.cpp b/core/fxcodec/codec/ccodec_pngmodule.cpp
index 98db4e272e..2c22f6bdba 100644
--- a/core/fxcodec/codec/ccodec_pngmodule.cpp
+++ b/core/fxcodec/codec/ccodec_pngmodule.cpp
@@ -23,7 +23,7 @@
#define PNG_ERROR_SIZE 256
-class CPngContext : public CCodec_PngModule::Context {
+class CPngContext final : public CCodec_PngModule::Context {
public:
CPngContext(CCodec_PngModule* pModule, CCodec_PngModule::Delegate* pDelegate);
~CPngContext() override;
diff --git a/core/fxcodec/codec/ccodec_tiffmodule.cpp b/core/fxcodec/codec/ccodec_tiffmodule.cpp
index 5f74b28cdc..78f631cba9 100644
--- a/core/fxcodec/codec/ccodec_tiffmodule.cpp
+++ b/core/fxcodec/codec/ccodec_tiffmodule.cpp
@@ -32,7 +32,7 @@ struct TiffDeleter {
} // namespace
-class CTiffContext : public CCodec_TiffModule::Context {
+class CTiffContext final : public CCodec_TiffModule::Context {
public:
CTiffContext() = default;
~CTiffContext() override = default;
diff --git a/core/fxcodec/codec/cfx_codec_memory.h b/core/fxcodec/codec/cfx_codec_memory.h
index e726dc5320..2907e892d2 100644
--- a/core/fxcodec/codec/cfx_codec_memory.h
+++ b/core/fxcodec/codec/cfx_codec_memory.h
@@ -8,7 +8,7 @@
#include "core/fxcrt/retain_ptr.h"
#include "third_party/base/span.h"
-class CFX_CodecMemory : public Retainable {
+class CFX_CodecMemory final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fxcodec/codec/fx_codec.cpp b/core/fxcodec/codec/fx_codec.cpp
index 54245a5b99..053aa71da2 100644
--- a/core/fxcodec/codec/fx_codec.cpp
+++ b/core/fxcodec/codec/fx_codec.cpp
@@ -1517,7 +1517,7 @@ CFX_DIBAttribute::~CFX_DIBAttribute() {
}
#endif // PDF_ENABLE_XFA
-class CCodec_RLScanlineDecoder : public CCodec_ScanlineDecoder {
+class CCodec_RLScanlineDecoder final : public CCodec_ScanlineDecoder {
public:
CCodec_RLScanlineDecoder();
~CCodec_RLScanlineDecoder() override;
diff --git a/core/fxcodec/codec/fx_codec_fax.cpp b/core/fxcodec/codec/fx_codec_fax.cpp
index aabc110010..c6e71b6b60 100644
--- a/core/fxcodec/codec/fx_codec_fax.cpp
+++ b/core/fxcodec/codec/fx_codec_fax.cpp
@@ -447,7 +447,7 @@ void FaxGet1DLine(const uint8_t* src_buf,
} // namespace
-class CCodec_FaxDecoder : public CCodec_ScanlineDecoder {
+class CCodec_FaxDecoder final : public CCodec_ScanlineDecoder {
public:
CCodec_FaxDecoder(const uint8_t* src_buf,
uint32_t src_size,
diff --git a/core/fxcodec/codec/fx_codec_flate.cpp b/core/fxcodec/codec/fx_codec_flate.cpp
index 39d27a4955..11bdf67c42 100644
--- a/core/fxcodec/codec/fx_codec_flate.cpp
+++ b/core/fxcodec/codec/fx_codec_flate.cpp
@@ -623,7 +623,7 @@ uint32_t CCodec_FlateScanlineDecoder::GetSrcOffset() {
return FlateGetPossiblyTruncatedTotalIn(m_pFlate.get());
}
-class CCodec_FlatePredictorScanlineDecoder
+class CCodec_FlatePredictorScanlineDecoder final
: public CCodec_FlateScanlineDecoder {
public:
CCodec_FlatePredictorScanlineDecoder(const uint8_t* src_buf,
diff --git a/core/fxcodec/codec/fx_codec_jpeg.cpp b/core/fxcodec/codec/fx_codec_jpeg.cpp
index 4c37465386..d8e94b0285 100644
--- a/core/fxcodec/codec/fx_codec_jpeg.cpp
+++ b/core/fxcodec/codec/fx_codec_jpeg.cpp
@@ -29,7 +29,7 @@ extern "C" {
#endif
} // extern "C"
-class CJpegContext : public CCodec_JpegModule::Context {
+class CJpegContext final : public CCodec_JpegModule::Context {
public:
CJpegContext();
~CJpegContext() override;
@@ -162,7 +162,7 @@ static bool JpegLoadInfo(const uint8_t* src_buf,
return true;
}
-class CCodec_JpegDecoder : public CCodec_ScanlineDecoder {
+class CCodec_JpegDecoder final : public CCodec_ScanlineDecoder {
public:
CCodec_JpegDecoder();
~CCodec_JpegDecoder() override;
diff --git a/core/fxcodec/gif/cfx_gifcontext_unittest.cpp b/core/fxcodec/gif/cfx_gifcontext_unittest.cpp
index 0d8941f72f..25f12b2724 100644
--- a/core/fxcodec/gif/cfx_gifcontext_unittest.cpp
+++ b/core/fxcodec/gif/cfx_gifcontext_unittest.cpp
@@ -7,7 +7,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "testing/gtest/include/gtest/gtest.h"
-class CFX_GifContextForTest : public CFX_GifContext {
+class CFX_GifContextForTest final : public CFX_GifContext {
public:
CFX_GifContextForTest(CCodec_GifModule* gif_module,
CCodec_GifModule::Delegate* delegate)
diff --git a/core/fxcrt/cfx_fileaccess_posix.h b/core/fxcrt/cfx_fileaccess_posix.h
index 381f115a13..7b8230de18 100644
--- a/core/fxcrt/cfx_fileaccess_posix.h
+++ b/core/fxcrt/cfx_fileaccess_posix.h
@@ -16,7 +16,7 @@
#error "Included on the wrong platform"
#endif
-class CFX_FileAccess_Posix : public FileAccessIface {
+class CFX_FileAccess_Posix final : public FileAccessIface {
public:
CFX_FileAccess_Posix();
~CFX_FileAccess_Posix() override;
diff --git a/core/fxcrt/cfx_fileaccess_windows.h b/core/fxcrt/cfx_fileaccess_windows.h
index 4352a2b521..fad2ed6f94 100644
--- a/core/fxcrt/cfx_fileaccess_windows.h
+++ b/core/fxcrt/cfx_fileaccess_windows.h
@@ -14,7 +14,7 @@
#error "Included on the wrong platform"
#endif
-class CFX_FileAccess_Windows : public FileAccessIface {
+class CFX_FileAccess_Windows final : public FileAccessIface {
public:
CFX_FileAccess_Windows();
~CFX_FileAccess_Windows() override;
diff --git a/core/fxcrt/cfx_memorystream.h b/core/fxcrt/cfx_memorystream.h
index 99e39a8ef3..c09c39011b 100644
--- a/core/fxcrt/cfx_memorystream.h
+++ b/core/fxcrt/cfx_memorystream.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/retain_ptr.h"
-class CFX_MemoryStream : public IFX_SeekableStream {
+class CFX_MemoryStream final : public IFX_SeekableStream {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fxcrt/cfx_seekablemultistream.h b/core/fxcrt/cfx_seekablemultistream.h
index 4bd26b9863..ac15386b99 100644
--- a/core/fxcrt/cfx_seekablemultistream.h
+++ b/core/fxcrt/cfx_seekablemultistream.h
@@ -15,7 +15,7 @@
class CPDF_Stream;
class CPDF_StreamAcc;
-class CFX_SeekableMultiStream : public IFX_SeekableStream {
+class CFX_SeekableMultiStream final : public IFX_SeekableStream {
public:
explicit CFX_SeekableMultiStream(
const std::vector<const CPDF_Stream*>& streams);
diff --git a/core/fxcrt/cfx_seekablestreamproxy.h b/core/fxcrt/cfx_seekablestreamproxy.h
index 9b6b3a11c9..b193b1801a 100644
--- a/core/fxcrt/cfx_seekablestreamproxy.h
+++ b/core/fxcrt/cfx_seekablestreamproxy.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/retain_ptr.h"
-class CFX_SeekableStreamProxy : public IFX_SeekableReadStream {
+class CFX_SeekableStreamProxy final : public IFX_SeekableReadStream {
public:
enum class From {
Begin = 0,
diff --git a/core/fxcrt/cfx_widetextbuf.h b/core/fxcrt/cfx_widetextbuf.h
index 84553a3e59..483f75d318 100644
--- a/core/fxcrt/cfx_widetextbuf.h
+++ b/core/fxcrt/cfx_widetextbuf.h
@@ -11,7 +11,7 @@
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
-class CFX_WideTextBuf : public CFX_BinaryBuf {
+class CFX_WideTextBuf final : public CFX_BinaryBuf {
public:
void AppendChar(wchar_t wch);
size_t GetLength() const override;
diff --git a/core/fxcrt/css/cfx_csscolorvalue.h b/core/fxcrt/css/cfx_csscolorvalue.h
index f59c0c5d3d..0156caa786 100644
--- a/core/fxcrt/css/cfx_csscolorvalue.h
+++ b/core/fxcrt/css/cfx_csscolorvalue.h
@@ -9,7 +9,7 @@
#include "core/fxcrt/css/cfx_cssvalue.h"
-class CFX_CSSColorValue : public CFX_CSSValue {
+class CFX_CSSColorValue final : public CFX_CSSValue {
public:
explicit CFX_CSSColorValue(FX_ARGB color);
~CFX_CSSColorValue() override;
diff --git a/core/fxcrt/css/cfx_csscomputedstyle.h b/core/fxcrt/css/cfx_csscomputedstyle.h
index 5080a7a3c2..f97f3f1d7d 100644
--- a/core/fxcrt/css/cfx_csscomputedstyle.h
+++ b/core/fxcrt/css/cfx_csscomputedstyle.h
@@ -15,7 +15,7 @@
class CFX_CSSValueList;
-class CFX_CSSComputedStyle : public Retainable {
+class CFX_CSSComputedStyle final : public Retainable {
public:
class InheritedData {
public:
diff --git a/core/fxcrt/css/cfx_cssenumvalue.h b/core/fxcrt/css/cfx_cssenumvalue.h
index 0d6b87e85d..c397761d5a 100644
--- a/core/fxcrt/css/cfx_cssenumvalue.h
+++ b/core/fxcrt/css/cfx_cssenumvalue.h
@@ -9,7 +9,7 @@
#include "core/fxcrt/css/cfx_cssvalue.h"
-class CFX_CSSEnumValue : public CFX_CSSValue {
+class CFX_CSSEnumValue final : public CFX_CSSValue {
public:
explicit CFX_CSSEnumValue(CFX_CSSPropertyValue value);
~CFX_CSSEnumValue() override;
diff --git a/core/fxcrt/css/cfx_cssnumbervalue.h b/core/fxcrt/css/cfx_cssnumbervalue.h
index a49328d663..a977750f08 100644
--- a/core/fxcrt/css/cfx_cssnumbervalue.h
+++ b/core/fxcrt/css/cfx_cssnumbervalue.h
@@ -23,7 +23,7 @@ enum class CFX_CSSNumberType {
Picas,
};
-class CFX_CSSNumberValue : public CFX_CSSValue {
+class CFX_CSSNumberValue final : public CFX_CSSValue {
public:
CFX_CSSNumberValue(CFX_CSSNumberType type, float value);
~CFX_CSSNumberValue() override;
diff --git a/core/fxcrt/css/cfx_cssstringvalue.h b/core/fxcrt/css/cfx_cssstringvalue.h
index d72078a630..d49393c305 100644
--- a/core/fxcrt/css/cfx_cssstringvalue.h
+++ b/core/fxcrt/css/cfx_cssstringvalue.h
@@ -9,7 +9,7 @@
#include "core/fxcrt/css/cfx_cssvalue.h"
-class CFX_CSSStringValue : public CFX_CSSValue {
+class CFX_CSSStringValue final : public CFX_CSSValue {
public:
explicit CFX_CSSStringValue(const WideString& value);
~CFX_CSSStringValue() override;
diff --git a/core/fxcrt/css/cfx_cssvaluelist.h b/core/fxcrt/css/cfx_cssvaluelist.h
index d2b0c6e7d1..5e04c649b9 100644
--- a/core/fxcrt/css/cfx_cssvaluelist.h
+++ b/core/fxcrt/css/cfx_cssvaluelist.h
@@ -11,7 +11,7 @@
#include "core/fxcrt/css/cfx_cssvalue.h"
-class CFX_CSSValueList : public CFX_CSSValue {
+class CFX_CSSValueList final : public CFX_CSSValue {
public:
explicit CFX_CSSValueList(std::vector<RetainPtr<CFX_CSSValue>>& list);
~CFX_CSSValueList() override;
diff --git a/core/fxcrt/fx_coordinates.h b/core/fxcrt/fx_coordinates.h
index f84c5ee220..05e60c47b5 100644
--- a/core/fxcrt/fx_coordinates.h
+++ b/core/fxcrt/fx_coordinates.h
@@ -132,7 +132,7 @@ using CFX_Size = CFX_STemplate<int32_t>;
using CFX_SizeF = CFX_STemplate<float>;
template <class BaseType>
-class CFX_VTemplate : public CFX_PTemplate<BaseType> {
+class CFX_VTemplate final : public CFX_PTemplate<BaseType> {
public:
using CFX_PTemplate<BaseType>::x;
using CFX_PTemplate<BaseType>::y;
diff --git a/core/fxcrt/observable_unittest.cpp b/core/fxcrt/observable_unittest.cpp
index 63e61b8513..5c55805afb 100644
--- a/core/fxcrt/observable_unittest.cpp
+++ b/core/fxcrt/observable_unittest.cpp
@@ -12,7 +12,7 @@
namespace fxcrt {
namespace {
-class PseudoObservable : public Observable<PseudoObservable> {
+class PseudoObservable final : public Observable<PseudoObservable> {
public:
PseudoObservable() {}
int SomeMethod() { return 42; }
diff --git a/core/fxcrt/shared_copy_on_write_unittest.cpp b/core/fxcrt/shared_copy_on_write_unittest.cpp
index 57e33d1019..6764c69300 100644
--- a/core/fxcrt/shared_copy_on_write_unittest.cpp
+++ b/core/fxcrt/shared_copy_on_write_unittest.cpp
@@ -29,7 +29,7 @@ class Observer {
std::map<std::string, int> destruction_counts_;
};
-class Object : public Retainable {
+class Object final : public Retainable {
public:
Object(Observer* observer, const std::string& name)
: name_(name), observer_(observer) {
diff --git a/core/fxcrt/xml/cfx_xmlchardata.h b/core/fxcrt/xml/cfx_xmlchardata.h
index 9e5669a464..71e9407ca2 100644
--- a/core/fxcrt/xml/cfx_xmlchardata.h
+++ b/core/fxcrt/xml/cfx_xmlchardata.h
@@ -14,7 +14,7 @@
class CFX_XMLDocument;
-class CFX_XMLCharData : public CFX_XMLText {
+class CFX_XMLCharData final : public CFX_XMLText {
public:
explicit CFX_XMLCharData(const WideString& wsCData);
~CFX_XMLCharData() override;
diff --git a/core/fxcrt/xml/cfx_xmlelement.h b/core/fxcrt/xml/cfx_xmlelement.h
index 394866042c..f54587c4e4 100644
--- a/core/fxcrt/xml/cfx_xmlelement.h
+++ b/core/fxcrt/xml/cfx_xmlelement.h
@@ -16,7 +16,7 @@
class CFX_XMLDocument;
-class CFX_XMLElement : public CFX_XMLNode {
+class CFX_XMLElement final : public CFX_XMLNode {
public:
explicit CFX_XMLElement(const WideString& wsTag);
~CFX_XMLElement() override;
diff --git a/core/fxcrt/xml/cfx_xmlinstruction.h b/core/fxcrt/xml/cfx_xmlinstruction.h
index 8962d73ac1..18f84c3c3d 100644
--- a/core/fxcrt/xml/cfx_xmlinstruction.h
+++ b/core/fxcrt/xml/cfx_xmlinstruction.h
@@ -15,7 +15,7 @@
class CFX_XMLDocument;
-class CFX_XMLInstruction : public CFX_XMLNode {
+class CFX_XMLInstruction final : public CFX_XMLNode {
public:
explicit CFX_XMLInstruction(const WideString& wsTarget);
~CFX_XMLInstruction() override;
diff --git a/core/fxge/agg/fx_agg_driver.h b/core/fxge/agg/fx_agg_driver.h
index 167b211746..6d6b988c3a 100644
--- a/core/fxge/agg/fx_agg_driver.h
+++ b/core/fxge/agg/fx_agg_driver.h
@@ -30,7 +30,7 @@ class CAgg_PathData {
agg::path_storage m_PathData;
};
-class CFX_AggDeviceDriver : public RenderDeviceDriverIface {
+class CFX_AggDeviceDriver final : public RenderDeviceDriverIface {
public:
CFX_AggDeviceDriver(const RetainPtr<CFX_DIBitmap>& pBitmap,
bool bRgbByteOrder,
diff --git a/core/fxge/android/cfx_androidfontinfo.h b/core/fxge/android/cfx_androidfontinfo.h
index 62ad7184fe..f671bfbbb7 100644
--- a/core/fxge/android/cfx_androidfontinfo.h
+++ b/core/fxge/android/cfx_androidfontinfo.h
@@ -14,7 +14,7 @@
class CFPF_SkiaFontMgr;
-class CFX_AndroidFontInfo : public SystemFontInfoIface {
+class CFX_AndroidFontInfo final : public SystemFontInfoIface {
public:
CFX_AndroidFontInfo();
~CFX_AndroidFontInfo() override;
diff --git a/core/fxge/apple/fx_mac_imp.cpp b/core/fxge/apple/fx_mac_imp.cpp
index f4a62a62d8..62ac33c51b 100644
--- a/core/fxge/apple/fx_mac_imp.cpp
+++ b/core/fxge/apple/fx_mac_imp.cpp
@@ -35,7 +35,7 @@ const struct {
{"Times-Italic", "Times New Roman Italic"},
};
-class CFX_MacFontInfo : public CFX_FolderFontInfo {
+class CFX_MacFontInfo final : public CFX_FolderFontInfo {
public:
CFX_MacFontInfo() {}
~CFX_MacFontInfo() override {}
diff --git a/core/fxge/cfx_defaultrenderdevice.h b/core/fxge/cfx_defaultrenderdevice.h
index 07e3cc57c9..937088f2b2 100644
--- a/core/fxge/cfx_defaultrenderdevice.h
+++ b/core/fxge/cfx_defaultrenderdevice.h
@@ -12,7 +12,7 @@
class SkPictureRecorder;
-class CFX_DefaultRenderDevice : public CFX_RenderDevice {
+class CFX_DefaultRenderDevice final : public CFX_RenderDevice {
public:
CFX_DefaultRenderDevice();
~CFX_DefaultRenderDevice() override;
diff --git a/core/fxge/cfx_graphstatedata.h b/core/fxge/cfx_graphstatedata.h
index 1afff83c1c..a907f2a922 100644
--- a/core/fxge/cfx_graphstatedata.h
+++ b/core/fxge/cfx_graphstatedata.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/retain_ptr.h"
-class CFX_GraphStateData : public Retainable {
+class CFX_GraphStateData final : public Retainable {
public:
enum LineCap { LineCapButt = 0, LineCapRound = 1, LineCapSquare = 2 };
diff --git a/core/fxge/cfx_pathdata.h b/core/fxge/cfx_pathdata.h
index 5c2be627bf..9d96407de9 100644
--- a/core/fxge/cfx_pathdata.h
+++ b/core/fxge/cfx_pathdata.h
@@ -29,7 +29,7 @@ class FX_PATHPOINT {
bool m_CloseFigure;
};
-class CFX_PathData : public Retainable {
+class CFX_PathData final : public Retainable {
public:
CFX_PathData();
CFX_PathData(const CFX_PathData& src);
diff --git a/core/fxge/cfx_unicodeencodingex.h b/core/fxge/cfx_unicodeencodingex.h
index 5632d9665d..d9d349a88b 100644
--- a/core/fxge/cfx_unicodeencodingex.h
+++ b/core/fxge/cfx_unicodeencodingex.h
@@ -15,7 +15,7 @@
#include "core/fxge/cfx_unicodeencoding.h"
#include "core/fxge/fx_dib.h"
-class CFX_UnicodeEncodingEx : public CFX_UnicodeEncoding {
+class CFX_UnicodeEncodingEx final : public CFX_UnicodeEncoding {
public:
CFX_UnicodeEncodingEx(CFX_Font* pFont, uint32_t EncodingID);
~CFX_UnicodeEncodingEx() override;
diff --git a/core/fxge/cfx_windowsrenderdevice.h b/core/fxge/cfx_windowsrenderdevice.h
index 9701ca5186..4470a74c45 100644
--- a/core/fxge/cfx_windowsrenderdevice.h
+++ b/core/fxge/cfx_windowsrenderdevice.h
@@ -36,7 +36,7 @@ extern PDFiumEnsureTypefaceCharactersAccessible
#endif
extern WindowsPrintMode g_pdfium_print_mode;
-class CFX_WindowsRenderDevice : public CFX_RenderDevice {
+class CFX_WindowsRenderDevice final : public CFX_RenderDevice {
public:
static RenderDeviceDriverIface* CreateDriver(HDC hDC);
diff --git a/core/fxge/dib/cfx_bitmapcomposer.h b/core/fxge/dib/cfx_bitmapcomposer.h
index f1bf0e9f32..50a53dbc2b 100644
--- a/core/fxge/dib/cfx_bitmapcomposer.h
+++ b/core/fxge/dib/cfx_bitmapcomposer.h
@@ -18,7 +18,7 @@
class CFX_ClipRgn;
class CFX_DIBitmap;
-class CFX_BitmapComposer : public ScanlineComposerIface {
+class CFX_BitmapComposer final : public ScanlineComposerIface {
public:
CFX_BitmapComposer();
~CFX_BitmapComposer() override;
diff --git a/core/fxge/dib/cfx_bitmapstorer.h b/core/fxge/dib/cfx_bitmapstorer.h
index 7d3482fc3f..3da1f70487 100644
--- a/core/fxge/dib/cfx_bitmapstorer.h
+++ b/core/fxge/dib/cfx_bitmapstorer.h
@@ -16,7 +16,7 @@
#include "core/fxge/dib/scanlinecomposer_iface.h"
#include "third_party/base/stl_util.h"
-class CFX_BitmapStorer : public ScanlineComposerIface {
+class CFX_BitmapStorer final : public ScanlineComposerIface {
public:
CFX_BitmapStorer();
~CFX_BitmapStorer() override;
diff --git a/core/fxge/dib/cfx_imagetransformer.cpp b/core/fxge/dib/cfx_imagetransformer.cpp
index 0042462c89..66446ce52c 100644
--- a/core/fxge/dib/cfx_imagetransformer.cpp
+++ b/core/fxge/dib/cfx_imagetransformer.cpp
@@ -180,7 +180,7 @@ class CPDF_FixedMatrix {
const int f;
};
-class CFX_BilinearMatrix : public CPDF_FixedMatrix {
+class CFX_BilinearMatrix final : public CPDF_FixedMatrix {
public:
explicit CFX_BilinearMatrix(const CFX_Matrix& src) : CPDF_FixedMatrix(src) {}
diff --git a/core/fxge/fx_ge_linux.cpp b/core/fxge/fx_ge_linux.cpp
index d2da781881..4d4f4e625e 100644
--- a/core/fxge/fx_ge_linux.cpp
+++ b/core/fxge/fx_ge_linux.cpp
@@ -66,7 +66,7 @@ size_t GetJapanesePreference(const char* facearr,
return 2;
}
-class CFX_LinuxFontInfo : public CFX_FolderFontInfo {
+class CFX_LinuxFontInfo final : public CFX_FolderFontInfo {
public:
CFX_LinuxFontInfo() {}
~CFX_LinuxFontInfo() override {}
diff --git a/core/fxge/skia/fx_skia_device.h b/core/fxge/skia/fx_skia_device.h
index ce6ca6b000..4baeacbce5 100644
--- a/core/fxge/skia/fx_skia_device.h
+++ b/core/fxge/skia/fx_skia_device.h
@@ -22,7 +22,7 @@ class SkPictureRecorder;
class SkiaState;
struct SkIRect;
-class CFX_SkiaDeviceDriver : public RenderDeviceDriverIface {
+class CFX_SkiaDeviceDriver final : public RenderDeviceDriverIface {
public:
CFX_SkiaDeviceDriver(const RetainPtr<CFX_DIBitmap>& pBitmap,
bool bRgbByteOrder,
diff --git a/core/fxge/win32/cfx_windowsdib.h b/core/fxge/win32/cfx_windowsdib.h
index c64fc7dc16..4b7de7d5f9 100644
--- a/core/fxge/win32/cfx_windowsdib.h
+++ b/core/fxge/win32/cfx_windowsdib.h
@@ -24,7 +24,7 @@ struct WINDIB_Open_Args_ {
const wchar_t* path_name;
};
-class CFX_WindowsDIB : public CFX_DIBitmap {
+class CFX_WindowsDIB final : public CFX_DIBitmap {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/core/fxge/win32/cpsoutput.h b/core/fxge/win32/cpsoutput.h
index 49317a64a5..04e5ac1fa0 100644
--- a/core/fxge/win32/cpsoutput.h
+++ b/core/fxge/win32/cpsoutput.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/fx_system.h"
-class CPSOutput : public IFX_WriteStream {
+class CPSOutput final : public IFX_WriteStream {
public:
enum class OutputMode { kExtEscape, kGdiComment };
diff --git a/core/fxge/win32/win32_int.h b/core/fxge/win32/win32_int.h
index 76a1d8800e..0bc68c46b9 100644
--- a/core/fxge/win32/win32_int.h
+++ b/core/fxge/win32/win32_int.h
@@ -188,7 +188,7 @@ class CGdiDeviceDriver : public RenderDeviceDriverIface {
int m_RenderCaps;
};
-class CGdiDisplayDriver : public CGdiDeviceDriver {
+class CGdiDisplayDriver final : public CGdiDeviceDriver {
public:
explicit CGdiDisplayDriver(HDC hDC);
~CGdiDisplayDriver() override;
@@ -229,7 +229,7 @@ class CGdiDisplayDriver : public CGdiDeviceDriver {
int render_flags);
};
-class CGdiPrinterDriver : public CGdiDeviceDriver {
+class CGdiPrinterDriver final : public CGdiDeviceDriver {
public:
explicit CGdiPrinterDriver(HDC hDC);
~CGdiPrinterDriver() override;
@@ -269,7 +269,7 @@ class CGdiPrinterDriver : public CGdiDeviceDriver {
const int m_VertSize;
};
-class CPSPrinterDriver : public RenderDeviceDriverIface {
+class CPSPrinterDriver final : public RenderDeviceDriverIface {
public:
CPSPrinterDriver(HDC hDC, WindowsPrintMode mode, bool bCmykOutput);
~CPSPrinterDriver() override;
@@ -334,7 +334,7 @@ class CPSPrinterDriver : public RenderDeviceDriverIface {
CFX_PSRenderer m_PSRenderer;
};
-class CTextOnlyPrinterDriver : public RenderDeviceDriverIface {
+class CTextOnlyPrinterDriver final : public RenderDeviceDriverIface {
public:
explicit CTextOnlyPrinterDriver(HDC hDC);
~CTextOnlyPrinterDriver() override;
diff --git a/fpdfsdk/cpdfsdk_baannothandler.h b/fpdfsdk/cpdfsdk_baannothandler.h
index 3369839bb7..53c06f1557 100644
--- a/fpdfsdk/cpdfsdk_baannothandler.h
+++ b/fpdfsdk/cpdfsdk_baannothandler.h
@@ -22,7 +22,7 @@ class CPDFSDK_PageView;
class CXFA_FFWidget;
#endif // PDF_ENABLE_XFA
-class CPDFSDK_BAAnnotHandler : public IPDFSDK_AnnotHandler {
+class CPDFSDK_BAAnnotHandler final : public IPDFSDK_AnnotHandler {
public:
CPDFSDK_BAAnnotHandler();
~CPDFSDK_BAAnnotHandler() override;
diff --git a/fpdfsdk/cpdfsdk_filewriteadapter.h b/fpdfsdk/cpdfsdk_filewriteadapter.h
index 3d5dbfd453..beae403ecb 100644
--- a/fpdfsdk/cpdfsdk_filewriteadapter.h
+++ b/fpdfsdk/cpdfsdk_filewriteadapter.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "public/fpdf_save.h"
-class CPDFSDK_FileWriteAdapter : public IFX_WriteStream {
+class CPDFSDK_FileWriteAdapter final : public IFX_WriteStream {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.h b/fpdfsdk/cpdfsdk_formfillenvironment.h
index 8590b34cac..7cdf32e15d 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.h
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.h
@@ -44,7 +44,7 @@ FPDF_WIDESTRING AsFPDFWideString(ByteString* bsUTF16LE);
// hierarcy back to the form fill environment itself, so as to flag any
// lingering lifetime issues via the memory tools.
-class CPDFSDK_FormFillEnvironment
+class CPDFSDK_FormFillEnvironment final
: public Observable<CPDFSDK_FormFillEnvironment> {
public:
CPDFSDK_FormFillEnvironment(CPDF_Document* pDoc, FPDF_FORMFILLINFO* pFFinfo);
diff --git a/fpdfsdk/cpdfsdk_helpers.cpp b/fpdfsdk/cpdfsdk_helpers.cpp
index 943e3a3153..a0edb58fc0 100644
--- a/fpdfsdk/cpdfsdk_helpers.cpp
+++ b/fpdfsdk/cpdfsdk_helpers.cpp
@@ -39,7 +39,7 @@ bool RaiseUnSupportError(int nError) {
}
#ifdef PDF_ENABLE_XFA
-class FPDF_FileHandlerContext : public IFX_SeekableStream {
+class FPDF_FileHandlerContext final : public IFX_SeekableStream {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/fpdfsdk/cpdfsdk_interform.h b/fpdfsdk/cpdfsdk_interform.h
index c44688f6dd..bd1a76087e 100644
--- a/fpdfsdk/cpdfsdk_interform.h
+++ b/fpdfsdk/cpdfsdk_interform.h
@@ -29,7 +29,7 @@ class CPDFSDK_XFAWidget;
class CXFA_FFWidget;
#endif // PDF_ENABLE_XFA
-class CPDFSDK_InterForm : public IPDF_FormNotify {
+class CPDFSDK_InterForm final : public IPDF_FormNotify {
public:
explicit CPDFSDK_InterForm(CPDFSDK_FormFillEnvironment* pFormFillEnv);
~CPDFSDK_InterForm() override;
diff --git a/fpdfsdk/cpdfsdk_widget.h b/fpdfsdk/cpdfsdk_widget.h
index f3bdc54944..a1ff9238d8 100644
--- a/fpdfsdk/cpdfsdk_widget.h
+++ b/fpdfsdk/cpdfsdk_widget.h
@@ -35,7 +35,7 @@ class CXFA_FFWidget;
class CXFA_FFWidgetHandler;
#endif // PDF_ENABLE_XFA
-class CPDFSDK_Widget : public CPDFSDK_BAAnnot {
+class CPDFSDK_Widget final : public CPDFSDK_BAAnnot {
public:
#ifdef PDF_ENABLE_XFA
CXFA_FFWidget* GetMixXFAWidget() const;
diff --git a/fpdfsdk/cpdfsdk_widgethandler.h b/fpdfsdk/cpdfsdk_widgethandler.h
index 80323deb72..82ea549c9d 100644
--- a/fpdfsdk/cpdfsdk_widgethandler.h
+++ b/fpdfsdk/cpdfsdk_widgethandler.h
@@ -23,7 +23,7 @@ class CPDFSDK_PageView;
class CXFA_FFWidget;
#endif // PDF_ENABLE_XFA
-class CPDFSDK_WidgetHandler : public IPDFSDK_AnnotHandler {
+class CPDFSDK_WidgetHandler final : public IPDFSDK_AnnotHandler {
public:
explicit CPDFSDK_WidgetHandler(CPDFSDK_FormFillEnvironment* pApp);
~CPDFSDK_WidgetHandler() override;
diff --git a/fpdfsdk/cpdfsdk_xfawidget.h b/fpdfsdk/cpdfsdk_xfawidget.h
index 5db9f8d066..5878051c8d 100644
--- a/fpdfsdk/cpdfsdk_xfawidget.h
+++ b/fpdfsdk/cpdfsdk_xfawidget.h
@@ -16,7 +16,7 @@ class CPDFSDK_InterForm;
class CPDFSDK_PageView;
class CXFA_FFWidget;
-class CPDFSDK_XFAWidget : public CPDFSDK_Annot {
+class CPDFSDK_XFAWidget final : public CPDFSDK_Annot {
public:
CPDFSDK_XFAWidget(CXFA_FFWidget* pAnnot,
CPDFSDK_PageView* pPageView,
diff --git a/fpdfsdk/cpdfsdk_xfawidgethandler.h b/fpdfsdk/cpdfsdk_xfawidgethandler.h
index b49c90577a..442d10ba85 100644
--- a/fpdfsdk/cpdfsdk_xfawidgethandler.h
+++ b/fpdfsdk/cpdfsdk_xfawidgethandler.h
@@ -20,7 +20,7 @@ class CPDFSDK_PageView;
class CXFA_FFWidget;
class CXFA_FFWidgetHandler;
-class CPDFSDK_XFAWidgetHandler : public IPDFSDK_AnnotHandler {
+class CPDFSDK_XFAWidgetHandler final : public IPDFSDK_AnnotHandler {
public:
explicit CPDFSDK_XFAWidgetHandler(CPDFSDK_FormFillEnvironment* pApp);
~CPDFSDK_XFAWidgetHandler() override;
diff --git a/fpdfsdk/formfiller/cba_fontmap.h b/fpdfsdk/formfiller/cba_fontmap.h
index 0ca07eb984..aa4125448d 100644
--- a/fpdfsdk/formfiller/cba_fontmap.h
+++ b/fpdfsdk/formfiller/cba_fontmap.h
@@ -13,7 +13,7 @@
class CPDF_Dictionary;
class CPDFSDK_Annot;
-class CBA_FontMap : public CPWL_FontMap {
+class CBA_FontMap final : public CPWL_FontMap {
public:
CBA_FontMap(CPDFSDK_Annot* pAnnot, CFX_SystemHandler* pSystemHandler);
~CBA_FontMap() override;
diff --git a/fpdfsdk/formfiller/cffl_checkbox.h b/fpdfsdk/formfiller/cffl_checkbox.h
index 8ef3de6bca..b477fe78db 100644
--- a/fpdfsdk/formfiller/cffl_checkbox.h
+++ b/fpdfsdk/formfiller/cffl_checkbox.h
@@ -11,7 +11,7 @@
class CPWL_CheckBox;
-class CFFL_CheckBox : public CFFL_Button {
+class CFFL_CheckBox final : public CFFL_Button {
public:
CFFL_CheckBox(CPDFSDK_FormFillEnvironment* pApp, CPDFSDK_Widget* pWidget);
~CFFL_CheckBox() override;
diff --git a/fpdfsdk/formfiller/cffl_combobox.h b/fpdfsdk/formfiller/cffl_combobox.h
index 7a6390e491..2769b5354c 100644
--- a/fpdfsdk/formfiller/cffl_combobox.h
+++ b/fpdfsdk/formfiller/cffl_combobox.h
@@ -19,8 +19,8 @@ struct FFL_ComboBoxState {
WideString sValue;
};
-class CFFL_ComboBox : public CFFL_TextObject,
- public CPWL_Wnd::FocusHandlerIface {
+class CFFL_ComboBox final : public CFFL_TextObject,
+ public CPWL_Wnd::FocusHandlerIface {
public:
CFFL_ComboBox(CPDFSDK_FormFillEnvironment* pApp, CPDFSDK_Widget* pWidget);
~CFFL_ComboBox() override;
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.h b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
index 1f049d03ef..46248d651b 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.h
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
@@ -21,7 +21,7 @@ class CPDFSDK_FormFillEnvironment;
class CPDFSDK_PageView;
class CPDFSDK_Widget;
-class CFFL_InteractiveFormFiller : public IPWL_Filler_Notify {
+class CFFL_InteractiveFormFiller final : public IPWL_Filler_Notify {
public:
explicit CFFL_InteractiveFormFiller(
CPDFSDK_FormFillEnvironment* pFormFillEnv);
@@ -158,7 +158,7 @@ class CFFL_InteractiveFormFiller : public IPWL_Filler_Notify {
bool m_bNotifying;
};
-class CFFL_PrivateData : public CPWL_Wnd::PrivateData {
+class CFFL_PrivateData final : public CPWL_Wnd::PrivateData {
public:
CPDFSDK_Widget* pWidget;
CPDFSDK_PageView* pPageView;
diff --git a/fpdfsdk/formfiller/cffl_listbox.h b/fpdfsdk/formfiller/cffl_listbox.h
index 9db3c5da1d..eda9561780 100644
--- a/fpdfsdk/formfiller/cffl_listbox.h
+++ b/fpdfsdk/formfiller/cffl_listbox.h
@@ -14,7 +14,7 @@
class CBA_FontMap;
-class CFFL_ListBox : public CFFL_TextObject {
+class CFFL_ListBox final : public CFFL_TextObject {
public:
CFFL_ListBox(CPDFSDK_FormFillEnvironment* pApp, CPDFSDK_Widget* pWidget);
~CFFL_ListBox() override;
diff --git a/fpdfsdk/formfiller/cffl_pushbutton.h b/fpdfsdk/formfiller/cffl_pushbutton.h
index 7ee076764e..e2acfdceeb 100644
--- a/fpdfsdk/formfiller/cffl_pushbutton.h
+++ b/fpdfsdk/formfiller/cffl_pushbutton.h
@@ -9,7 +9,7 @@
#include "fpdfsdk/formfiller/cffl_button.h"
-class CFFL_PushButton : public CFFL_Button {
+class CFFL_PushButton final : public CFFL_Button {
public:
CFFL_PushButton(CPDFSDK_FormFillEnvironment* pApp, CPDFSDK_Widget* pWidget);
~CFFL_PushButton() override;
diff --git a/fpdfsdk/formfiller/cffl_radiobutton.h b/fpdfsdk/formfiller/cffl_radiobutton.h
index 2838254708..3c20be6d76 100644
--- a/fpdfsdk/formfiller/cffl_radiobutton.h
+++ b/fpdfsdk/formfiller/cffl_radiobutton.h
@@ -11,7 +11,7 @@
class CPWL_RadioButton;
-class CFFL_RadioButton : public CFFL_Button {
+class CFFL_RadioButton final : public CFFL_Button {
public:
CFFL_RadioButton(CPDFSDK_FormFillEnvironment* pApp, CPDFSDK_Widget* pWidget);
~CFFL_RadioButton() override;
diff --git a/fpdfsdk/formfiller/cffl_textfield.h b/fpdfsdk/formfiller/cffl_textfield.h
index 4d34d055a5..a1e48b6a29 100644
--- a/fpdfsdk/formfiller/cffl_textfield.h
+++ b/fpdfsdk/formfiller/cffl_textfield.h
@@ -24,8 +24,8 @@ struct FFL_TextFieldState {
WideString sValue;
};
-class CFFL_TextField : public CFFL_TextObject,
- public CPWL_Wnd::FocusHandlerIface {
+class CFFL_TextField final : public CFFL_TextObject,
+ public CPWL_Wnd::FocusHandlerIface {
public:
CFFL_TextField(CPDFSDK_FormFillEnvironment* pApp, CPDFSDK_Widget* pWidget);
~CFFL_TextField() override;
diff --git a/fpdfsdk/fpdf_catalog_unittest.cpp b/fpdfsdk/fpdf_catalog_unittest.cpp
index bd51257e3c..425a1ae6a7 100644
--- a/fpdfsdk/fpdf_catalog_unittest.cpp
+++ b/fpdfsdk/fpdf_catalog_unittest.cpp
@@ -16,7 +16,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
-class CPDF_TestDocument : public CPDF_Document {
+class CPDF_TestDocument final : public CPDF_Document {
public:
CPDF_TestDocument() : CPDF_Document() {}
diff --git a/fpdfsdk/fpdf_dataavail.cpp b/fpdfsdk/fpdf_dataavail.cpp
index 1b5fbeb35d..17d501f592 100644
--- a/fpdfsdk/fpdf_dataavail.cpp
+++ b/fpdfsdk/fpdf_dataavail.cpp
@@ -47,7 +47,7 @@ static_assert(CPDF_DataAvail::FormNotExist == PDF_FORM_NOTEXIST,
namespace {
-class FPDF_FileAvailContext : public CPDF_DataAvail::FileAvail {
+class FPDF_FileAvailContext final : public CPDF_DataAvail::FileAvail {
public:
FPDF_FileAvailContext() : m_pfileAvail(nullptr) {}
~FPDF_FileAvailContext() override {}
@@ -63,7 +63,7 @@ class FPDF_FileAvailContext : public CPDF_DataAvail::FileAvail {
FX_FILEAVAIL* m_pfileAvail;
};
-class FPDF_FileAccessContext : public IFX_SeekableReadStream {
+class FPDF_FileAccessContext final : public IFX_SeekableReadStream {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
@@ -85,7 +85,7 @@ class FPDF_FileAccessContext : public IFX_SeekableReadStream {
FPDF_FILEACCESS* m_pFileAccess;
};
-class FPDF_DownloadHintsContext : public CPDF_DataAvail::DownloadHints {
+class FPDF_DownloadHintsContext final : public CPDF_DataAvail::DownloadHints {
public:
explicit FPDF_DownloadHintsContext(FX_DOWNLOADHINTS* pDownloadHints) {
m_pDownloadHints = pDownloadHints;
diff --git a/fpdfsdk/fpdf_dataavail_embeddertest.cpp b/fpdfsdk/fpdf_dataavail_embeddertest.cpp
index ba7726613e..08bc6c0450 100644
--- a/fpdfsdk/fpdf_dataavail_embeddertest.cpp
+++ b/fpdfsdk/fpdf_dataavail_embeddertest.cpp
@@ -20,7 +20,7 @@
namespace {
-class MockDownloadHints : public FX_DOWNLOADHINTS {
+class MockDownloadHints final : public FX_DOWNLOADHINTS {
public:
static void SAddSegment(FX_DOWNLOADHINTS* pThis, size_t offset, size_t size) {
}
@@ -33,7 +33,7 @@ class MockDownloadHints : public FX_DOWNLOADHINTS {
~MockDownloadHints() {}
};
-class TestAsyncLoader : public FX_DOWNLOADHINTS, FX_FILEAVAIL {
+class TestAsyncLoader final : public FX_DOWNLOADHINTS, FX_FILEAVAIL {
public:
explicit TestAsyncLoader(const std::string& file_name) {
std::string file_path;
diff --git a/fpdfsdk/fpdf_doc_unittest.cpp b/fpdfsdk/fpdf_doc_unittest.cpp
index 8ef16aaf28..db9bcdc97c 100644
--- a/fpdfsdk/fpdf_doc_unittest.cpp
+++ b/fpdfsdk/fpdf_doc_unittest.cpp
@@ -23,7 +23,7 @@
#include "testing/test_support.h"
#include "third_party/base/ptr_util.h"
-class CPDF_TestDocument : public CPDF_Document {
+class CPDF_TestDocument final : public CPDF_Document {
public:
CPDF_TestDocument() : CPDF_Document() {}
diff --git a/fpdfsdk/fpdf_ppo.cpp b/fpdfsdk/fpdf_ppo.cpp
index 3c99304a98..6313e43f29 100644
--- a/fpdfsdk/fpdf_ppo.cpp
+++ b/fpdfsdk/fpdf_ppo.cpp
@@ -445,7 +445,7 @@ uint32_t CPDF_PageOrganizer::GetNewObjId(ObjectNumberMap* pObjNumberMap,
// Copies pages from a source document into a destination document.
// This class is intended to be used once via ExportPage() and then destroyed.
-class CPDF_PageExporter : public CPDF_PageOrganizer {
+class CPDF_PageExporter final : public CPDF_PageOrganizer {
public:
CPDF_PageExporter(CPDF_Document* pDestPDFDoc, CPDF_Document* pSrcPDFDoc);
~CPDF_PageExporter();
@@ -536,7 +536,7 @@ bool CPDF_PageExporter::ExportPage(const std::vector<uint32_t>& pageNums,
// Copies pages from a source document into a destination document. Creates 1
// page in the destination document for every N source pages. This class is
// intended to be used once via ExportNPagesToOne() and then destroyed.
-class CPDF_NPageToOneExporter : public CPDF_PageOrganizer {
+class CPDF_NPageToOneExporter final : public CPDF_PageOrganizer {
public:
CPDF_NPageToOneExporter(CPDF_Document* pDestPDFDoc,
CPDF_Document* pSrcPDFDoc);
diff --git a/fpdfsdk/fpdf_sysfontinfo.cpp b/fpdfsdk/fpdf_sysfontinfo.cpp
index 564912b85c..0b91df87cd 100644
--- a/fpdfsdk/fpdf_sysfontinfo.cpp
+++ b/fpdfsdk/fpdf_sysfontinfo.cpp
@@ -128,7 +128,7 @@ FPDF_EXPORT const FPDF_CharsetFontMap* FPDF_CALLCONV FPDF_GetDefaultTTFMap() {
return reinterpret_cast<const FPDF_CharsetFontMap*>(CFX_Font::defaultTTFMap);
}
-struct FPDF_SYSFONTINFO_DEFAULT : public FPDF_SYSFONTINFO {
+struct FPDF_SYSFONTINFO_DEFAULT final : public FPDF_SYSFONTINFO {
UnownedPtr<SystemFontInfoIface> m_pFontInfo;
};
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 8cea7de21c..807462ee74 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -18,7 +18,7 @@
namespace {
-class MockDownloadHints : public FX_DOWNLOADHINTS {
+class MockDownloadHints final : public FX_DOWNLOADHINTS {
public:
static void SAddSegment(FX_DOWNLOADHINTS* pThis, size_t offset, size_t size) {
}
@@ -629,7 +629,7 @@ TEST_F(FPDFViewEmbeddertest, FPDF_GetPageSizeByIndex) {
UnloadPage(page);
}
-class UnSupRecordDelegate : public EmbedderTest::Delegate {
+class UnSupRecordDelegate final : public EmbedderTest::Delegate {
public:
UnSupRecordDelegate() : type_(-1) {}
~UnSupRecordDelegate() override {}
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.h b/fpdfsdk/fpdfxfa/cpdfxfa_context.h
index 9648e8e299..887f06d431 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_context.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.h
@@ -33,8 +33,8 @@ enum LoadStatus {
FXFA_LOADSTATUS_CLOSED
};
-class CPDFXFA_Context : public CPDF_Document::Extension,
- public IXFA_AppProvider {
+class CPDFXFA_Context final : public CPDF_Document::Extension,
+ public IXFA_AppProvider {
public:
explicit CPDFXFA_Context(CPDF_Document* pPDFDoc);
~CPDFXFA_Context() override;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h
index dfc51e03e2..0613fc3bc9 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h
@@ -14,7 +14,7 @@
class CPDFXFA_Context;
-class CPDFXFA_DocEnvironment : public IXFA_DocEnvironment {
+class CPDFXFA_DocEnvironment final : public IXFA_DocEnvironment {
public:
explicit CPDFXFA_DocEnvironment(CPDFXFA_Context*);
~CPDFXFA_DocEnvironment() override;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_page.h b/fpdfsdk/fpdfxfa/cpdfxfa_page.h
index b660869e68..769bdaa792 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_page.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_page.h
@@ -22,7 +22,7 @@ class CPDF_Dictionary;
class CPDFXFA_Context;
class CXFA_FFPageView;
-class CPDFXFA_Page : public IPDF_Page {
+class CPDFXFA_Page final : public IPDF_Page {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp b/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp
index adba260041..890139498c 100644
--- a/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp
+++ b/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.cpp
@@ -14,7 +14,7 @@
namespace {
-class CFWL_FWLAdapterTimerInfo : public CFWL_TimerInfo {
+class CFWL_FWLAdapterTimerInfo final : public CFWL_TimerInfo {
public:
CFWL_FWLAdapterTimerInfo(IFWL_AdapterTimerMgr* mgr,
int32_t event,
diff --git a/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h b/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h
index 96ccc1ce7e..8bca0bdd28 100644
--- a/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h
+++ b/fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h
@@ -15,7 +15,7 @@
#include "xfa/fwl/cfwl_timerinfo.h"
#include "xfa/fwl/ifwl_adaptertimermgr.h"
-class CXFA_FWLAdapterTimerMgr : public IFWL_AdapterTimerMgr {
+class CXFA_FWLAdapterTimerMgr final : public IFWL_AdapterTimerMgr {
public:
explicit CXFA_FWLAdapterTimerMgr(CPDFSDK_FormFillEnvironment* pFormFillEnv);
~CXFA_FWLAdapterTimerMgr() override;
diff --git a/fpdfsdk/pwl/cpwl_appstream.cpp b/fpdfsdk/pwl/cpwl_appstream.cpp
index 7d7f710f03..4175b8ef2a 100644
--- a/fpdfsdk/pwl/cpwl_appstream.cpp
+++ b/fpdfsdk/pwl/cpwl_appstream.cpp
@@ -92,7 +92,7 @@ class AutoClosedCommand {
ByteString close_;
};
-class AutoClosedQCommand : public AutoClosedCommand {
+class AutoClosedQCommand final : public AutoClosedCommand {
public:
explicit AutoClosedQCommand(std::ostringstream* stream)
: AutoClosedCommand(stream, kStateSaveOperator, kStateRestoreOperator) {}
diff --git a/fpdfsdk/pwl/cpwl_caret.h b/fpdfsdk/pwl/cpwl_caret.h
index d60a96419b..1f7c2b84d4 100644
--- a/fpdfsdk/pwl/cpwl_caret.h
+++ b/fpdfsdk/pwl/cpwl_caret.h
@@ -9,7 +9,7 @@
#include "fpdfsdk/pwl/cpwl_wnd.h"
-class CPWL_Caret : public CPWL_Wnd {
+class CPWL_Caret final : public CPWL_Wnd {
public:
CPWL_Caret();
~CPWL_Caret() override;
diff --git a/fpdfsdk/pwl/cpwl_combo_box.h b/fpdfsdk/pwl/cpwl_combo_box.h
index a4e823c4dc..d3c55c2a64 100644
--- a/fpdfsdk/pwl/cpwl_combo_box.h
+++ b/fpdfsdk/pwl/cpwl_combo_box.h
@@ -14,7 +14,7 @@
#include "fpdfsdk/pwl/cpwl_list_box.h"
#include "fpdfsdk/pwl/cpwl_wnd.h"
-class CPWL_CBListBox : public CPWL_ListBox {
+class CPWL_CBListBox final : public CPWL_ListBox {
public:
CPWL_CBListBox() {}
~CPWL_CBListBox() override {}
@@ -28,7 +28,7 @@ class CPWL_CBListBox : public CPWL_ListBox {
bool OnCharNotify(uint16_t nChar, uint32_t nFlag);
};
-class CPWL_CBButton : public CPWL_Wnd {
+class CPWL_CBButton final : public CPWL_Wnd {
public:
CPWL_CBButton() {}
~CPWL_CBButton() override {}
@@ -40,7 +40,7 @@ class CPWL_CBButton : public CPWL_Wnd {
bool OnLButtonUp(const CFX_PointF& point, uint32_t nFlag) override;
};
-class CPWL_ComboBox : public CPWL_Wnd {
+class CPWL_ComboBox final : public CPWL_Wnd {
public:
CPWL_ComboBox();
~CPWL_ComboBox() override;
diff --git a/fpdfsdk/pwl/cpwl_edit.h b/fpdfsdk/pwl/cpwl_edit.h
index 4a17de49d4..f7429c9d2d 100644
--- a/fpdfsdk/pwl/cpwl_edit.h
+++ b/fpdfsdk/pwl/cpwl_edit.h
@@ -41,7 +41,7 @@ class IPWL_Filler_Notify {
#endif // PDF_ENABLE_XFA
};
-class CPWL_Edit : public CPWL_EditCtrl {
+class CPWL_Edit final : public CPWL_EditCtrl {
public:
CPWL_Edit();
~CPWL_Edit() override;
diff --git a/fpdfsdk/pwl/cpwl_edit_impl.h b/fpdfsdk/pwl/cpwl_edit_impl.h
index 8680885e63..743afae6b6 100644
--- a/fpdfsdk/pwl/cpwl_edit_impl.h
+++ b/fpdfsdk/pwl/cpwl_edit_impl.h
@@ -102,7 +102,7 @@ class IFX_Edit_UndoItem {
virtual void Redo() = 0;
};
-class CFXEU_InsertWord : public IFX_Edit_UndoItem {
+class CFXEU_InsertWord final : public IFX_Edit_UndoItem {
public:
CFXEU_InsertWord(CPWL_EditImpl* pEdit,
const CPVT_WordPlace& wpOldPlace,
@@ -124,7 +124,7 @@ class CFXEU_InsertWord : public IFX_Edit_UndoItem {
int32_t m_nCharset;
};
-class CFXEU_InsertReturn : public IFX_Edit_UndoItem {
+class CFXEU_InsertReturn final : public IFX_Edit_UndoItem {
public:
CFXEU_InsertReturn(CPWL_EditImpl* pEdit,
const CPVT_WordPlace& wpOldPlace,
@@ -142,7 +142,7 @@ class CFXEU_InsertReturn : public IFX_Edit_UndoItem {
CPVT_WordPlace m_wpNew;
};
-class CFXEU_Backspace : public IFX_Edit_UndoItem {
+class CFXEU_Backspace final : public IFX_Edit_UndoItem {
public:
CFXEU_Backspace(CPWL_EditImpl* pEdit,
const CPVT_WordPlace& wpOldPlace,
@@ -164,7 +164,7 @@ class CFXEU_Backspace : public IFX_Edit_UndoItem {
int32_t m_nCharset;
};
-class CFXEU_Delete : public IFX_Edit_UndoItem {
+class CFXEU_Delete final : public IFX_Edit_UndoItem {
public:
CFXEU_Delete(CPWL_EditImpl* pEdit,
const CPVT_WordPlace& wpOldPlace,
@@ -188,7 +188,7 @@ class CFXEU_Delete : public IFX_Edit_UndoItem {
bool m_bSecEnd;
};
-class CFXEU_Clear : public IFX_Edit_UndoItem {
+class CFXEU_Clear final : public IFX_Edit_UndoItem {
public:
CFXEU_Clear(CPWL_EditImpl* pEdit,
const CPVT_WordRange& wrSel,
@@ -206,7 +206,7 @@ class CFXEU_Clear : public IFX_Edit_UndoItem {
WideString m_swText;
};
-class CFXEU_InsertText : public IFX_Edit_UndoItem {
+class CFXEU_InsertText final : public IFX_Edit_UndoItem {
public:
CFXEU_InsertText(CPWL_EditImpl* pEdit,
const CPVT_WordPlace& wpOldPlace,
@@ -415,7 +415,7 @@ class CPWL_EditImpl_Iterator {
CPDF_VariableText::Iterator* m_pVTIterator;
};
-class CPWL_EditImpl_Provider : public CPDF_VariableText::Provider {
+class CPWL_EditImpl_Provider final : public CPDF_VariableText::Provider {
public:
explicit CPWL_EditImpl_Provider(IPVT_FontMap* pFontMap);
~CPWL_EditImpl_Provider() override;
diff --git a/fpdfsdk/pwl/cpwl_icon.h b/fpdfsdk/pwl/cpwl_icon.h
index df88465a5a..2cb84ebcf6 100644
--- a/fpdfsdk/pwl/cpwl_icon.h
+++ b/fpdfsdk/pwl/cpwl_icon.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "fpdfsdk/pwl/cpwl_wnd.h"
-class CPWL_Icon : public CPWL_Wnd {
+class CPWL_Icon final : public CPWL_Wnd {
public:
CPWL_Icon();
~CPWL_Icon() override;
diff --git a/fpdfsdk/pwl/cpwl_scroll_bar.h b/fpdfsdk/pwl/cpwl_scroll_bar.h
index 1437597fbe..0b63bf224d 100644
--- a/fpdfsdk/pwl/cpwl_scroll_bar.h
+++ b/fpdfsdk/pwl/cpwl_scroll_bar.h
@@ -42,7 +42,7 @@ enum PWL_SCROLLBAR_TYPE { SBT_HSCROLL, SBT_VSCROLL };
enum PWL_SBBUTTON_TYPE { PSBT_MIN, PSBT_MAX, PSBT_POS };
-class CPWL_SBButton : public CPWL_Wnd {
+class CPWL_SBButton final : public CPWL_Wnd {
public:
CPWL_SBButton(PWL_SCROLLBAR_TYPE eScrollBarType,
PWL_SBBUTTON_TYPE eButtonType);
@@ -115,7 +115,7 @@ struct PWL_SCROLL_PRIVATEDATA {
float fSmallStep;
};
-class CPWL_ScrollBar : public CPWL_Wnd {
+class CPWL_ScrollBar final : public CPWL_Wnd {
public:
explicit CPWL_ScrollBar(PWL_SCROLLBAR_TYPE sbType);
~CPWL_ScrollBar() override;
diff --git a/fpdfsdk/pwl/cpwl_special_button.h b/fpdfsdk/pwl/cpwl_special_button.h
index 076b5298ed..b980f84625 100644
--- a/fpdfsdk/pwl/cpwl_special_button.h
+++ b/fpdfsdk/pwl/cpwl_special_button.h
@@ -9,7 +9,7 @@
#include "fpdfsdk/pwl/cpwl_button.h"
-class CPWL_PushButton : public CPWL_Button {
+class CPWL_PushButton final : public CPWL_Button {
public:
CPWL_PushButton();
~CPWL_PushButton() override;
@@ -19,7 +19,7 @@ class CPWL_PushButton : public CPWL_Button {
CFX_FloatRect GetFocusRect() const override;
};
-class CPWL_CheckBox : public CPWL_Button {
+class CPWL_CheckBox final : public CPWL_Button {
public:
CPWL_CheckBox();
~CPWL_CheckBox() override;
@@ -36,7 +36,7 @@ class CPWL_CheckBox : public CPWL_Button {
bool m_bChecked;
};
-class CPWL_RadioButton : public CPWL_Button {
+class CPWL_RadioButton final : public CPWL_Button {
public:
CPWL_RadioButton();
~CPWL_RadioButton() override;
diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp
index 6b840f2bb2..1cd9461af4 100644
--- a/fpdfsdk/pwl/cpwl_wnd.cpp
+++ b/fpdfsdk/pwl/cpwl_wnd.cpp
@@ -39,7 +39,7 @@ CPWL_Wnd::CreateParams::CreateParams(const CreateParams& other) = default;
CPWL_Wnd::CreateParams::~CreateParams() = default;
-class CPWL_MsgControl : public Observable<CPWL_MsgControl> {
+class CPWL_MsgControl final : public Observable<CPWL_MsgControl> {
public:
explicit CPWL_MsgControl(CPWL_Wnd* pWnd) : m_pCreatedWnd(pWnd) {}
~CPWL_MsgControl() {}
diff --git a/fxbarcode/cbc_codabar.h b/fxbarcode/cbc_codabar.h
index 827fc28d0f..036c65f829 100644
--- a/fxbarcode/cbc_codabar.h
+++ b/fxbarcode/cbc_codabar.h
@@ -14,7 +14,7 @@
class CBC_OnedCodaBarWriter;
-class CBC_Codabar : public CBC_OneCode {
+class CBC_Codabar final : public CBC_OneCode {
public:
CBC_Codabar();
~CBC_Codabar() override;
diff --git a/fxbarcode/cbc_code128.h b/fxbarcode/cbc_code128.h
index b057aff2af..61bed6fe0f 100644
--- a/fxbarcode/cbc_code128.h
+++ b/fxbarcode/cbc_code128.h
@@ -14,7 +14,7 @@
class CBC_OnedCode128Writer;
-class CBC_Code128 : public CBC_OneCode {
+class CBC_Code128 final : public CBC_OneCode {
public:
explicit CBC_Code128(BC_TYPE type);
~CBC_Code128() override;
diff --git a/fxbarcode/cbc_code39.h b/fxbarcode/cbc_code39.h
index 937673c740..83c8daa32f 100644
--- a/fxbarcode/cbc_code39.h
+++ b/fxbarcode/cbc_code39.h
@@ -15,7 +15,7 @@
class CBC_OnedCode39Writer;
-class CBC_Code39 : public CBC_OneCode {
+class CBC_Code39 final : public CBC_OneCode {
public:
CBC_Code39();
~CBC_Code39() override;
diff --git a/fxbarcode/cbc_datamatrix.h b/fxbarcode/cbc_datamatrix.h
index 3fe1c09326..b02da555c0 100644
--- a/fxbarcode/cbc_datamatrix.h
+++ b/fxbarcode/cbc_datamatrix.h
@@ -14,7 +14,7 @@
class CBC_DataMatrixWriter;
-class CBC_DataMatrix : public CBC_CodeBase {
+class CBC_DataMatrix final : public CBC_CodeBase {
public:
CBC_DataMatrix();
~CBC_DataMatrix() override;
diff --git a/fxbarcode/cbc_ean13.h b/fxbarcode/cbc_ean13.h
index 609f8b0dc2..da0fd85b25 100644
--- a/fxbarcode/cbc_ean13.h
+++ b/fxbarcode/cbc_ean13.h
@@ -15,7 +15,7 @@
class CBC_OnedEAN13Writer;
-class CBC_EAN13 : public CBC_OneCode {
+class CBC_EAN13 final : public CBC_OneCode {
public:
CBC_EAN13();
~CBC_EAN13() override;
diff --git a/fxbarcode/cbc_ean8.h b/fxbarcode/cbc_ean8.h
index 4127650c44..53eed478b8 100644
--- a/fxbarcode/cbc_ean8.h
+++ b/fxbarcode/cbc_ean8.h
@@ -14,7 +14,7 @@
class CBC_OnedEAN8Writer;
-class CBC_EAN8 : public CBC_OneCode {
+class CBC_EAN8 final : public CBC_OneCode {
public:
CBC_EAN8();
~CBC_EAN8() override;
diff --git a/fxbarcode/cbc_pdf417i.h b/fxbarcode/cbc_pdf417i.h
index 3cb73e3f0f..ec686006cb 100644
--- a/fxbarcode/cbc_pdf417i.h
+++ b/fxbarcode/cbc_pdf417i.h
@@ -14,7 +14,7 @@
class CBC_PDF417Writer;
-class CBC_PDF417I : public CBC_CodeBase {
+class CBC_PDF417I final : public CBC_CodeBase {
public:
CBC_PDF417I();
~CBC_PDF417I() override;
diff --git a/fxbarcode/cbc_qrcode.h b/fxbarcode/cbc_qrcode.h
index 509de8a8d8..59d57ac648 100644
--- a/fxbarcode/cbc_qrcode.h
+++ b/fxbarcode/cbc_qrcode.h
@@ -14,7 +14,7 @@
class CBC_QRCodeWriter;
-class CBC_QRCode : public CBC_CodeBase {
+class CBC_QRCode final : public CBC_CodeBase {
public:
CBC_QRCode();
~CBC_QRCode() override;
diff --git a/fxbarcode/cbc_upca.h b/fxbarcode/cbc_upca.h
index 29c4d7d9e6..de71581b96 100644
--- a/fxbarcode/cbc_upca.h
+++ b/fxbarcode/cbc_upca.h
@@ -14,7 +14,7 @@
class CBC_OnedUPCAWriter;
-class CBC_UPCA : public CBC_OneCode {
+class CBC_UPCA final : public CBC_OneCode {
public:
CBC_UPCA();
~CBC_UPCA() override;
diff --git a/fxbarcode/datamatrix/BC_ASCIIEncoder.h b/fxbarcode/datamatrix/BC_ASCIIEncoder.h
index 35d4c5f82f..c9d856846b 100644
--- a/fxbarcode/datamatrix/BC_ASCIIEncoder.h
+++ b/fxbarcode/datamatrix/BC_ASCIIEncoder.h
@@ -11,7 +11,7 @@
class CBC_EncoderContext;
-class CBC_ASCIIEncoder : public CBC_Encoder {
+class CBC_ASCIIEncoder final : public CBC_Encoder {
public:
CBC_ASCIIEncoder();
~CBC_ASCIIEncoder() override;
diff --git a/fxbarcode/datamatrix/BC_Base256Encoder.h b/fxbarcode/datamatrix/BC_Base256Encoder.h
index 65abf59662..e8756f953c 100644
--- a/fxbarcode/datamatrix/BC_Base256Encoder.h
+++ b/fxbarcode/datamatrix/BC_Base256Encoder.h
@@ -9,7 +9,7 @@
#include "fxbarcode/datamatrix/BC_Encoder.h"
-class CBC_Base256Encoder : public CBC_Encoder {
+class CBC_Base256Encoder final : public CBC_Encoder {
public:
CBC_Base256Encoder();
~CBC_Base256Encoder() override;
diff --git a/fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.h b/fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.h
index 0a1c529bb2..45c30b659c 100644
--- a/fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.h
+++ b/fxbarcode/datamatrix/BC_DataMatrixSymbolInfo144.h
@@ -9,7 +9,7 @@
#include "fxbarcode/datamatrix/BC_SymbolInfo.h"
-class CBC_DataMatrixSymbolInfo144 : public CBC_SymbolInfo {
+class CBC_DataMatrixSymbolInfo144 final : public CBC_SymbolInfo {
public:
CBC_DataMatrixSymbolInfo144();
~CBC_DataMatrixSymbolInfo144() override;
diff --git a/fxbarcode/datamatrix/BC_DataMatrixWriter.h b/fxbarcode/datamatrix/BC_DataMatrixWriter.h
index ba2c54762e..6fa41c0c66 100644
--- a/fxbarcode/datamatrix/BC_DataMatrixWriter.h
+++ b/fxbarcode/datamatrix/BC_DataMatrixWriter.h
@@ -13,7 +13,7 @@ class CBC_CommonByteMatrix;
class CBC_DefaultPlacement;
class CBC_SymbolInfo;
-class CBC_DataMatrixWriter : public CBC_TwoDimWriter {
+class CBC_DataMatrixWriter final : public CBC_TwoDimWriter {
public:
CBC_DataMatrixWriter();
~CBC_DataMatrixWriter() override;
diff --git a/fxbarcode/datamatrix/BC_EdifactEncoder.h b/fxbarcode/datamatrix/BC_EdifactEncoder.h
index eb59222d4f..8c72303fe8 100644
--- a/fxbarcode/datamatrix/BC_EdifactEncoder.h
+++ b/fxbarcode/datamatrix/BC_EdifactEncoder.h
@@ -9,7 +9,7 @@
#include "fxbarcode/datamatrix/BC_Encoder.h"
-class CBC_EdifactEncoder : public CBC_Encoder {
+class CBC_EdifactEncoder final : public CBC_Encoder {
public:
CBC_EdifactEncoder();
~CBC_EdifactEncoder() override;
diff --git a/fxbarcode/datamatrix/BC_TextEncoder.h b/fxbarcode/datamatrix/BC_TextEncoder.h
index 9d4cdafe10..351772a28e 100644
--- a/fxbarcode/datamatrix/BC_TextEncoder.h
+++ b/fxbarcode/datamatrix/BC_TextEncoder.h
@@ -9,7 +9,7 @@
#include "fxbarcode/datamatrix/BC_C40Encoder.h"
-class CBC_TextEncoder : public CBC_C40Encoder {
+class CBC_TextEncoder final : public CBC_C40Encoder {
public:
CBC_TextEncoder();
~CBC_TextEncoder() override;
diff --git a/fxbarcode/datamatrix/BC_X12Encoder.h b/fxbarcode/datamatrix/BC_X12Encoder.h
index 324b78bdcc..7ef84d50bd 100644
--- a/fxbarcode/datamatrix/BC_X12Encoder.h
+++ b/fxbarcode/datamatrix/BC_X12Encoder.h
@@ -9,7 +9,7 @@
#include "fxbarcode/datamatrix/BC_C40Encoder.h"
-class CBC_X12Encoder : public CBC_C40Encoder {
+class CBC_X12Encoder final : public CBC_C40Encoder {
public:
CBC_X12Encoder();
~CBC_X12Encoder() override;
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter.h b/fxbarcode/oned/BC_OnedCodaBarWriter.h
index ab354ef0a7..d3f5224e3a 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter.h
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter.h
@@ -12,7 +12,7 @@
#include "fxbarcode/BC_Library.h"
#include "fxbarcode/oned/BC_OneDimWriter.h"
-class CBC_OnedCodaBarWriter : public CBC_OneDimWriter {
+class CBC_OnedCodaBarWriter final : public CBC_OneDimWriter {
public:
CBC_OnedCodaBarWriter();
~CBC_OnedCodaBarWriter() override;
diff --git a/fxbarcode/oned/BC_OnedCode128Writer.h b/fxbarcode/oned/BC_OnedCode128Writer.h
index 3edb65a72a..f91874ce14 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer.h
+++ b/fxbarcode/oned/BC_OnedCode128Writer.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/fx_system.h"
#include "fxbarcode/oned/BC_OneDimWriter.h"
-class CBC_OnedCode128Writer : public CBC_OneDimWriter {
+class CBC_OnedCode128Writer final : public CBC_OneDimWriter {
public:
explicit CBC_OnedCode128Writer(BC_TYPE type);
~CBC_OnedCode128Writer() override;
diff --git a/fxbarcode/oned/BC_OnedCode39Writer.h b/fxbarcode/oned/BC_OnedCode39Writer.h
index 90611c005d..5c4a4d5dc8 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer.h
+++ b/fxbarcode/oned/BC_OnedCode39Writer.h
@@ -10,7 +10,7 @@
#include "fxbarcode/BC_Library.h"
#include "fxbarcode/oned/BC_OneDimWriter.h"
-class CBC_OnedCode39Writer : public CBC_OneDimWriter {
+class CBC_OnedCode39Writer final : public CBC_OneDimWriter {
public:
CBC_OnedCode39Writer();
~CBC_OnedCode39Writer() override;
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer.h b/fxbarcode/oned/BC_OnedEAN13Writer.h
index c874610a64..3c7ff2eba3 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer.h
+++ b/fxbarcode/oned/BC_OnedEAN13Writer.h
@@ -14,7 +14,7 @@
class CFX_DIBitmap;
class CFX_RenderDevice;
-class CBC_OnedEAN13Writer : public CBC_OneDimWriter {
+class CBC_OnedEAN13Writer final : public CBC_OneDimWriter {
public:
CBC_OnedEAN13Writer();
~CBC_OnedEAN13Writer() override;
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer.h b/fxbarcode/oned/BC_OnedEAN8Writer.h
index 77a3602f67..dfef89e1ee 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer.h
+++ b/fxbarcode/oned/BC_OnedEAN8Writer.h
@@ -15,7 +15,7 @@
class CFX_DIBitmap;
class CFX_RenderDevice;
-class CBC_OnedEAN8Writer : public CBC_OneDimWriter {
+class CBC_OnedEAN8Writer final : public CBC_OneDimWriter {
public:
CBC_OnedEAN8Writer();
~CBC_OnedEAN8Writer() override;
diff --git a/fxbarcode/oned/BC_OnedUPCAWriter.h b/fxbarcode/oned/BC_OnedUPCAWriter.h
index a854ef4665..1a9f091f60 100644
--- a/fxbarcode/oned/BC_OnedUPCAWriter.h
+++ b/fxbarcode/oned/BC_OnedUPCAWriter.h
@@ -18,7 +18,7 @@ class CFX_DIBitmap;
class CFX_Matrix;
class CFX_RenderDevice;
-class CBC_OnedUPCAWriter : public CBC_OneDimWriter {
+class CBC_OnedUPCAWriter final : public CBC_OneDimWriter {
public:
CBC_OnedUPCAWriter();
~CBC_OnedUPCAWriter() override;
diff --git a/fxbarcode/pdf417/BC_PDF417Writer.h b/fxbarcode/pdf417/BC_PDF417Writer.h
index 05e85c77a9..1af9d74cef 100644
--- a/fxbarcode/pdf417/BC_PDF417Writer.h
+++ b/fxbarcode/pdf417/BC_PDF417Writer.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/fx_system.h"
#include "fxbarcode/BC_TwoDimWriter.h"
-class CBC_PDF417Writer : public CBC_TwoDimWriter {
+class CBC_PDF417Writer final : public CBC_TwoDimWriter {
public:
CBC_PDF417Writer();
~CBC_PDF417Writer() override;
diff --git a/fxbarcode/qrcode/BC_QRCodeWriter.h b/fxbarcode/qrcode/BC_QRCodeWriter.h
index 3b3efc90ca..192b465bbc 100644
--- a/fxbarcode/qrcode/BC_QRCodeWriter.h
+++ b/fxbarcode/qrcode/BC_QRCodeWriter.h
@@ -10,7 +10,7 @@
#include "fxbarcode/BC_TwoDimWriter.h"
class CBC_TwoDimWriter;
-class CBC_QRCodeWriter : public CBC_TwoDimWriter {
+class CBC_QRCodeWriter final : public CBC_TwoDimWriter {
public:
CBC_QRCodeWriter();
~CBC_QRCodeWriter() override;
diff --git a/fxjs/cfx_v8.h b/fxjs/cfx_v8.h
index 04468d5281..f7bed86329 100644
--- a/fxjs/cfx_v8.h
+++ b/fxjs/cfx_v8.h
@@ -66,7 +66,7 @@ class CFX_V8 {
UnownedPtr<v8::Isolate> m_pIsolate;
};
-class CFX_V8ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
+class CFX_V8ArrayBufferAllocator final : public v8::ArrayBuffer::Allocator {
static const size_t kMaxAllowedBytes = 0x10000000;
void* Allocate(size_t length) override;
void* AllocateUninitialized(size_t length) override;
diff --git a/fxjs/cfxjs_engine.cpp b/fxjs/cfxjs_engine.cpp
index 2a95e4c58d..a4a85df0a2 100644
--- a/fxjs/cfxjs_engine.cpp
+++ b/fxjs/cfxjs_engine.cpp
@@ -24,7 +24,7 @@ static v8::Global<v8::ObjectTemplate>* g_DefaultGlobalObjectTemplate = nullptr;
static wchar_t kPerObjectDataTag[] = L"CFXJS_PerObjectData";
// Global weak map to save dynamic objects.
-class V8TemplateMapTraits
+class V8TemplateMapTraits final
: public v8::StdMapTraits<CFXJS_PerObjectData*, v8::Object> {
public:
using WeakCallbackDataType = CFXJS_PerObjectData;
diff --git a/fxjs/cfxjse_engine.h b/fxjs/cfxjse_engine.h
index 01bce537bd..632010d079 100644
--- a/fxjs/cfxjse_engine.h
+++ b/fxjs/cfxjse_engine.h
@@ -26,7 +26,7 @@ class CFXJSE_ResolveProcessor;
class CJS_Runtime;
class CXFA_List;
-class CFXJSE_Engine : public CFX_V8 {
+class CFXJSE_Engine final : public CFX_V8 {
public:
static CXFA_Object* ToObject(const v8::FunctionCallbackInfo<v8::Value>& info);
static CXFA_Object* ToObject(CFXJSE_Value* pValue);
diff --git a/fxjs/cfxjse_formcalc_context.h b/fxjs/cfxjse_formcalc_context.h
index ef1cd3495f..a03c66f5ba 100644
--- a/fxjs/cfxjse_formcalc_context.h
+++ b/fxjs/cfxjse_formcalc_context.h
@@ -18,7 +18,7 @@
class CFX_WideTextBuf;
class CXFA_Document;
-class CFXJSE_FormCalcContext : public CFXJSE_HostObject {
+class CFXJSE_FormCalcContext final : public CFXJSE_HostObject {
public:
CFXJSE_FormCalcContext(v8::Isolate* pScriptIsolate,
CFXJSE_Context* pScriptContext,
diff --git a/fxjs/cfxjse_isolatetracker.h b/fxjs/cfxjse_isolatetracker.h
index 103b2757f6..4e95498270 100644
--- a/fxjs/cfxjse_isolatetracker.h
+++ b/fxjs/cfxjse_isolatetracker.h
@@ -26,7 +26,7 @@ class CFXJSE_ScopeUtil_IsolateHandle {
v8::HandleScope m_hscope;
};
-class CFXJSE_ScopeUtil_IsolateHandleRootContext
+class CFXJSE_ScopeUtil_IsolateHandleRootContext final
: public CFXJSE_ScopeUtil_IsolateHandle {
public:
explicit CFXJSE_ScopeUtil_IsolateHandleRootContext(v8::Isolate* pIsolate);
diff --git a/fxjs/cjs_annot.h b/fxjs/cjs_annot.h
index 79b2663162..ea2168ea31 100644
--- a/fxjs/cjs_annot.h
+++ b/fxjs/cjs_annot.h
@@ -10,7 +10,7 @@
#include "fpdfsdk/cpdfsdk_baannot.h"
#include "fxjs/js_define.h"
-class CJS_Annot : public CJS_Object {
+class CJS_Annot final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_app.h b/fxjs/cjs_app.h
index 5690f479db..5f211d710c 100644
--- a/fxjs/cjs_app.h
+++ b/fxjs/cjs_app.h
@@ -16,7 +16,7 @@
class CJS_Runtime;
class GlobalTimer;
-class CJS_App : public CJS_Object {
+class CJS_App final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_border.h b/fxjs/cjs_border.h
index 0d10a1f735..8122934593 100644
--- a/fxjs/cjs_border.h
+++ b/fxjs/cjs_border.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Border : public CJS_Object {
+class CJS_Border final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_color.h b/fxjs/cjs_color.h
index aff19d7b73..b1bd211395 100644
--- a/fxjs/cjs_color.h
+++ b/fxjs/cjs_color.h
@@ -12,7 +12,7 @@
#include "fpdfsdk/pwl/cpwl_wnd.h"
#include "fxjs/js_define.h"
-class CJS_Color : public CJS_Object {
+class CJS_Color final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_console.h b/fxjs/cjs_console.h
index 9ab2555664..59276be27b 100644
--- a/fxjs/cjs_console.h
+++ b/fxjs/cjs_console.h
@@ -11,7 +11,7 @@
#include "fxjs/js_define.h"
-class CJS_Console : public CJS_Object {
+class CJS_Console final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_display.h b/fxjs/cjs_display.h
index 2336952732..35eebbac86 100644
--- a/fxjs/cjs_display.h
+++ b/fxjs/cjs_display.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Display : public CJS_Object {
+class CJS_Display final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_document.h b/fxjs/cjs_document.h
index 69a0b656ca..0f25703f34 100644
--- a/fxjs/cjs_document.h
+++ b/fxjs/cjs_document.h
@@ -17,7 +17,7 @@
class CPDF_TextObject;
struct CJS_DelayData;
-class CJS_Document : public CJS_Object, public Observable<CJS_Document> {
+class CJS_Document final : public CJS_Object, public Observable<CJS_Document> {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_event.h b/fxjs/cjs_event.h
index 67bd3f52fa..a6308ec16f 100644
--- a/fxjs/cjs_event.h
+++ b/fxjs/cjs_event.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Event : public CJS_Object {
+class CJS_Event final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_event_context.h b/fxjs/cjs_event_context.h
index 29bbd5a853..a9933e67bb 100644
--- a/fxjs/cjs_event_context.h
+++ b/fxjs/cjs_event_context.h
@@ -18,7 +18,7 @@ class CJS_EventHandler;
class CJS_Runtime;
class CPDFSDK_FormFillEnvironment;
-class CJS_EventContext : public IJS_EventContext {
+class CJS_EventContext final : public IJS_EventContext {
public:
explicit CJS_EventContext(CJS_Runtime* pRuntime);
~CJS_EventContext() override;
diff --git a/fxjs/cjs_field.h b/fxjs/cjs_field.h
index 69d6c8eb07..4f2171017d 100644
--- a/fxjs/cjs_field.h
+++ b/fxjs/cjs_field.h
@@ -27,7 +27,7 @@ enum FIELD_PROP {
FP_VALUE
};
-class CJS_Field : public CJS_Object {
+class CJS_Field final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_font.h b/fxjs/cjs_font.h
index be677d4045..56b3db0cdc 100644
--- a/fxjs/cjs_font.h
+++ b/fxjs/cjs_font.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Font : public CJS_Object {
+class CJS_Font final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_global.h b/fxjs/cjs_global.h
index 491897adb3..6ecd6c0130 100644
--- a/fxjs/cjs_global.h
+++ b/fxjs/cjs_global.h
@@ -16,7 +16,7 @@
class CJS_GlobalData;
-class CJS_Global : public CJS_Object {
+class CJS_Global final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_globalarrays.h b/fxjs/cjs_globalarrays.h
index 8e972732db..cfd90af52c 100644
--- a/fxjs/cjs_globalarrays.h
+++ b/fxjs/cjs_globalarrays.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_GlobalArrays : public CJS_Object {
+class CJS_GlobalArrays final : public CJS_Object {
public:
static void DefineJSObjects(CJS_Runtime* pRuntmie);
};
diff --git a/fxjs/cjs_globalconsts.h b/fxjs/cjs_globalconsts.h
index 1bef384768..1846c41b50 100644
--- a/fxjs/cjs_globalconsts.h
+++ b/fxjs/cjs_globalconsts.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_GlobalConsts : public CJS_Object {
+class CJS_GlobalConsts final : public CJS_Object {
public:
static void DefineJSObjects(CJS_Runtime* pRuntime);
};
diff --git a/fxjs/cjs_highlight.h b/fxjs/cjs_highlight.h
index a5fc21df58..acf03e8273 100644
--- a/fxjs/cjs_highlight.h
+++ b/fxjs/cjs_highlight.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Highlight : public CJS_Object {
+class CJS_Highlight final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_icon.h b/fxjs/cjs_icon.h
index 6df671b874..a92509d55a 100644
--- a/fxjs/cjs_icon.h
+++ b/fxjs/cjs_icon.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Icon : public CJS_Object {
+class CJS_Icon final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_position.h b/fxjs/cjs_position.h
index 3e62bc92bf..3db83fffc0 100644
--- a/fxjs/cjs_position.h
+++ b/fxjs/cjs_position.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Position : public CJS_Object {
+class CJS_Position final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_printparamsobj.h b/fxjs/cjs_printparamsobj.h
index 572d7d8bcd..69071e6e29 100644
--- a/fxjs/cjs_printparamsobj.h
+++ b/fxjs/cjs_printparamsobj.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_PrintParamsObj : public CJS_Object {
+class CJS_PrintParamsObj final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_publicmethods.h b/fxjs/cjs_publicmethods.h
index 8ec35626af..f83375ca54 100644
--- a/fxjs/cjs_publicmethods.h
+++ b/fxjs/cjs_publicmethods.h
@@ -12,7 +12,7 @@
#include "fxjs/js_define.h"
-class CJS_PublicMethods : public CJS_Object {
+class CJS_PublicMethods final : public CJS_Object {
public:
CJS_PublicMethods(v8::Local<v8::Object> pObject, CJS_Runtime* pRuntime);
~CJS_PublicMethods() override;
diff --git a/fxjs/cjs_report.h b/fxjs/cjs_report.h
index a969b41f55..6606d1431d 100644
--- a/fxjs/cjs_report.h
+++ b/fxjs/cjs_report.h
@@ -11,7 +11,7 @@
#include "fxjs/js_define.h"
-class CJS_Report : public CJS_Object {
+class CJS_Report final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine, FXJSOBJTYPE eObjType);
diff --git a/fxjs/cjs_runtime.h b/fxjs/cjs_runtime.h
index 73b722db43..f7b2679523 100644
--- a/fxjs/cjs_runtime.h
+++ b/fxjs/cjs_runtime.h
@@ -21,9 +21,9 @@
class CJS_EventContext;
-class CJS_Runtime : public IJS_Runtime,
- public CFXJS_Engine,
- public Observable<CJS_Runtime> {
+class CJS_Runtime final : public IJS_Runtime,
+ public CFXJS_Engine,
+ public Observable<CJS_Runtime> {
public:
using FieldEvent = std::pair<WideString, JS_EVENT_T>;
diff --git a/fxjs/cjs_scalehow.h b/fxjs/cjs_scalehow.h
index a0d16b34b5..a5e4435388 100644
--- a/fxjs/cjs_scalehow.h
+++ b/fxjs/cjs_scalehow.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_ScaleHow : public CJS_Object {
+class CJS_ScaleHow final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_scalewhen.h b/fxjs/cjs_scalewhen.h
index f30a3bdff2..c0117ee8be 100644
--- a/fxjs/cjs_scalewhen.h
+++ b/fxjs/cjs_scalewhen.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_ScaleWhen : public CJS_Object {
+class CJS_ScaleWhen final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_style.h b/fxjs/cjs_style.h
index dade59f6f1..8ddd6a3a0a 100644
--- a/fxjs/cjs_style.h
+++ b/fxjs/cjs_style.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Style : public CJS_Object {
+class CJS_Style final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_timerobj.h b/fxjs/cjs_timerobj.h
index d9dc88139d..589284943b 100644
--- a/fxjs/cjs_timerobj.h
+++ b/fxjs/cjs_timerobj.h
@@ -11,7 +11,7 @@
class GlobalTimer;
-class CJS_TimerObj : public CJS_Object {
+class CJS_TimerObj final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_util.h b/fxjs/cjs_util.h
index f948afb691..934a0f8f22 100644
--- a/fxjs/cjs_util.h
+++ b/fxjs/cjs_util.h
@@ -17,7 +17,7 @@
#define UTIL_DOUBLE 1
#define UTIL_STRING 2
-class CJS_Util : public CJS_Object {
+class CJS_Util final : public CJS_Object {
public:
static int GetObjDefnID();
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/cjs_zoomtype.h b/fxjs/cjs_zoomtype.h
index 5dda997bdf..892f72e3bc 100644
--- a/fxjs/cjs_zoomtype.h
+++ b/fxjs/cjs_zoomtype.h
@@ -9,7 +9,7 @@
#include "fxjs/js_define.h"
-class CJS_Zoomtype : public CJS_Object {
+class CJS_Zoomtype final : public CJS_Object {
public:
static void DefineJSObjects(CFXJS_Engine* pEngine);
diff --git a/fxjs/xfa/cjx_arc.h b/fxjs/xfa/cjx_arc.h
index 2b62884479..031b62035d 100644
--- a/fxjs/xfa/cjx_arc.h
+++ b/fxjs/xfa/cjx_arc.h
@@ -12,7 +12,7 @@
class CXFA_Arc;
-class CJX_Arc : public CJX_Node {
+class CJX_Arc final : public CJX_Node {
public:
explicit CJX_Arc(CXFA_Arc* node);
~CJX_Arc() override;
diff --git a/fxjs/xfa/cjx_area.h b/fxjs/xfa/cjx_area.h
index 2814231091..5958c8adb1 100644
--- a/fxjs/xfa/cjx_area.h
+++ b/fxjs/xfa/cjx_area.h
@@ -12,7 +12,7 @@
class CXFA_Area;
-class CJX_Area : public CJX_Container {
+class CJX_Area final : public CJX_Container {
public:
explicit CJX_Area(CXFA_Area* node);
~CJX_Area() override;
diff --git a/fxjs/xfa/cjx_assist.h b/fxjs/xfa/cjx_assist.h
index c150a51843..46aaadefc7 100644
--- a/fxjs/xfa/cjx_assist.h
+++ b/fxjs/xfa/cjx_assist.h
@@ -12,7 +12,7 @@
class CXFA_Assist;
-class CJX_Assist : public CJX_Node {
+class CJX_Assist final : public CJX_Node {
public:
explicit CJX_Assist(CXFA_Assist* node);
~CJX_Assist() override;
diff --git a/fxjs/xfa/cjx_barcode.h b/fxjs/xfa/cjx_barcode.h
index 3901bd6b63..551df42387 100644
--- a/fxjs/xfa/cjx_barcode.h
+++ b/fxjs/xfa/cjx_barcode.h
@@ -12,7 +12,7 @@
class CXFA_Barcode;
-class CJX_Barcode : public CJX_Node {
+class CJX_Barcode final : public CJX_Node {
public:
explicit CJX_Barcode(CXFA_Barcode* arc);
~CJX_Barcode() override;
diff --git a/fxjs/xfa/cjx_bind.h b/fxjs/xfa/cjx_bind.h
index ab221439d1..3ca9da7d10 100644
--- a/fxjs/xfa/cjx_bind.h
+++ b/fxjs/xfa/cjx_bind.h
@@ -12,7 +12,7 @@
class CXFA_Bind;
-class CJX_Bind : public CJX_Node {
+class CJX_Bind final : public CJX_Node {
public:
explicit CJX_Bind(CXFA_Bind* node);
~CJX_Bind() override;
diff --git a/fxjs/xfa/cjx_binditems.h b/fxjs/xfa/cjx_binditems.h
index 1b27d445b5..1bbbb2baf2 100644
--- a/fxjs/xfa/cjx_binditems.h
+++ b/fxjs/xfa/cjx_binditems.h
@@ -12,7 +12,7 @@
class CXFA_BindItems;
-class CJX_BindItems : public CJX_Node {
+class CJX_BindItems final : public CJX_Node {
public:
explicit CJX_BindItems(CXFA_BindItems* node);
~CJX_BindItems() override;
diff --git a/fxjs/xfa/cjx_bookend.h b/fxjs/xfa/cjx_bookend.h
index fa3f1ca363..9015205cc3 100644
--- a/fxjs/xfa/cjx_bookend.h
+++ b/fxjs/xfa/cjx_bookend.h
@@ -12,7 +12,7 @@
class CXFA_Bookend;
-class CJX_Bookend : public CJX_Node {
+class CJX_Bookend final : public CJX_Node {
public:
explicit CJX_Bookend(CXFA_Bookend* node);
~CJX_Bookend() override;
diff --git a/fxjs/xfa/cjx_boolean.h b/fxjs/xfa/cjx_boolean.h
index 4242c55e26..380351d61e 100644
--- a/fxjs/xfa/cjx_boolean.h
+++ b/fxjs/xfa/cjx_boolean.h
@@ -12,7 +12,7 @@
class CXFA_Boolean;
-class CJX_Boolean : public CJX_Content {
+class CJX_Boolean final : public CJX_Content {
public:
explicit CJX_Boolean(CXFA_Boolean* node);
~CJX_Boolean() override;
diff --git a/fxjs/xfa/cjx_border.h b/fxjs/xfa/cjx_border.h
index abeb5776d5..c89b5469f3 100644
--- a/fxjs/xfa/cjx_border.h
+++ b/fxjs/xfa/cjx_border.h
@@ -12,7 +12,7 @@
class CXFA_Border;
-class CJX_Border : public CJX_Node {
+class CJX_Border final : public CJX_Node {
public:
explicit CJX_Border(CXFA_Border* node);
~CJX_Border() override;
diff --git a/fxjs/xfa/cjx_break.h b/fxjs/xfa/cjx_break.h
index c9090d905b..7391217647 100644
--- a/fxjs/xfa/cjx_break.h
+++ b/fxjs/xfa/cjx_break.h
@@ -12,7 +12,7 @@
class CXFA_Break;
-class CJX_Break : public CJX_Node {
+class CJX_Break final : public CJX_Node {
public:
explicit CJX_Break(CXFA_Break* node);
~CJX_Break() override;
diff --git a/fxjs/xfa/cjx_breakafter.h b/fxjs/xfa/cjx_breakafter.h
index 7028c51719..cd89f34c38 100644
--- a/fxjs/xfa/cjx_breakafter.h
+++ b/fxjs/xfa/cjx_breakafter.h
@@ -12,7 +12,7 @@
class CXFA_BreakAfter;
-class CJX_BreakAfter : public CJX_Node {
+class CJX_BreakAfter final : public CJX_Node {
public:
explicit CJX_BreakAfter(CXFA_BreakAfter* node);
~CJX_BreakAfter() override;
diff --git a/fxjs/xfa/cjx_breakbefore.h b/fxjs/xfa/cjx_breakbefore.h
index b4251c96de..59f07c0388 100644
--- a/fxjs/xfa/cjx_breakbefore.h
+++ b/fxjs/xfa/cjx_breakbefore.h
@@ -12,7 +12,7 @@
class CXFA_BreakBefore;
-class CJX_BreakBefore : public CJX_Node {
+class CJX_BreakBefore final : public CJX_Node {
public:
explicit CJX_BreakBefore(CXFA_BreakBefore* node);
~CJX_BreakBefore() override;
diff --git a/fxjs/xfa/cjx_button.h b/fxjs/xfa/cjx_button.h
index bf38aa4700..9fe5061b9f 100644
--- a/fxjs/xfa/cjx_button.h
+++ b/fxjs/xfa/cjx_button.h
@@ -12,7 +12,7 @@
class CXFA_Button;
-class CJX_Button : public CJX_Node {
+class CJX_Button final : public CJX_Node {
public:
explicit CJX_Button(CXFA_Button* node);
~CJX_Button() override;
diff --git a/fxjs/xfa/cjx_calculate.h b/fxjs/xfa/cjx_calculate.h
index 1b4c1496c1..29dc732bf1 100644
--- a/fxjs/xfa/cjx_calculate.h
+++ b/fxjs/xfa/cjx_calculate.h
@@ -12,7 +12,7 @@
class CXFA_Calculate;
-class CJX_Calculate : public CJX_Node {
+class CJX_Calculate final : public CJX_Node {
public:
explicit CJX_Calculate(CXFA_Calculate* node);
~CJX_Calculate() override;
diff --git a/fxjs/xfa/cjx_caption.h b/fxjs/xfa/cjx_caption.h
index d9241475cb..ae89ed0d0f 100644
--- a/fxjs/xfa/cjx_caption.h
+++ b/fxjs/xfa/cjx_caption.h
@@ -12,7 +12,7 @@
class CXFA_Caption;
-class CJX_Caption : public CJX_Node {
+class CJX_Caption final : public CJX_Node {
public:
explicit CJX_Caption(CXFA_Caption* node);
~CJX_Caption() override;
diff --git a/fxjs/xfa/cjx_certificate.h b/fxjs/xfa/cjx_certificate.h
index 8be791d766..93a323a8b0 100644
--- a/fxjs/xfa/cjx_certificate.h
+++ b/fxjs/xfa/cjx_certificate.h
@@ -12,7 +12,7 @@
class CXFA_Certificate;
-class CJX_Certificate : public CJX_TextNode {
+class CJX_Certificate final : public CJX_TextNode {
public:
explicit CJX_Certificate(CXFA_Certificate* node);
~CJX_Certificate() override;
diff --git a/fxjs/xfa/cjx_certificates.h b/fxjs/xfa/cjx_certificates.h
index 42ce885480..b792efb492 100644
--- a/fxjs/xfa/cjx_certificates.h
+++ b/fxjs/xfa/cjx_certificates.h
@@ -12,7 +12,7 @@
class CXFA_Certificates;
-class CJX_Certificates : public CJX_Node {
+class CJX_Certificates final : public CJX_Node {
public:
explicit CJX_Certificates(CXFA_Certificates* node);
~CJX_Certificates() override;
diff --git a/fxjs/xfa/cjx_checkbutton.h b/fxjs/xfa/cjx_checkbutton.h
index 3b78d710c4..82a96d4b02 100644
--- a/fxjs/xfa/cjx_checkbutton.h
+++ b/fxjs/xfa/cjx_checkbutton.h
@@ -12,7 +12,7 @@
class CXFA_CheckButton;
-class CJX_CheckButton : public CJX_Node {
+class CJX_CheckButton final : public CJX_Node {
public:
explicit CJX_CheckButton(CXFA_CheckButton* node);
~CJX_CheckButton() override;
diff --git a/fxjs/xfa/cjx_choicelist.h b/fxjs/xfa/cjx_choicelist.h
index 3bf947c064..e1add2dddb 100644
--- a/fxjs/xfa/cjx_choicelist.h
+++ b/fxjs/xfa/cjx_choicelist.h
@@ -12,7 +12,7 @@
class CXFA_ChoiceList;
-class CJX_ChoiceList : public CJX_Node {
+class CJX_ChoiceList final : public CJX_Node {
public:
explicit CJX_ChoiceList(CXFA_ChoiceList* node);
~CJX_ChoiceList() override;
diff --git a/fxjs/xfa/cjx_color.h b/fxjs/xfa/cjx_color.h
index e048aca44c..d0816bbd1b 100644
--- a/fxjs/xfa/cjx_color.h
+++ b/fxjs/xfa/cjx_color.h
@@ -12,7 +12,7 @@
class CXFA_Color;
-class CJX_Color : public CJX_Node {
+class CJX_Color final : public CJX_Node {
public:
explicit CJX_Color(CXFA_Color* node);
~CJX_Color() override;
diff --git a/fxjs/xfa/cjx_comb.h b/fxjs/xfa/cjx_comb.h
index abcf8c0c6e..073adf5736 100644
--- a/fxjs/xfa/cjx_comb.h
+++ b/fxjs/xfa/cjx_comb.h
@@ -12,7 +12,7 @@
class CXFA_Comb;
-class CJX_Comb : public CJX_Node {
+class CJX_Comb final : public CJX_Node {
public:
explicit CJX_Comb(CXFA_Comb* node);
~CJX_Comb() override;
diff --git a/fxjs/xfa/cjx_command.h b/fxjs/xfa/cjx_command.h
index e645baf4c9..b876d69ece 100644
--- a/fxjs/xfa/cjx_command.h
+++ b/fxjs/xfa/cjx_command.h
@@ -12,7 +12,7 @@
class CXFA_Command;
-class CJX_Command : public CJX_Node {
+class CJX_Command final : public CJX_Node {
public:
explicit CJX_Command(CXFA_Command* node);
~CJX_Command() override;
diff --git a/fxjs/xfa/cjx_connect.h b/fxjs/xfa/cjx_connect.h
index 77cee4f3c8..5ebb93e42d 100644
--- a/fxjs/xfa/cjx_connect.h
+++ b/fxjs/xfa/cjx_connect.h
@@ -12,7 +12,7 @@
class CXFA_Connect;
-class CJX_Connect : public CJX_Node {
+class CJX_Connect final : public CJX_Node {
public:
explicit CJX_Connect(CXFA_Connect* node);
~CJX_Connect() override;
diff --git a/fxjs/xfa/cjx_connectstring.h b/fxjs/xfa/cjx_connectstring.h
index f40a867d93..8a6beb3a6d 100644
--- a/fxjs/xfa/cjx_connectstring.h
+++ b/fxjs/xfa/cjx_connectstring.h
@@ -12,7 +12,7 @@
class CXFA_ConnectString;
-class CJX_ConnectString : public CJX_TextNode {
+class CJX_ConnectString final : public CJX_TextNode {
public:
explicit CJX_ConnectString(CXFA_ConnectString* node);
~CJX_ConnectString() override;
diff --git a/fxjs/xfa/cjx_contentarea.h b/fxjs/xfa/cjx_contentarea.h
index aeed6b62a2..82cbde1f83 100644
--- a/fxjs/xfa/cjx_contentarea.h
+++ b/fxjs/xfa/cjx_contentarea.h
@@ -12,7 +12,7 @@
class CXFA_ContentArea;
-class CJX_ContentArea : public CJX_Container {
+class CJX_ContentArea final : public CJX_Container {
public:
explicit CJX_ContentArea(CXFA_ContentArea* node);
~CJX_ContentArea() override;
diff --git a/fxjs/xfa/cjx_corner.h b/fxjs/xfa/cjx_corner.h
index 8db25245c9..905c05cb82 100644
--- a/fxjs/xfa/cjx_corner.h
+++ b/fxjs/xfa/cjx_corner.h
@@ -12,7 +12,7 @@
class CXFA_Corner;
-class CJX_Corner : public CJX_Node {
+class CJX_Corner final : public CJX_Node {
public:
explicit CJX_Corner(CXFA_Corner* node);
~CJX_Corner() override;
diff --git a/fxjs/xfa/cjx_datavalue.h b/fxjs/xfa/cjx_datavalue.h
index 00bf5cf08d..636899764e 100644
--- a/fxjs/xfa/cjx_datavalue.h
+++ b/fxjs/xfa/cjx_datavalue.h
@@ -12,7 +12,7 @@
class CXFA_DataValue;
-class CJX_DataValue : public CJX_Node {
+class CJX_DataValue final : public CJX_Node {
public:
explicit CJX_DataValue(CXFA_DataValue* node);
~CJX_DataValue() override;
diff --git a/fxjs/xfa/cjx_datawindow.h b/fxjs/xfa/cjx_datawindow.h
index d8e697d596..c148cb9c11 100644
--- a/fxjs/xfa/cjx_datawindow.h
+++ b/fxjs/xfa/cjx_datawindow.h
@@ -14,7 +14,7 @@
class CFXJSE_Value;
class CScript_DataWindow;
-class CJX_DataWindow : public CJX_Object {
+class CJX_DataWindow final : public CJX_Object {
public:
explicit CJX_DataWindow(CScript_DataWindow* window);
~CJX_DataWindow() override;
diff --git a/fxjs/xfa/cjx_date.h b/fxjs/xfa/cjx_date.h
index c788937f3c..95c188c2dd 100644
--- a/fxjs/xfa/cjx_date.h
+++ b/fxjs/xfa/cjx_date.h
@@ -12,7 +12,7 @@
class CXFA_Date;
-class CJX_Date : public CJX_Content {
+class CJX_Date final : public CJX_Content {
public:
explicit CJX_Date(CXFA_Date* node);
~CJX_Date() override;
diff --git a/fxjs/xfa/cjx_datetime.h b/fxjs/xfa/cjx_datetime.h
index 10796602e5..2b62a3b5cc 100644
--- a/fxjs/xfa/cjx_datetime.h
+++ b/fxjs/xfa/cjx_datetime.h
@@ -12,7 +12,7 @@
class CXFA_DateTime;
-class CJX_DateTime : public CJX_Node {
+class CJX_DateTime final : public CJX_Node {
public:
explicit CJX_DateTime(CXFA_DateTime* node);
~CJX_DateTime() override;
diff --git a/fxjs/xfa/cjx_datetimeedit.h b/fxjs/xfa/cjx_datetimeedit.h
index d90a4cfb52..449df365ea 100644
--- a/fxjs/xfa/cjx_datetimeedit.h
+++ b/fxjs/xfa/cjx_datetimeedit.h
@@ -12,7 +12,7 @@
class CXFA_DateTimeEdit;
-class CJX_DateTimeEdit : public CJX_Node {
+class CJX_DateTimeEdit final : public CJX_Node {
public:
explicit CJX_DateTimeEdit(CXFA_DateTimeEdit* node);
~CJX_DateTimeEdit() override;
diff --git a/fxjs/xfa/cjx_decimal.h b/fxjs/xfa/cjx_decimal.h
index b7ddec91c3..7511040b27 100644
--- a/fxjs/xfa/cjx_decimal.h
+++ b/fxjs/xfa/cjx_decimal.h
@@ -12,7 +12,7 @@
class CXFA_Decimal;
-class CJX_Decimal : public CJX_Content {
+class CJX_Decimal final : public CJX_Content {
public:
explicit CJX_Decimal(CXFA_Decimal* node);
~CJX_Decimal() override;
diff --git a/fxjs/xfa/cjx_defaultui.h b/fxjs/xfa/cjx_defaultui.h
index 29954fdae5..5e70109218 100644
--- a/fxjs/xfa/cjx_defaultui.h
+++ b/fxjs/xfa/cjx_defaultui.h
@@ -12,7 +12,7 @@
class CXFA_DefaultUi;
-class CJX_DefaultUi : public CJX_Node {
+class CJX_DefaultUi final : public CJX_Node {
public:
explicit CJX_DefaultUi(CXFA_DefaultUi* node);
~CJX_DefaultUi() override;
diff --git a/fxjs/xfa/cjx_delete.h b/fxjs/xfa/cjx_delete.h
index e89b1e4c85..c35cc1484e 100644
--- a/fxjs/xfa/cjx_delete.h
+++ b/fxjs/xfa/cjx_delete.h
@@ -12,7 +12,7 @@
class CXFA_Delete;
-class CJX_Delete : public CJX_TextNode {
+class CJX_Delete final : public CJX_TextNode {
public:
explicit CJX_Delete(CXFA_Delete* node);
~CJX_Delete() override;
diff --git a/fxjs/xfa/cjx_delta.h b/fxjs/xfa/cjx_delta.h
index 9458599c41..c499681de9 100644
--- a/fxjs/xfa/cjx_delta.h
+++ b/fxjs/xfa/cjx_delta.h
@@ -12,7 +12,7 @@
class CXFA_Delta;
-class CJX_Delta : public CJX_Object {
+class CJX_Delta final : public CJX_Object {
public:
explicit CJX_Delta(CXFA_Delta* delta);
~CJX_Delta() override;
diff --git a/fxjs/xfa/cjx_deltas.h b/fxjs/xfa/cjx_deltas.h
index c94753f17b..7b07a7cee4 100644
--- a/fxjs/xfa/cjx_deltas.h
+++ b/fxjs/xfa/cjx_deltas.h
@@ -11,7 +11,7 @@
class CXFA_Deltas;
-class CJX_Deltas : public CJX_List {
+class CJX_Deltas final : public CJX_List {
public:
explicit CJX_Deltas(CXFA_Deltas* node);
~CJX_Deltas() override;
diff --git a/fxjs/xfa/cjx_desc.h b/fxjs/xfa/cjx_desc.h
index d30b2227cf..99cb9ba474 100644
--- a/fxjs/xfa/cjx_desc.h
+++ b/fxjs/xfa/cjx_desc.h
@@ -12,7 +12,7 @@
class CXFA_Desc;
-class CJX_Desc : public CJX_Node {
+class CJX_Desc final : public CJX_Node {
public:
explicit CJX_Desc(CXFA_Desc* desc);
~CJX_Desc() override;
diff --git a/fxjs/xfa/cjx_digestmethod.h b/fxjs/xfa/cjx_digestmethod.h
index f4050f229e..beb0cd2d6f 100644
--- a/fxjs/xfa/cjx_digestmethod.h
+++ b/fxjs/xfa/cjx_digestmethod.h
@@ -12,7 +12,7 @@
class CXFA_DigestMethod;
-class CJX_DigestMethod : public CJX_Node {
+class CJX_DigestMethod final : public CJX_Node {
public:
explicit CJX_DigestMethod(CXFA_DigestMethod* node);
~CJX_DigestMethod() override;
diff --git a/fxjs/xfa/cjx_digestmethods.h b/fxjs/xfa/cjx_digestmethods.h
index c616584dcd..c011a3d4cd 100644
--- a/fxjs/xfa/cjx_digestmethods.h
+++ b/fxjs/xfa/cjx_digestmethods.h
@@ -12,7 +12,7 @@
class CXFA_DigestMethods;
-class CJX_DigestMethods : public CJX_Node {
+class CJX_DigestMethods final : public CJX_Node {
public:
explicit CJX_DigestMethods(CXFA_DigestMethods* node);
~CJX_DigestMethods() override;
diff --git a/fxjs/xfa/cjx_draw.h b/fxjs/xfa/cjx_draw.h
index 508d3e1597..4f53bef25a 100644
--- a/fxjs/xfa/cjx_draw.h
+++ b/fxjs/xfa/cjx_draw.h
@@ -12,7 +12,7 @@
class CXFA_Draw;
-class CJX_Draw : public CJX_Container {
+class CJX_Draw final : public CJX_Container {
public:
explicit CJX_Draw(CXFA_Draw* node);
~CJX_Draw() override;
diff --git a/fxjs/xfa/cjx_edge.h b/fxjs/xfa/cjx_edge.h
index c830a8d29c..ed3d7cc03d 100644
--- a/fxjs/xfa/cjx_edge.h
+++ b/fxjs/xfa/cjx_edge.h
@@ -12,7 +12,7 @@
class CXFA_Edge;
-class CJX_Edge : public CJX_Node {
+class CJX_Edge final : public CJX_Node {
public:
explicit CJX_Edge(CXFA_Edge* node);
~CJX_Edge() override;
diff --git a/fxjs/xfa/cjx_encoding.h b/fxjs/xfa/cjx_encoding.h
index ade3e380c3..4c02df56ad 100644
--- a/fxjs/xfa/cjx_encoding.h
+++ b/fxjs/xfa/cjx_encoding.h
@@ -12,7 +12,7 @@
class CXFA_Encoding;
-class CJX_Encoding : public CJX_Node {
+class CJX_Encoding final : public CJX_Node {
public:
explicit CJX_Encoding(CXFA_Encoding* node);
~CJX_Encoding() override;
diff --git a/fxjs/xfa/cjx_encodings.h b/fxjs/xfa/cjx_encodings.h
index e2f437660c..b1642f76ea 100644
--- a/fxjs/xfa/cjx_encodings.h
+++ b/fxjs/xfa/cjx_encodings.h
@@ -12,7 +12,7 @@
class CXFA_Encodings;
-class CJX_Encodings : public CJX_Node {
+class CJX_Encodings final : public CJX_Node {
public:
explicit CJX_Encodings(CXFA_Encodings* node);
~CJX_Encodings() override;
diff --git a/fxjs/xfa/cjx_encrypt.h b/fxjs/xfa/cjx_encrypt.h
index acbccf7ecc..7bb31f7969 100644
--- a/fxjs/xfa/cjx_encrypt.h
+++ b/fxjs/xfa/cjx_encrypt.h
@@ -12,7 +12,7 @@
class CXFA_Encrypt;
-class CJX_Encrypt : public CJX_Node {
+class CJX_Encrypt final : public CJX_Node {
public:
explicit CJX_Encrypt(CXFA_Encrypt* node);
~CJX_Encrypt() override;
diff --git a/fxjs/xfa/cjx_event.h b/fxjs/xfa/cjx_event.h
index d8c8b03fe0..64cd84b1ab 100644
--- a/fxjs/xfa/cjx_event.h
+++ b/fxjs/xfa/cjx_event.h
@@ -12,7 +12,7 @@
class CXFA_Event;
-class CJX_Event : public CJX_Node {
+class CJX_Event final : public CJX_Node {
public:
explicit CJX_Event(CXFA_Event* node);
~CJX_Event() override;
diff --git a/fxjs/xfa/cjx_eventpseudomodel.h b/fxjs/xfa/cjx_eventpseudomodel.h
index c52871e461..3a51098661 100644
--- a/fxjs/xfa/cjx_eventpseudomodel.h
+++ b/fxjs/xfa/cjx_eventpseudomodel.h
@@ -33,7 +33,7 @@ enum class XFA_Event {
CancelAction
};
-class CJX_EventPseudoModel : public CJX_Object {
+class CJX_EventPseudoModel final : public CJX_Object {
public:
explicit CJX_EventPseudoModel(CScript_EventPseudoModel* model);
~CJX_EventPseudoModel() override;
diff --git a/fxjs/xfa/cjx_exclgroup.h b/fxjs/xfa/cjx_exclgroup.h
index 492fb124bb..23870795c1 100644
--- a/fxjs/xfa/cjx_exclgroup.h
+++ b/fxjs/xfa/cjx_exclgroup.h
@@ -12,7 +12,7 @@
class CXFA_ExclGroup;
-class CJX_ExclGroup : public CJX_Node {
+class CJX_ExclGroup final : public CJX_Node {
public:
explicit CJX_ExclGroup(CXFA_ExclGroup* group);
~CJX_ExclGroup() override;
diff --git a/fxjs/xfa/cjx_exdata.h b/fxjs/xfa/cjx_exdata.h
index 06a5d210c9..b25ef07695 100644
--- a/fxjs/xfa/cjx_exdata.h
+++ b/fxjs/xfa/cjx_exdata.h
@@ -12,7 +12,7 @@
class CXFA_ExData;
-class CJX_ExData : public CJX_Content {
+class CJX_ExData final : public CJX_Content {
public:
explicit CJX_ExData(CXFA_ExData* node);
~CJX_ExData() override;
diff --git a/fxjs/xfa/cjx_execute.h b/fxjs/xfa/cjx_execute.h
index 338f8c3d1f..29e4480dcf 100644
--- a/fxjs/xfa/cjx_execute.h
+++ b/fxjs/xfa/cjx_execute.h
@@ -12,7 +12,7 @@
class CXFA_Execute;
-class CJX_Execute : public CJX_Node {
+class CJX_Execute final : public CJX_Node {
public:
explicit CJX_Execute(CXFA_Execute* node);
~CJX_Execute() override;
diff --git a/fxjs/xfa/cjx_exobject.h b/fxjs/xfa/cjx_exobject.h
index 2e10362b2d..2dc7e79d22 100644
--- a/fxjs/xfa/cjx_exobject.h
+++ b/fxjs/xfa/cjx_exobject.h
@@ -12,7 +12,7 @@
class CXFA_ExObject;
-class CJX_ExObject : public CJX_Node {
+class CJX_ExObject final : public CJX_Node {
public:
explicit CJX_ExObject(CXFA_ExObject* node);
~CJX_ExObject() override;
diff --git a/fxjs/xfa/cjx_extras.h b/fxjs/xfa/cjx_extras.h
index 829aa9d34d..b23653632c 100644
--- a/fxjs/xfa/cjx_extras.h
+++ b/fxjs/xfa/cjx_extras.h
@@ -12,7 +12,7 @@
class CXFA_Extras;
-class CJX_Extras : public CJX_Node {
+class CJX_Extras final : public CJX_Node {
public:
explicit CJX_Extras(CXFA_Extras* node);
~CJX_Extras() override;
diff --git a/fxjs/xfa/cjx_field.h b/fxjs/xfa/cjx_field.h
index bc8f2cfb59..0f9e2995f9 100644
--- a/fxjs/xfa/cjx_field.h
+++ b/fxjs/xfa/cjx_field.h
@@ -12,7 +12,7 @@
class CXFA_Field;
-class CJX_Field : public CJX_Container {
+class CJX_Field final : public CJX_Container {
public:
explicit CJX_Field(CXFA_Field* field);
~CJX_Field() override;
diff --git a/fxjs/xfa/cjx_fill.h b/fxjs/xfa/cjx_fill.h
index 064a249d9d..b8377d31d9 100644
--- a/fxjs/xfa/cjx_fill.h
+++ b/fxjs/xfa/cjx_fill.h
@@ -12,7 +12,7 @@
class CXFA_Fill;
-class CJX_Fill : public CJX_Node {
+class CJX_Fill final : public CJX_Node {
public:
explicit CJX_Fill(CXFA_Fill* node);
~CJX_Fill() override;
diff --git a/fxjs/xfa/cjx_filter.h b/fxjs/xfa/cjx_filter.h
index 6012123ff9..c52728679e 100644
--- a/fxjs/xfa/cjx_filter.h
+++ b/fxjs/xfa/cjx_filter.h
@@ -12,7 +12,7 @@
class CXFA_Filter;
-class CJX_Filter : public CJX_Node {
+class CJX_Filter final : public CJX_Node {
public:
explicit CJX_Filter(CXFA_Filter* node);
~CJX_Filter() override;
diff --git a/fxjs/xfa/cjx_float.h b/fxjs/xfa/cjx_float.h
index 2f8c934ad9..12dbe578bc 100644
--- a/fxjs/xfa/cjx_float.h
+++ b/fxjs/xfa/cjx_float.h
@@ -12,7 +12,7 @@
class CXFA_Float;
-class CJX_Float : public CJX_Content {
+class CJX_Float final : public CJX_Content {
public:
explicit CJX_Float(CXFA_Float* node);
~CJX_Float() override;
diff --git a/fxjs/xfa/cjx_font.h b/fxjs/xfa/cjx_font.h
index a5a13560b6..9cd894465e 100644
--- a/fxjs/xfa/cjx_font.h
+++ b/fxjs/xfa/cjx_font.h
@@ -12,7 +12,7 @@
class CXFA_Font;
-class CJX_Font : public CJX_Node {
+class CJX_Font final : public CJX_Node {
public:
explicit CJX_Font(CXFA_Font* node);
~CJX_Font() override;
diff --git a/fxjs/xfa/cjx_form.h b/fxjs/xfa/cjx_form.h
index f2325b37cf..67c7b10025 100644
--- a/fxjs/xfa/cjx_form.h
+++ b/fxjs/xfa/cjx_form.h
@@ -12,7 +12,7 @@
class CXFA_Form;
-class CJX_Form : public CJX_Model {
+class CJX_Form final : public CJX_Model {
public:
explicit CJX_Form(CXFA_Form* form);
~CJX_Form() override;
diff --git a/fxjs/xfa/cjx_format.h b/fxjs/xfa/cjx_format.h
index 3f4a42b0da..cb4a8cc20a 100644
--- a/fxjs/xfa/cjx_format.h
+++ b/fxjs/xfa/cjx_format.h
@@ -12,7 +12,7 @@
class CXFA_Format;
-class CJX_Format : public CJX_Node {
+class CJX_Format final : public CJX_Node {
public:
explicit CJX_Format(CXFA_Format* node);
~CJX_Format() override;
diff --git a/fxjs/xfa/cjx_handler.h b/fxjs/xfa/cjx_handler.h
index feb0e6dc7a..79aa3a1f20 100644
--- a/fxjs/xfa/cjx_handler.h
+++ b/fxjs/xfa/cjx_handler.h
@@ -12,7 +12,7 @@
class CXFA_Handler;
-class CJX_Handler : public CJX_TextNode {
+class CJX_Handler final : public CJX_TextNode {
public:
explicit CJX_Handler(CXFA_Handler* node);
~CJX_Handler() override;
diff --git a/fxjs/xfa/cjx_hostpseudomodel.h b/fxjs/xfa/cjx_hostpseudomodel.h
index 7ef7d032f6..0991aec745 100644
--- a/fxjs/xfa/cjx_hostpseudomodel.h
+++ b/fxjs/xfa/cjx_hostpseudomodel.h
@@ -14,7 +14,7 @@
class CFXJSE_Value;
class CScript_HostPseudoModel;
-class CJX_HostPseudoModel : public CJX_Object {
+class CJX_HostPseudoModel final : public CJX_Object {
public:
explicit CJX_HostPseudoModel(CScript_HostPseudoModel* model);
~CJX_HostPseudoModel() override;
diff --git a/fxjs/xfa/cjx_image.h b/fxjs/xfa/cjx_image.h
index 682ea315b9..71f859dde3 100644
--- a/fxjs/xfa/cjx_image.h
+++ b/fxjs/xfa/cjx_image.h
@@ -12,7 +12,7 @@
class CXFA_Image;
-class CJX_Image : public CJX_Node {
+class CJX_Image final : public CJX_Node {
public:
explicit CJX_Image(CXFA_Image* node);
~CJX_Image() override;
diff --git a/fxjs/xfa/cjx_imageedit.h b/fxjs/xfa/cjx_imageedit.h
index 6b7f1d31a0..9fda373439 100644
--- a/fxjs/xfa/cjx_imageedit.h
+++ b/fxjs/xfa/cjx_imageedit.h
@@ -12,7 +12,7 @@
class CXFA_ImageEdit;
-class CJX_ImageEdit : public CJX_Node {
+class CJX_ImageEdit final : public CJX_Node {
public:
explicit CJX_ImageEdit(CXFA_ImageEdit* node);
~CJX_ImageEdit() override;
diff --git a/fxjs/xfa/cjx_insert.h b/fxjs/xfa/cjx_insert.h
index 888a2462b0..a414526b05 100644
--- a/fxjs/xfa/cjx_insert.h
+++ b/fxjs/xfa/cjx_insert.h
@@ -12,7 +12,7 @@
class CXFA_Insert;
-class CJX_Insert : public CJX_TextNode {
+class CJX_Insert final : public CJX_TextNode {
public:
explicit CJX_Insert(CXFA_Insert* node);
~CJX_Insert() override;
diff --git a/fxjs/xfa/cjx_instancemanager.h b/fxjs/xfa/cjx_instancemanager.h
index b151d71706..139dbe3e18 100644
--- a/fxjs/xfa/cjx_instancemanager.h
+++ b/fxjs/xfa/cjx_instancemanager.h
@@ -12,7 +12,7 @@
class CXFA_InstanceManager;
-class CJX_InstanceManager : public CJX_Node {
+class CJX_InstanceManager final : public CJX_Node {
public:
explicit CJX_InstanceManager(CXFA_InstanceManager* mgr);
~CJX_InstanceManager() override;
diff --git a/fxjs/xfa/cjx_integer.h b/fxjs/xfa/cjx_integer.h
index 426235b0ac..e15deb9a7a 100644
--- a/fxjs/xfa/cjx_integer.h
+++ b/fxjs/xfa/cjx_integer.h
@@ -12,7 +12,7 @@
class CXFA_Integer;
-class CJX_Integer : public CJX_Content {
+class CJX_Integer final : public CJX_Content {
public:
explicit CJX_Integer(CXFA_Integer* node);
~CJX_Integer() override;
diff --git a/fxjs/xfa/cjx_issuers.h b/fxjs/xfa/cjx_issuers.h
index bdd777a5eb..23a7457877 100644
--- a/fxjs/xfa/cjx_issuers.h
+++ b/fxjs/xfa/cjx_issuers.h
@@ -12,7 +12,7 @@
class CXFA_Issuers;
-class CJX_Issuers : public CJX_Node {
+class CJX_Issuers final : public CJX_Node {
public:
explicit CJX_Issuers(CXFA_Issuers* node);
~CJX_Issuers() override;
diff --git a/fxjs/xfa/cjx_items.h b/fxjs/xfa/cjx_items.h
index 039757f15e..d29fee7975 100644
--- a/fxjs/xfa/cjx_items.h
+++ b/fxjs/xfa/cjx_items.h
@@ -12,7 +12,7 @@
class CXFA_Items;
-class CJX_Items : public CJX_Node {
+class CJX_Items final : public CJX_Node {
public:
explicit CJX_Items(CXFA_Items* node);
~CJX_Items() override;
diff --git a/fxjs/xfa/cjx_keep.h b/fxjs/xfa/cjx_keep.h
index 3e1166f1a9..c5fcb252c8 100644
--- a/fxjs/xfa/cjx_keep.h
+++ b/fxjs/xfa/cjx_keep.h
@@ -12,7 +12,7 @@
class CXFA_Keep;
-class CJX_Keep : public CJX_Node {
+class CJX_Keep final : public CJX_Node {
public:
explicit CJX_Keep(CXFA_Keep* node);
~CJX_Keep() override;
diff --git a/fxjs/xfa/cjx_keyusage.h b/fxjs/xfa/cjx_keyusage.h
index 54ec8dfd40..470ece6804 100644
--- a/fxjs/xfa/cjx_keyusage.h
+++ b/fxjs/xfa/cjx_keyusage.h
@@ -12,7 +12,7 @@
class CXFA_KeyUsage;
-class CJX_KeyUsage : public CJX_Node {
+class CJX_KeyUsage final : public CJX_Node {
public:
explicit CJX_KeyUsage(CXFA_KeyUsage* node);
~CJX_KeyUsage() override;
diff --git a/fxjs/xfa/cjx_layoutpseudomodel.h b/fxjs/xfa/cjx_layoutpseudomodel.h
index 3fd77ef6b5..a252eaac38 100644
--- a/fxjs/xfa/cjx_layoutpseudomodel.h
+++ b/fxjs/xfa/cjx_layoutpseudomodel.h
@@ -24,7 +24,7 @@ class CScript_LayoutPseudoModel;
class CXFA_LayoutProcessor;
class CXFA_Node;
-class CJX_LayoutPseudoModel : public CJX_Object {
+class CJX_LayoutPseudoModel final : public CJX_Object {
public:
explicit CJX_LayoutPseudoModel(CScript_LayoutPseudoModel* model);
~CJX_LayoutPseudoModel() override;
diff --git a/fxjs/xfa/cjx_line.h b/fxjs/xfa/cjx_line.h
index 48e8a4e275..e7b0e8e911 100644
--- a/fxjs/xfa/cjx_line.h
+++ b/fxjs/xfa/cjx_line.h
@@ -12,7 +12,7 @@
class CXFA_Line;
-class CJX_Line : public CJX_Node {
+class CJX_Line final : public CJX_Node {
public:
explicit CJX_Line(CXFA_Line* node);
~CJX_Line() override;
diff --git a/fxjs/xfa/cjx_linear.h b/fxjs/xfa/cjx_linear.h
index b1d3a8834a..979511cc97 100644
--- a/fxjs/xfa/cjx_linear.h
+++ b/fxjs/xfa/cjx_linear.h
@@ -12,7 +12,7 @@
class CXFA_Linear;
-class CJX_Linear : public CJX_Node {
+class CJX_Linear final : public CJX_Node {
public:
explicit CJX_Linear(CXFA_Linear* node);
~CJX_Linear() override;
diff --git a/fxjs/xfa/cjx_logpseudomodel.h b/fxjs/xfa/cjx_logpseudomodel.h
index 3994411c72..dbf097f367 100644
--- a/fxjs/xfa/cjx_logpseudomodel.h
+++ b/fxjs/xfa/cjx_logpseudomodel.h
@@ -14,7 +14,7 @@ class CScript_LogPseudoModel;
// TODO(dsinclair): This doesn't exist in the spec. Remove after
// xfa_basic_data_element_script is removed.
-class CJX_LogPseudoModel : public CJX_Object {
+class CJX_LogPseudoModel final : public CJX_Object {
public:
explicit CJX_LogPseudoModel(CScript_LogPseudoModel* model);
~CJX_LogPseudoModel() override;
diff --git a/fxjs/xfa/cjx_manifest.h b/fxjs/xfa/cjx_manifest.h
index fa16b470e0..717e1f11a0 100644
--- a/fxjs/xfa/cjx_manifest.h
+++ b/fxjs/xfa/cjx_manifest.h
@@ -12,7 +12,7 @@
class CXFA_Manifest;
-class CJX_Manifest : public CJX_Node {
+class CJX_Manifest final : public CJX_Node {
public:
explicit CJX_Manifest(CXFA_Manifest* manifest);
~CJX_Manifest() override;
diff --git a/fxjs/xfa/cjx_map.h b/fxjs/xfa/cjx_map.h
index 7a0eb37f16..8178384a8c 100644
--- a/fxjs/xfa/cjx_map.h
+++ b/fxjs/xfa/cjx_map.h
@@ -12,7 +12,7 @@
class CXFA_Map;
-class CJX_Map : public CJX_Node {
+class CJX_Map final : public CJX_Node {
public:
explicit CJX_Map(CXFA_Map* node);
~CJX_Map() override;
diff --git a/fxjs/xfa/cjx_margin.h b/fxjs/xfa/cjx_margin.h
index be0e2207e4..6cac5a3e46 100644
--- a/fxjs/xfa/cjx_margin.h
+++ b/fxjs/xfa/cjx_margin.h
@@ -12,7 +12,7 @@
class CXFA_Margin;
-class CJX_Margin : public CJX_Node {
+class CJX_Margin final : public CJX_Node {
public:
explicit CJX_Margin(CXFA_Margin* node);
~CJX_Margin() override;
diff --git a/fxjs/xfa/cjx_mdp.h b/fxjs/xfa/cjx_mdp.h
index a58dc821ab..833e2dbc97 100644
--- a/fxjs/xfa/cjx_mdp.h
+++ b/fxjs/xfa/cjx_mdp.h
@@ -12,7 +12,7 @@
class CXFA_Mdp;
-class CJX_Mdp : public CJX_Node {
+class CJX_Mdp final : public CJX_Node {
public:
explicit CJX_Mdp(CXFA_Mdp* node);
~CJX_Mdp() override;
diff --git a/fxjs/xfa/cjx_medium.h b/fxjs/xfa/cjx_medium.h
index 88daa1b0ce..1efb34b0e9 100644
--- a/fxjs/xfa/cjx_medium.h
+++ b/fxjs/xfa/cjx_medium.h
@@ -12,7 +12,7 @@
class CXFA_Medium;
-class CJX_Medium : public CJX_Node {
+class CJX_Medium final : public CJX_Node {
public:
explicit CJX_Medium(CXFA_Medium* node);
~CJX_Medium() override;
diff --git a/fxjs/xfa/cjx_message.h b/fxjs/xfa/cjx_message.h
index 989a2de11e..f5c577ce90 100644
--- a/fxjs/xfa/cjx_message.h
+++ b/fxjs/xfa/cjx_message.h
@@ -12,7 +12,7 @@
class CXFA_Message;
-class CJX_Message : public CJX_Node {
+class CJX_Message final : public CJX_Node {
public:
explicit CJX_Message(CXFA_Message* node);
~CJX_Message() override;
diff --git a/fxjs/xfa/cjx_numericedit.h b/fxjs/xfa/cjx_numericedit.h
index b83ccea0d7..d74b0c8d22 100644
--- a/fxjs/xfa/cjx_numericedit.h
+++ b/fxjs/xfa/cjx_numericedit.h
@@ -12,7 +12,7 @@
class CXFA_NumericEdit;
-class CJX_NumericEdit : public CJX_Node {
+class CJX_NumericEdit final : public CJX_Node {
public:
explicit CJX_NumericEdit(CXFA_NumericEdit* node);
~CJX_NumericEdit() override;
diff --git a/fxjs/xfa/cjx_occur.h b/fxjs/xfa/cjx_occur.h
index b67007c1ac..114f5b3d94 100644
--- a/fxjs/xfa/cjx_occur.h
+++ b/fxjs/xfa/cjx_occur.h
@@ -12,7 +12,7 @@
class CXFA_Occur;
-class CJX_Occur : public CJX_Node {
+class CJX_Occur final : public CJX_Node {
public:
explicit CJX_Occur(CXFA_Occur* node);
~CJX_Occur() override;
diff --git a/fxjs/xfa/cjx_oid.h b/fxjs/xfa/cjx_oid.h
index 8380d27575..f3c528ebdb 100644
--- a/fxjs/xfa/cjx_oid.h
+++ b/fxjs/xfa/cjx_oid.h
@@ -12,7 +12,7 @@
class CXFA_Oid;
-class CJX_Oid : public CJX_TextNode {
+class CJX_Oid final : public CJX_TextNode {
public:
explicit CJX_Oid(CXFA_Oid* node);
~CJX_Oid() override;
diff --git a/fxjs/xfa/cjx_oids.h b/fxjs/xfa/cjx_oids.h
index 64d751be38..a205fa0eab 100644
--- a/fxjs/xfa/cjx_oids.h
+++ b/fxjs/xfa/cjx_oids.h
@@ -12,7 +12,7 @@
class CXFA_Oids;
-class CJX_Oids : public CJX_Node {
+class CJX_Oids final : public CJX_Node {
public:
explicit CJX_Oids(CXFA_Oids* node);
~CJX_Oids() override;
diff --git a/fxjs/xfa/cjx_operation.h b/fxjs/xfa/cjx_operation.h
index 36411f612f..3d169972dc 100644
--- a/fxjs/xfa/cjx_operation.h
+++ b/fxjs/xfa/cjx_operation.h
@@ -12,7 +12,7 @@
class CXFA_Operation;
-class CJX_Operation : public CJX_TextNode {
+class CJX_Operation final : public CJX_TextNode {
public:
explicit CJX_Operation(CXFA_Operation* node);
~CJX_Operation() override;
diff --git a/fxjs/xfa/cjx_overflow.h b/fxjs/xfa/cjx_overflow.h
index e0859ae5d6..5bd9b6dd30 100644
--- a/fxjs/xfa/cjx_overflow.h
+++ b/fxjs/xfa/cjx_overflow.h
@@ -12,7 +12,7 @@
class CXFA_Overflow;
-class CJX_Overflow : public CJX_Node {
+class CJX_Overflow final : public CJX_Node {
public:
explicit CJX_Overflow(CXFA_Overflow* node);
~CJX_Overflow() override;
diff --git a/fxjs/xfa/cjx_packet.h b/fxjs/xfa/cjx_packet.h
index 7950678352..f1ad92035a 100644
--- a/fxjs/xfa/cjx_packet.h
+++ b/fxjs/xfa/cjx_packet.h
@@ -12,7 +12,7 @@
class CXFA_Packet;
-class CJX_Packet : public CJX_Node {
+class CJX_Packet final : public CJX_Node {
public:
explicit CJX_Packet(CXFA_Packet* packet);
~CJX_Packet() override;
diff --git a/fxjs/xfa/cjx_pagearea.h b/fxjs/xfa/cjx_pagearea.h
index df3db36e44..8985a478d9 100644
--- a/fxjs/xfa/cjx_pagearea.h
+++ b/fxjs/xfa/cjx_pagearea.h
@@ -12,7 +12,7 @@
class CXFA_PageArea;
-class CJX_PageArea : public CJX_Container {
+class CJX_PageArea final : public CJX_Container {
public:
explicit CJX_PageArea(CXFA_PageArea* node);
~CJX_PageArea() override;
diff --git a/fxjs/xfa/cjx_pageset.h b/fxjs/xfa/cjx_pageset.h
index d0cd12b905..adffdc04c5 100644
--- a/fxjs/xfa/cjx_pageset.h
+++ b/fxjs/xfa/cjx_pageset.h
@@ -12,7 +12,7 @@
class CXFA_PageSet;
-class CJX_PageSet : public CJX_Container {
+class CJX_PageSet final : public CJX_Container {
public:
explicit CJX_PageSet(CXFA_PageSet* node);
~CJX_PageSet() override;
diff --git a/fxjs/xfa/cjx_para.h b/fxjs/xfa/cjx_para.h
index 27e3189f62..0a527d66ef 100644
--- a/fxjs/xfa/cjx_para.h
+++ b/fxjs/xfa/cjx_para.h
@@ -12,7 +12,7 @@
class CXFA_Para;
-class CJX_Para : public CJX_Node {
+class CJX_Para final : public CJX_Node {
public:
explicit CJX_Para(CXFA_Para* node);
~CJX_Para() override;
diff --git a/fxjs/xfa/cjx_password.h b/fxjs/xfa/cjx_password.h
index bd6b95562d..1cec53c6c9 100644
--- a/fxjs/xfa/cjx_password.h
+++ b/fxjs/xfa/cjx_password.h
@@ -12,7 +12,7 @@
class CXFA_Password;
-class CJX_Password : public CJX_TextNode {
+class CJX_Password final : public CJX_TextNode {
public:
explicit CJX_Password(CXFA_Password* node);
~CJX_Password() override;
diff --git a/fxjs/xfa/cjx_passwordedit.h b/fxjs/xfa/cjx_passwordedit.h
index df6d8eb070..4f9ce1a5d7 100644
--- a/fxjs/xfa/cjx_passwordedit.h
+++ b/fxjs/xfa/cjx_passwordedit.h
@@ -12,7 +12,7 @@
class CXFA_PasswordEdit;
-class CJX_PasswordEdit : public CJX_Node {
+class CJX_PasswordEdit final : public CJX_Node {
public:
explicit CJX_PasswordEdit(CXFA_PasswordEdit* node);
~CJX_PasswordEdit() override;
diff --git a/fxjs/xfa/cjx_pattern.h b/fxjs/xfa/cjx_pattern.h
index bc3abd06d5..0bb975b836 100644
--- a/fxjs/xfa/cjx_pattern.h
+++ b/fxjs/xfa/cjx_pattern.h
@@ -12,7 +12,7 @@
class CXFA_Pattern;
-class CJX_Pattern : public CJX_Node {
+class CJX_Pattern final : public CJX_Node {
public:
explicit CJX_Pattern(CXFA_Pattern* node);
~CJX_Pattern() override;
diff --git a/fxjs/xfa/cjx_picture.h b/fxjs/xfa/cjx_picture.h
index a07cee708e..e2dc0636f5 100644
--- a/fxjs/xfa/cjx_picture.h
+++ b/fxjs/xfa/cjx_picture.h
@@ -12,7 +12,7 @@
class CXFA_Picture;
-class CJX_Picture : public CJX_Node {
+class CJX_Picture final : public CJX_Node {
public:
explicit CJX_Picture(CXFA_Picture* node);
~CJX_Picture() override;
diff --git a/fxjs/xfa/cjx_query.h b/fxjs/xfa/cjx_query.h
index 7ad281a411..893b2b7531 100644
--- a/fxjs/xfa/cjx_query.h
+++ b/fxjs/xfa/cjx_query.h
@@ -12,7 +12,7 @@
class CXFA_Query;
-class CJX_Query : public CJX_Node {
+class CJX_Query final : public CJX_Node {
public:
explicit CJX_Query(CXFA_Query* node);
~CJX_Query() override;
diff --git a/fxjs/xfa/cjx_radial.h b/fxjs/xfa/cjx_radial.h
index 0ac838627b..d7ad871a98 100644
--- a/fxjs/xfa/cjx_radial.h
+++ b/fxjs/xfa/cjx_radial.h
@@ -12,7 +12,7 @@
class CXFA_Radial;
-class CJX_Radial : public CJX_Node {
+class CJX_Radial final : public CJX_Node {
public:
explicit CJX_Radial(CXFA_Radial* node);
~CJX_Radial() override;
diff --git a/fxjs/xfa/cjx_reason.h b/fxjs/xfa/cjx_reason.h
index bfff55024b..b69c638143 100644
--- a/fxjs/xfa/cjx_reason.h
+++ b/fxjs/xfa/cjx_reason.h
@@ -12,7 +12,7 @@
class CXFA_Reason;
-class CJX_Reason : public CJX_TextNode {
+class CJX_Reason final : public CJX_TextNode {
public:
explicit CJX_Reason(CXFA_Reason* node);
~CJX_Reason() override;
diff --git a/fxjs/xfa/cjx_reasons.h b/fxjs/xfa/cjx_reasons.h
index c6a4b35aa3..80cdcff76b 100644
--- a/fxjs/xfa/cjx_reasons.h
+++ b/fxjs/xfa/cjx_reasons.h
@@ -12,7 +12,7 @@
class CXFA_Reasons;
-class CJX_Reasons : public CJX_Node {
+class CJX_Reasons final : public CJX_Node {
public:
explicit CJX_Reasons(CXFA_Reasons* node);
~CJX_Reasons() override;
diff --git a/fxjs/xfa/cjx_recordset.h b/fxjs/xfa/cjx_recordset.h
index da2319f649..e4973f5287 100644
--- a/fxjs/xfa/cjx_recordset.h
+++ b/fxjs/xfa/cjx_recordset.h
@@ -12,7 +12,7 @@
class CXFA_RecordSet;
-class CJX_RecordSet : public CJX_Node {
+class CJX_RecordSet final : public CJX_Node {
public:
explicit CJX_RecordSet(CXFA_RecordSet* node);
~CJX_RecordSet() override;
diff --git a/fxjs/xfa/cjx_rectangle.h b/fxjs/xfa/cjx_rectangle.h
index e241b98f0b..2aed04699d 100644
--- a/fxjs/xfa/cjx_rectangle.h
+++ b/fxjs/xfa/cjx_rectangle.h
@@ -12,7 +12,7 @@
class CXFA_Rectangle;
-class CJX_Rectangle : public CJX_Node {
+class CJX_Rectangle final : public CJX_Node {
public:
explicit CJX_Rectangle(CXFA_Rectangle* node);
~CJX_Rectangle() override;
diff --git a/fxjs/xfa/cjx_ref.h b/fxjs/xfa/cjx_ref.h
index 9a36fc3483..aaf4a5ff39 100644
--- a/fxjs/xfa/cjx_ref.h
+++ b/fxjs/xfa/cjx_ref.h
@@ -12,7 +12,7 @@
class CXFA_Ref;
-class CJX_Ref : public CJX_TextNode {
+class CJX_Ref final : public CJX_TextNode {
public:
explicit CJX_Ref(CXFA_Ref* node);
~CJX_Ref() override;
diff --git a/fxjs/xfa/cjx_rootelement.h b/fxjs/xfa/cjx_rootelement.h
index 925f751ecd..95e192f122 100644
--- a/fxjs/xfa/cjx_rootelement.h
+++ b/fxjs/xfa/cjx_rootelement.h
@@ -12,7 +12,7 @@
class CXFA_RootElement;
-class CJX_RootElement : public CJX_TextNode {
+class CJX_RootElement final : public CJX_TextNode {
public:
explicit CJX_RootElement(CXFA_RootElement* node);
~CJX_RootElement() override;
diff --git a/fxjs/xfa/cjx_script.h b/fxjs/xfa/cjx_script.h
index fe76df49e0..e1e9a83f51 100644
--- a/fxjs/xfa/cjx_script.h
+++ b/fxjs/xfa/cjx_script.h
@@ -12,7 +12,7 @@
class CXFA_Script;
-class CJX_Script : public CJX_Node {
+class CJX_Script final : public CJX_Node {
public:
explicit CJX_Script(CXFA_Script* node);
~CJX_Script() override;
diff --git a/fxjs/xfa/cjx_select.h b/fxjs/xfa/cjx_select.h
index d59c1d6f57..ff8126695f 100644
--- a/fxjs/xfa/cjx_select.h
+++ b/fxjs/xfa/cjx_select.h
@@ -12,7 +12,7 @@
class CXFA_Select;
-class CJX_Select : public CJX_TextNode {
+class CJX_Select final : public CJX_TextNode {
public:
explicit CJX_Select(CXFA_Select* node);
~CJX_Select() override;
diff --git a/fxjs/xfa/cjx_setproperty.h b/fxjs/xfa/cjx_setproperty.h
index 1d8441feba..042f902184 100644
--- a/fxjs/xfa/cjx_setproperty.h
+++ b/fxjs/xfa/cjx_setproperty.h
@@ -12,7 +12,7 @@
class CXFA_SetProperty;
-class CJX_SetProperty : public CJX_Node {
+class CJX_SetProperty final : public CJX_Node {
public:
explicit CJX_SetProperty(CXFA_SetProperty* node);
~CJX_SetProperty() override;
diff --git a/fxjs/xfa/cjx_signature.h b/fxjs/xfa/cjx_signature.h
index 12a1478c61..e29c6c5199 100644
--- a/fxjs/xfa/cjx_signature.h
+++ b/fxjs/xfa/cjx_signature.h
@@ -12,7 +12,7 @@
class CXFA_Signature;
-class CJX_Signature : public CJX_Node {
+class CJX_Signature final : public CJX_Node {
public:
explicit CJX_Signature(CXFA_Signature* node);
~CJX_Signature() override;
diff --git a/fxjs/xfa/cjx_signatureproperties.h b/fxjs/xfa/cjx_signatureproperties.h
index 6fd59cf03d..beb8744dd0 100644
--- a/fxjs/xfa/cjx_signatureproperties.h
+++ b/fxjs/xfa/cjx_signatureproperties.h
@@ -13,7 +13,7 @@
class CXFA_SignatureProperties;
/* Deprecated */
-class CJX_SignatureProperties : public CJX_Node {
+class CJX_SignatureProperties final : public CJX_Node {
public:
explicit CJX_SignatureProperties(CXFA_SignatureProperties* node);
~CJX_SignatureProperties() override;
diff --git a/fxjs/xfa/cjx_signaturepseudomodel.h b/fxjs/xfa/cjx_signaturepseudomodel.h
index 0184cba0fd..84a8751ad2 100644
--- a/fxjs/xfa/cjx_signaturepseudomodel.h
+++ b/fxjs/xfa/cjx_signaturepseudomodel.h
@@ -12,7 +12,7 @@
class CScript_SignaturePseudoModel;
-class CJX_SignaturePseudoModel : public CJX_Object {
+class CJX_SignaturePseudoModel final : public CJX_Object {
public:
explicit CJX_SignaturePseudoModel(CScript_SignaturePseudoModel* model);
~CJX_SignaturePseudoModel() override;
diff --git a/fxjs/xfa/cjx_signdata.h b/fxjs/xfa/cjx_signdata.h
index 8b688771ed..ee841bc390 100644
--- a/fxjs/xfa/cjx_signdata.h
+++ b/fxjs/xfa/cjx_signdata.h
@@ -12,7 +12,7 @@
class CXFA_SignData;
-class CJX_SignData : public CJX_Node {
+class CJX_SignData final : public CJX_Node {
public:
explicit CJX_SignData(CXFA_SignData* node);
~CJX_SignData() override;
diff --git a/fxjs/xfa/cjx_signing.h b/fxjs/xfa/cjx_signing.h
index 428e92b830..60e7739ba7 100644
--- a/fxjs/xfa/cjx_signing.h
+++ b/fxjs/xfa/cjx_signing.h
@@ -12,7 +12,7 @@
class CXFA_Signing;
-class CJX_Signing : public CJX_Node {
+class CJX_Signing final : public CJX_Node {
public:
explicit CJX_Signing(CXFA_Signing* node);
~CJX_Signing() override;
diff --git a/fxjs/xfa/cjx_soapaction.h b/fxjs/xfa/cjx_soapaction.h
index 3da3825d96..9523f5f42f 100644
--- a/fxjs/xfa/cjx_soapaction.h
+++ b/fxjs/xfa/cjx_soapaction.h
@@ -12,7 +12,7 @@
class CXFA_SoapAction;
-class CJX_SoapAction : public CJX_TextNode {
+class CJX_SoapAction final : public CJX_TextNode {
public:
explicit CJX_SoapAction(CXFA_SoapAction* node);
~CJX_SoapAction() override;
diff --git a/fxjs/xfa/cjx_soapaddress.h b/fxjs/xfa/cjx_soapaddress.h
index 14e7abf851..13137c143f 100644
--- a/fxjs/xfa/cjx_soapaddress.h
+++ b/fxjs/xfa/cjx_soapaddress.h
@@ -12,7 +12,7 @@
class CXFA_SoapAddress;
-class CJX_SoapAddress : public CJX_TextNode {
+class CJX_SoapAddress final : public CJX_TextNode {
public:
explicit CJX_SoapAddress(CXFA_SoapAddress* node);
~CJX_SoapAddress() override;
diff --git a/fxjs/xfa/cjx_solid.h b/fxjs/xfa/cjx_solid.h
index a6ecc7bd98..dab7ec3d65 100644
--- a/fxjs/xfa/cjx_solid.h
+++ b/fxjs/xfa/cjx_solid.h
@@ -12,7 +12,7 @@
class CXFA_Solid;
-class CJX_Solid : public CJX_Node {
+class CJX_Solid final : public CJX_Node {
public:
explicit CJX_Solid(CXFA_Solid* node);
~CJX_Solid() override;
diff --git a/fxjs/xfa/cjx_source.h b/fxjs/xfa/cjx_source.h
index 66e61f0618..32721fbb77 100644
--- a/fxjs/xfa/cjx_source.h
+++ b/fxjs/xfa/cjx_source.h
@@ -12,7 +12,7 @@
class CXFA_Source;
-class CJX_Source : public CJX_Node {
+class CJX_Source final : public CJX_Node {
public:
explicit CJX_Source(CXFA_Source* src);
~CJX_Source() override;
diff --git a/fxjs/xfa/cjx_sourceset.h b/fxjs/xfa/cjx_sourceset.h
index 32018a9c04..f72a048d89 100644
--- a/fxjs/xfa/cjx_sourceset.h
+++ b/fxjs/xfa/cjx_sourceset.h
@@ -12,7 +12,7 @@
class CXFA_SourceSet;
-class CJX_SourceSet : public CJX_Model {
+class CJX_SourceSet final : public CJX_Model {
public:
explicit CJX_SourceSet(CXFA_SourceSet* node);
~CJX_SourceSet() override;
diff --git a/fxjs/xfa/cjx_speak.h b/fxjs/xfa/cjx_speak.h
index 4e96b02a90..d5678a85f3 100644
--- a/fxjs/xfa/cjx_speak.h
+++ b/fxjs/xfa/cjx_speak.h
@@ -12,7 +12,7 @@
class CXFA_Speak;
-class CJX_Speak : public CJX_TextNode {
+class CJX_Speak final : public CJX_TextNode {
public:
explicit CJX_Speak(CXFA_Speak* node);
~CJX_Speak() override;
diff --git a/fxjs/xfa/cjx_stipple.h b/fxjs/xfa/cjx_stipple.h
index db3ba1d204..9b6f56da58 100644
--- a/fxjs/xfa/cjx_stipple.h
+++ b/fxjs/xfa/cjx_stipple.h
@@ -12,7 +12,7 @@
class CXFA_Stipple;
-class CJX_Stipple : public CJX_Node {
+class CJX_Stipple final : public CJX_Node {
public:
explicit CJX_Stipple(CXFA_Stipple* node);
~CJX_Stipple() override;
diff --git a/fxjs/xfa/cjx_subform.h b/fxjs/xfa/cjx_subform.h
index 2c2d19b9fb..67947d886b 100644
--- a/fxjs/xfa/cjx_subform.h
+++ b/fxjs/xfa/cjx_subform.h
@@ -12,7 +12,7 @@
class CXFA_Delta;
-class CJX_Subform : public CJX_Container {
+class CJX_Subform final : public CJX_Container {
public:
explicit CJX_Subform(CXFA_Node* container);
~CJX_Subform() override;
diff --git a/fxjs/xfa/cjx_subformset.h b/fxjs/xfa/cjx_subformset.h
index f45515614c..71bb43868f 100644
--- a/fxjs/xfa/cjx_subformset.h
+++ b/fxjs/xfa/cjx_subformset.h
@@ -12,7 +12,7 @@
class CXFA_SubformSet;
-class CJX_SubformSet : public CJX_Container {
+class CJX_SubformSet final : public CJX_Container {
public:
explicit CJX_SubformSet(CXFA_SubformSet* node);
~CJX_SubformSet() override;
diff --git a/fxjs/xfa/cjx_subjectdn.h b/fxjs/xfa/cjx_subjectdn.h
index 22b86b2e60..12e8e9a1d7 100644
--- a/fxjs/xfa/cjx_subjectdn.h
+++ b/fxjs/xfa/cjx_subjectdn.h
@@ -12,7 +12,7 @@
class CXFA_SubjectDN;
-class CJX_SubjectDN : public CJX_Node {
+class CJX_SubjectDN final : public CJX_Node {
public:
explicit CJX_SubjectDN(CXFA_SubjectDN* node);
~CJX_SubjectDN() override;
diff --git a/fxjs/xfa/cjx_subjectdns.h b/fxjs/xfa/cjx_subjectdns.h
index 1e3cd2296e..04af199ce8 100644
--- a/fxjs/xfa/cjx_subjectdns.h
+++ b/fxjs/xfa/cjx_subjectdns.h
@@ -12,7 +12,7 @@
class CXFA_SubjectDNs;
-class CJX_SubjectDNs : public CJX_Node {
+class CJX_SubjectDNs final : public CJX_Node {
public:
explicit CJX_SubjectDNs(CXFA_SubjectDNs* node);
~CJX_SubjectDNs() override;
diff --git a/fxjs/xfa/cjx_submit.h b/fxjs/xfa/cjx_submit.h
index 90aa8d2ac2..0ec0cf4fef 100644
--- a/fxjs/xfa/cjx_submit.h
+++ b/fxjs/xfa/cjx_submit.h
@@ -12,7 +12,7 @@
class CXFA_Submit;
-class CJX_Submit : public CJX_Node {
+class CJX_Submit final : public CJX_Node {
public:
explicit CJX_Submit(CXFA_Submit* node);
~CJX_Submit() override;
diff --git a/fxjs/xfa/cjx_template.h b/fxjs/xfa/cjx_template.h
index d54020df50..ccaf08474e 100644
--- a/fxjs/xfa/cjx_template.h
+++ b/fxjs/xfa/cjx_template.h
@@ -12,7 +12,7 @@
class CXFA_Template;
-class CJX_Template : public CJX_Model {
+class CJX_Template final : public CJX_Model {
public:
explicit CJX_Template(CXFA_Template* tmpl);
~CJX_Template() override;
diff --git a/fxjs/xfa/cjx_text.h b/fxjs/xfa/cjx_text.h
index a5c0e81bea..1a58b2418c 100644
--- a/fxjs/xfa/cjx_text.h
+++ b/fxjs/xfa/cjx_text.h
@@ -12,7 +12,7 @@
class CXFA_Text;
-class CJX_Text : public CJX_Content {
+class CJX_Text final : public CJX_Content {
public:
explicit CJX_Text(CXFA_Text* node);
~CJX_Text() override;
diff --git a/fxjs/xfa/cjx_textedit.h b/fxjs/xfa/cjx_textedit.h
index 1c41b9ee05..bc408d257d 100644
--- a/fxjs/xfa/cjx_textedit.h
+++ b/fxjs/xfa/cjx_textedit.h
@@ -12,7 +12,7 @@
class CXFA_TextEdit;
-class CJX_TextEdit : public CJX_Node {
+class CJX_TextEdit final : public CJX_Node {
public:
explicit CJX_TextEdit(CXFA_TextEdit* node);
~CJX_TextEdit() override;
diff --git a/fxjs/xfa/cjx_time.h b/fxjs/xfa/cjx_time.h
index 32e75cb068..000202978a 100644
--- a/fxjs/xfa/cjx_time.h
+++ b/fxjs/xfa/cjx_time.h
@@ -12,7 +12,7 @@
class CXFA_Time;
-class CJX_Time : public CJX_Content {
+class CJX_Time final : public CJX_Content {
public:
explicit CJX_Time(CXFA_Time* node);
~CJX_Time() override;
diff --git a/fxjs/xfa/cjx_timestamp.h b/fxjs/xfa/cjx_timestamp.h
index c8aab82d31..7183222d60 100644
--- a/fxjs/xfa/cjx_timestamp.h
+++ b/fxjs/xfa/cjx_timestamp.h
@@ -12,7 +12,7 @@
class CXFA_TimeStamp;
-class CJX_TimeStamp : public CJX_Node {
+class CJX_TimeStamp final : public CJX_Node {
public:
explicit CJX_TimeStamp(CXFA_TimeStamp* node);
~CJX_TimeStamp() override;
diff --git a/fxjs/xfa/cjx_tooltip.h b/fxjs/xfa/cjx_tooltip.h
index 51c21d82ac..08bcd43c9d 100644
--- a/fxjs/xfa/cjx_tooltip.h
+++ b/fxjs/xfa/cjx_tooltip.h
@@ -12,7 +12,7 @@
class CXFA_ToolTip;
-class CJX_ToolTip : public CJX_TextNode {
+class CJX_ToolTip final : public CJX_TextNode {
public:
explicit CJX_ToolTip(CXFA_ToolTip* node);
~CJX_ToolTip() override;
diff --git a/fxjs/xfa/cjx_traversal.h b/fxjs/xfa/cjx_traversal.h
index f7e12585eb..0872cf7ce9 100644
--- a/fxjs/xfa/cjx_traversal.h
+++ b/fxjs/xfa/cjx_traversal.h
@@ -12,7 +12,7 @@
class CXFA_Traversal;
-class CJX_Traversal : public CJX_Node {
+class CJX_Traversal final : public CJX_Node {
public:
explicit CJX_Traversal(CXFA_Traversal* node);
~CJX_Traversal() override;
diff --git a/fxjs/xfa/cjx_traverse.h b/fxjs/xfa/cjx_traverse.h
index d6f43afd40..aa573340ba 100644
--- a/fxjs/xfa/cjx_traverse.h
+++ b/fxjs/xfa/cjx_traverse.h
@@ -12,7 +12,7 @@
class CXFA_Traverse;
-class CJX_Traverse : public CJX_Node {
+class CJX_Traverse final : public CJX_Node {
public:
explicit CJX_Traverse(CXFA_Traverse* node);
~CJX_Traverse() override;
diff --git a/fxjs/xfa/cjx_treelist.h b/fxjs/xfa/cjx_treelist.h
index c6f2919592..729a6d5bd0 100644
--- a/fxjs/xfa/cjx_treelist.h
+++ b/fxjs/xfa/cjx_treelist.h
@@ -12,7 +12,7 @@
class CXFA_TreeList;
-class CJX_TreeList : public CJX_List {
+class CJX_TreeList final : public CJX_List {
public:
explicit CJX_TreeList(CXFA_TreeList* list);
~CJX_TreeList() override;
diff --git a/fxjs/xfa/cjx_ui.h b/fxjs/xfa/cjx_ui.h
index e63fa47fbe..4fb199049f 100644
--- a/fxjs/xfa/cjx_ui.h
+++ b/fxjs/xfa/cjx_ui.h
@@ -12,7 +12,7 @@
class CXFA_Ui;
-class CJX_Ui : public CJX_Node {
+class CJX_Ui final : public CJX_Node {
public:
explicit CJX_Ui(CXFA_Ui* node);
~CJX_Ui() override;
diff --git a/fxjs/xfa/cjx_update.h b/fxjs/xfa/cjx_update.h
index f603409ebb..09c6812beb 100644
--- a/fxjs/xfa/cjx_update.h
+++ b/fxjs/xfa/cjx_update.h
@@ -12,7 +12,7 @@
class CXFA_Update;
-class CJX_Update : public CJX_TextNode {
+class CJX_Update final : public CJX_TextNode {
public:
explicit CJX_Update(CXFA_Update* node);
~CJX_Update() override;
diff --git a/fxjs/xfa/cjx_uri.h b/fxjs/xfa/cjx_uri.h
index e7aa55f3a5..062dcf0fb7 100644
--- a/fxjs/xfa/cjx_uri.h
+++ b/fxjs/xfa/cjx_uri.h
@@ -12,7 +12,7 @@
class CXFA_Uri;
-class CJX_Uri : public CJX_TextNode {
+class CJX_Uri final : public CJX_TextNode {
public:
explicit CJX_Uri(CXFA_Uri* node);
~CJX_Uri() override;
diff --git a/fxjs/xfa/cjx_user.h b/fxjs/xfa/cjx_user.h
index 85b02715ac..b378960bd7 100644
--- a/fxjs/xfa/cjx_user.h
+++ b/fxjs/xfa/cjx_user.h
@@ -12,7 +12,7 @@
class CXFA_User;
-class CJX_User : public CJX_TextNode {
+class CJX_User final : public CJX_TextNode {
public:
explicit CJX_User(CXFA_User* node);
~CJX_User() override;
diff --git a/fxjs/xfa/cjx_validate.h b/fxjs/xfa/cjx_validate.h
index 62eb83caa3..ea3d45cbeb 100644
--- a/fxjs/xfa/cjx_validate.h
+++ b/fxjs/xfa/cjx_validate.h
@@ -12,7 +12,7 @@
class CXFA_Validate;
-class CJX_Validate : public CJX_Node {
+class CJX_Validate final : public CJX_Node {
public:
explicit CJX_Validate(CXFA_Validate* node);
~CJX_Validate() override;
diff --git a/fxjs/xfa/cjx_value.h b/fxjs/xfa/cjx_value.h
index 71984c3d1a..78ad2ed0eb 100644
--- a/fxjs/xfa/cjx_value.h
+++ b/fxjs/xfa/cjx_value.h
@@ -12,7 +12,7 @@
class CXFA_Value;
-class CJX_Value : public CJX_Node {
+class CJX_Value final : public CJX_Node {
public:
explicit CJX_Value(CXFA_Value* node);
~CJX_Value() override;
diff --git a/fxjs/xfa/cjx_variables.h b/fxjs/xfa/cjx_variables.h
index 302cd05807..c12e3ae9b8 100644
--- a/fxjs/xfa/cjx_variables.h
+++ b/fxjs/xfa/cjx_variables.h
@@ -12,7 +12,7 @@
class CXFA_Variables;
-class CJX_Variables : public CJX_Container {
+class CJX_Variables final : public CJX_Container {
public:
explicit CJX_Variables(CXFA_Variables* node);
~CJX_Variables() override;
diff --git a/fxjs/xfa/cjx_wsdladdress.h b/fxjs/xfa/cjx_wsdladdress.h
index cbe8e72ee9..5b6cda05c9 100644
--- a/fxjs/xfa/cjx_wsdladdress.h
+++ b/fxjs/xfa/cjx_wsdladdress.h
@@ -12,7 +12,7 @@
class CXFA_WsdlAddress;
-class CJX_WsdlAddress : public CJX_TextNode {
+class CJX_WsdlAddress final : public CJX_TextNode {
public:
explicit CJX_WsdlAddress(CXFA_WsdlAddress* node);
~CJX_WsdlAddress() override;
diff --git a/fxjs/xfa/cjx_wsdlconnection.h b/fxjs/xfa/cjx_wsdlconnection.h
index 346b9088ca..f5dc51b9cc 100644
--- a/fxjs/xfa/cjx_wsdlconnection.h
+++ b/fxjs/xfa/cjx_wsdlconnection.h
@@ -12,7 +12,7 @@
class CXFA_WsdlConnection;
-class CJX_WsdlConnection : public CJX_Node {
+class CJX_WsdlConnection final : public CJX_Node {
public:
explicit CJX_WsdlConnection(CXFA_WsdlConnection* connection);
~CJX_WsdlConnection() override;
diff --git a/fxjs/xfa/cjx_xfa.h b/fxjs/xfa/cjx_xfa.h
index 025e9a9d6b..39ee84f0a5 100644
--- a/fxjs/xfa/cjx_xfa.h
+++ b/fxjs/xfa/cjx_xfa.h
@@ -12,7 +12,7 @@
class CXFA_Xfa;
-class CJX_Xfa : public CJX_Model {
+class CJX_Xfa final : public CJX_Model {
public:
explicit CJX_Xfa(CXFA_Xfa* node);
~CJX_Xfa() override;
diff --git a/fxjs/xfa/cjx_xmlconnection.h b/fxjs/xfa/cjx_xmlconnection.h
index cb63e752b8..6ec2b412d1 100644
--- a/fxjs/xfa/cjx_xmlconnection.h
+++ b/fxjs/xfa/cjx_xmlconnection.h
@@ -12,7 +12,7 @@
class CXFA_XmlConnection;
-class CJX_XmlConnection : public CJX_Node {
+class CJX_XmlConnection final : public CJX_Node {
public:
explicit CJX_XmlConnection(CXFA_XmlConnection* node);
~CJX_XmlConnection() override;
diff --git a/fxjs/xfa/cjx_xsdconnection.h b/fxjs/xfa/cjx_xsdconnection.h
index ec5059a8e7..4cfe5191ed 100644
--- a/fxjs/xfa/cjx_xsdconnection.h
+++ b/fxjs/xfa/cjx_xsdconnection.h
@@ -12,7 +12,7 @@
class CXFA_XsdConnection;
-class CJX_XsdConnection : public CJX_Node {
+class CJX_XsdConnection final : public CJX_Node {
public:
explicit CJX_XsdConnection(CXFA_XsdConnection* node);
~CJX_XsdConnection() override;
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index e808d640f2..2e8487e2c2 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -135,7 +135,7 @@ Optional<std::string> ExpandDirectoryPath(const std::string& path) {
#endif // WORDEXP_AVAILABLE
}
-struct FPDF_FORMFILLINFO_PDFiumTest : public FPDF_FORMFILLINFO {
+struct FPDF_FORMFILLINFO_PDFiumTest final : public FPDF_FORMFILLINFO {
// Hold a map of the currently loaded pages in order to avoid them
// to get loaded twice.
std::map<int, ScopedFPDFPage> loaded_pages;
diff --git a/testing/embedder_test_main.cpp b/testing/embedder_test_main.cpp
index 0c3ceb60ce..92990bff28 100644
--- a/testing/embedder_test_main.cpp
+++ b/testing/embedder_test_main.cpp
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <memory>
#include <string>
#include "core/fxcrt/fx_memory.h"
@@ -28,7 +29,7 @@ v8::StartupData* g_v8_snapshot = nullptr;
// The loading time of the CFGAS_FontMgr is linear in the number of times it is
// loaded. So, if a test suite has a lot of tests that need a font manager they
// can end up executing very, very slowly.
-class Environment : public testing::Environment {
+class Environment final : public testing::Environment {
public:
void SetUp() override {
#ifdef PDF_ENABLE_V8
diff --git a/testing/embedder_test_mock_delegate.h b/testing/embedder_test_mock_delegate.h
index 4d43b5c0ec..c3f2820735 100644
--- a/testing/embedder_test_mock_delegate.h
+++ b/testing/embedder_test_mock_delegate.h
@@ -8,7 +8,7 @@
#include "testing/embedder_test.h"
#include "testing/gmock/include/gmock/gmock.h"
-class EmbedderTestMockDelegate : public EmbedderTest::Delegate {
+class EmbedderTestMockDelegate final : public EmbedderTest::Delegate {
public:
MOCK_METHOD1(UnsupportedHandler, void(int type));
MOCK_METHOD4(
diff --git a/testing/embedder_test_timer_handling_delegate.h b/testing/embedder_test_timer_handling_delegate.h
index 31966159eb..31ce1e205d 100644
--- a/testing/embedder_test_timer_handling_delegate.h
+++ b/testing/embedder_test_timer_handling_delegate.h
@@ -13,7 +13,7 @@
#include "testing/embedder_test.h"
#include "testing/test_support.h"
-class EmbedderTestTimerHandlingDelegate : public EmbedderTest::Delegate {
+class EmbedderTestTimerHandlingDelegate final : public EmbedderTest::Delegate {
public:
struct AlertRecord {
std::wstring message;
diff --git a/testing/fake_file_access.cpp b/testing/fake_file_access.cpp
index c69f278102..9e0e6db288 100644
--- a/testing/fake_file_access.cpp
+++ b/testing/fake_file_access.cpp
@@ -14,7 +14,7 @@
namespace {
-class FileAccessWrapper : public FPDF_FILEACCESS {
+class FileAccessWrapper final : public FPDF_FILEACCESS {
public:
explicit FileAccessWrapper(FakeFileAccess* simulator)
: simulator_(simulator) {
@@ -35,7 +35,7 @@ class FileAccessWrapper : public FPDF_FILEACCESS {
fxcrt::UnownedPtr<FakeFileAccess> simulator_;
};
-class FileAvailImpl : public FX_FILEAVAIL {
+class FileAvailImpl final : public FX_FILEAVAIL {
public:
explicit FileAvailImpl(FakeFileAccess* simulator) : simulator_(simulator) {
version = 1;
@@ -53,7 +53,7 @@ class FileAvailImpl : public FX_FILEAVAIL {
fxcrt::UnownedPtr<FakeFileAccess> simulator_;
};
-class DownloadHintsImpl : public FX_DOWNLOADHINTS {
+class DownloadHintsImpl final : public FX_DOWNLOADHINTS {
public:
explicit DownloadHintsImpl(FakeFileAccess* simulator)
: simulator_(simulator) {
diff --git a/testing/fuzzers/pdf_hint_table_fuzzer.cc b/testing/fuzzers/pdf_hint_table_fuzzer.cc
index 50ca5cd693..19b18ac5ed 100644
--- a/testing/fuzzers/pdf_hint_table_fuzzer.cc
+++ b/testing/fuzzers/pdf_hint_table_fuzzer.cc
@@ -22,7 +22,7 @@ int32_t GetData(const int32_t** data32, const uint8_t** data, size_t* size) {
return *ret;
}
-class HintTableForFuzzing : public CPDF_HintTables {
+class HintTableForFuzzing final : public CPDF_HintTables {
public:
HintTableForFuzzing(CPDF_LinearizedHeader* pLinearized,
int shared_hint_table_offset)
@@ -47,7 +47,7 @@ class HintTableForFuzzing : public CPDF_HintTables {
int shared_hint_table_offset_;
};
-class FakeLinearized : public CPDF_LinearizedHeader {
+class FakeLinearized final : public CPDF_LinearizedHeader {
public:
explicit FakeLinearized(CPDF_Dictionary* linearized_dict)
: CPDF_LinearizedHeader(linearized_dict, 0) {}
diff --git a/testing/fx_string_testhelpers.h b/testing/fx_string_testhelpers.h
index a828d825ab..e4ed78d3a4 100644
--- a/testing/fx_string_testhelpers.h
+++ b/testing/fx_string_testhelpers.h
@@ -14,7 +14,7 @@
// Output stream operator so GTEST macros work with CFX_DateTime objects.
std::ostream& operator<<(std::ostream& os, const CFX_DateTime& dt);
-class CFX_InvalidSeekableReadStream : public IFX_SeekableReadStream {
+class CFX_InvalidSeekableReadStream final : public IFX_SeekableReadStream {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/testing/string_write_stream.h b/testing/string_write_stream.h
index 7d28a8267d..a77e4f0c69 100644
--- a/testing/string_write_stream.h
+++ b/testing/string_write_stream.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/fx_stream.h"
-class StringWriteStream : public IFX_SeekableWriteStream {
+class StringWriteStream final : public IFX_SeekableWriteStream {
public:
StringWriteStream();
~StringWriteStream() override;
diff --git a/testing/unit_test_main.cpp b/testing/unit_test_main.cpp
index 70eb51a3a1..2bc14b9ba4 100644
--- a/testing/unit_test_main.cpp
+++ b/testing/unit_test_main.cpp
@@ -26,7 +26,7 @@ namespace {
// The loading time of the CFGAS_FontMgr is linear in the number of times it is
// loaded. So, if a test suite has a lot of tests that need a font manager they
// can end up executing very, very slowly.
-class Environment : public testing::Environment {
+class Environment final : public testing::Environment {
public:
void SetUp() override {
// TODO(dsinclair): This font loading is slow. We should make a test font
diff --git a/xfa/fde/cfde_texteditengine.cpp b/xfa/fde/cfde_texteditengine.cpp
index ce9d0a576c..cd6681fd21 100644
--- a/xfa/fde/cfde_texteditengine.cpp
+++ b/xfa/fde/cfde_texteditengine.cpp
@@ -19,7 +19,7 @@ constexpr size_t kMaxEditOperations = 128;
constexpr size_t kGapSize = 128;
constexpr size_t kPageWidthMax = 0xffff;
-class InsertOperation : public CFDE_TextEditEngine::Operation {
+class InsertOperation final : public CFDE_TextEditEngine::Operation {
public:
InsertOperation(CFDE_TextEditEngine* engine,
size_t start_idx,
@@ -44,7 +44,7 @@ class InsertOperation : public CFDE_TextEditEngine::Operation {
WideString added_text_;
};
-class DeleteOperation : public CFDE_TextEditEngine::Operation {
+class DeleteOperation final : public CFDE_TextEditEngine::Operation {
public:
DeleteOperation(CFDE_TextEditEngine* engine,
size_t start_idx,
@@ -69,7 +69,7 @@ class DeleteOperation : public CFDE_TextEditEngine::Operation {
WideString removed_text_;
};
-class ReplaceOperation : public CFDE_TextEditEngine::Operation {
+class ReplaceOperation final : public CFDE_TextEditEngine::Operation {
public:
ReplaceOperation(CFDE_TextEditEngine* engine,
size_t start_idx,
diff --git a/xfa/fde/cfde_texteditengine_unittest.cpp b/xfa/fde/cfde_texteditengine_unittest.cpp
index c5efe529e6..1de54ffdcd 100644
--- a/xfa/fde/cfde_texteditengine_unittest.cpp
+++ b/xfa/fde/cfde_texteditengine_unittest.cpp
@@ -11,7 +11,7 @@
class CFDE_TextEditEngineTest : public testing::Test {
public:
- class Delegate : public CFDE_TextEditEngine::Delegate {
+ class Delegate final : public CFDE_TextEditEngine::Delegate {
public:
void Reset() {
text_is_full = false;
diff --git a/xfa/fgas/font/cfgas_fontmgr.h b/xfa/fgas/font/cfgas_fontmgr.h
index 72578be744..6dda338a83 100644
--- a/xfa/fgas/font/cfgas_fontmgr.h
+++ b/xfa/fgas/font/cfgas_fontmgr.h
@@ -121,7 +121,7 @@ class CFX_FontSourceEnum_File {
#endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
-class CFGAS_FontMgr : public Observable<CFGAS_FontMgr> {
+class CFGAS_FontMgr final : public Observable<CFGAS_FontMgr> {
public:
CFGAS_FontMgr();
~CFGAS_FontMgr();
diff --git a/xfa/fgas/font/cfgas_gefont.h b/xfa/fgas/font/cfgas_gefont.h
index bc24cebe47..685fa68200 100644
--- a/xfa/fgas/font/cfgas_gefont.h
+++ b/xfa/fgas/font/cfgas_gefont.h
@@ -20,7 +20,7 @@
class CFX_UnicodeEncoding;
-class CFGAS_GEFont : public Retainable {
+class CFGAS_GEFont final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/xfa/fgas/font/cfgas_pdffontmgr.h b/xfa/fgas/font/cfgas_pdffontmgr.h
index 235f883ce7..6c4242288a 100644
--- a/xfa/fgas/font/cfgas_pdffontmgr.h
+++ b/xfa/fgas/font/cfgas_pdffontmgr.h
@@ -19,7 +19,7 @@ class CFGAS_FontMgr;
class CFGAS_GEFont;
class CPDF_Document;
-class CFGAS_PDFFontMgr : public Observable<CFGAS_PDFFontMgr> {
+class CFGAS_PDFFontMgr final : public Observable<CFGAS_PDFFontMgr> {
public:
explicit CFGAS_PDFFontMgr(CPDF_Document* pDoc, CFGAS_FontMgr* pFontMgr);
~CFGAS_PDFFontMgr();
diff --git a/xfa/fgas/layout/cfx_rtfbreak.h b/xfa/fgas/layout/cfx_rtfbreak.h
index c2320fab7f..ac29ef5e70 100644
--- a/xfa/fgas/layout/cfx_rtfbreak.h
+++ b/xfa/fgas/layout/cfx_rtfbreak.h
@@ -43,7 +43,7 @@ struct FX_RTFTEXTOBJ {
int32_t iVerticalScale;
};
-class CFX_RTFBreak : public CFX_Break {
+class CFX_RTFBreak final : public CFX_Break {
public:
explicit CFX_RTFBreak(uint32_t dwLayoutStyles);
~CFX_RTFBreak() override;
diff --git a/xfa/fgas/layout/cfx_txtbreak.h b/xfa/fgas/layout/cfx_txtbreak.h
index 250f5820b1..47c6440dd8 100644
--- a/xfa/fgas/layout/cfx_txtbreak.h
+++ b/xfa/fgas/layout/cfx_txtbreak.h
@@ -54,7 +54,7 @@ struct FX_TXTRUN {
bool bSkipSpace;
};
-class CFX_TxtBreak : public CFX_Break {
+class CFX_TxtBreak final : public CFX_Break {
public:
CFX_TxtBreak();
~CFX_TxtBreak() override;
diff --git a/xfa/fwl/cfwl_barcode.h b/xfa/fwl/cfwl_barcode.h
index a4991d4cf7..cd36cc3e41 100644
--- a/xfa/fwl/cfwl_barcode.h
+++ b/xfa/fwl/cfwl_barcode.h
@@ -36,7 +36,7 @@ enum FWL_BCDAttribute {
FWL_BCDATTRIBUTE_ECLEVEL = 1 << 10,
};
-class CFWL_Barcode : public CFWL_Edit {
+class CFWL_Barcode final : public CFWL_Edit {
public:
explicit CFWL_Barcode(const CFWL_App* pApp);
~CFWL_Barcode() override;
diff --git a/xfa/fwl/cfwl_caret.h b/xfa/fwl/cfwl_caret.h
index 90d62d6e9b..88bec752cc 100644
--- a/xfa/fwl/cfwl_caret.h
+++ b/xfa/fwl/cfwl_caret.h
@@ -16,7 +16,7 @@
class CFWL_WidgetProperties;
class CFWL_Widget;
-class CFWL_Caret : public CFWL_Widget {
+class CFWL_Caret final : public CFWL_Widget {
public:
CFWL_Caret(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
@@ -35,7 +35,7 @@ class CFWL_Caret : public CFWL_Widget {
void HideCaret();
private:
- class Timer : public CFWL_Timer {
+ class Timer final : public CFWL_Timer {
public:
explicit Timer(CFWL_Caret* pCaret);
~Timer() override {}
diff --git a/xfa/fwl/cfwl_checkbox.h b/xfa/fwl/cfwl_checkbox.h
index 9ae6590b2f..f2413aaca7 100644
--- a/xfa/fwl/cfwl_checkbox.h
+++ b/xfa/fwl/cfwl_checkbox.h
@@ -33,7 +33,7 @@ class CFWL_MessageMouse;
class CFWL_WidgetProperties;
class CFWL_Widget;
-class CFWL_CheckBox : public CFWL_Widget {
+class CFWL_CheckBox final : public CFWL_Widget {
public:
explicit CFWL_CheckBox(const CFWL_App* pApp);
~CFWL_CheckBox() override;
diff --git a/xfa/fwl/cfwl_combobox.h b/xfa/fwl/cfwl_combobox.h
index a5ea2d0876..f247d93ddb 100644
--- a/xfa/fwl/cfwl_combobox.h
+++ b/xfa/fwl/cfwl_combobox.h
@@ -36,7 +36,7 @@ class CFWL_Widget;
#define FWL_STYLEEXT_CMB_ListItemAlignMask (3L << 10)
#define FWL_STYLEEXT_CMB_ReadOnly (1L << 13)
-class CFWL_ComboBox : public CFWL_Widget {
+class CFWL_ComboBox final : public CFWL_Widget {
public:
explicit CFWL_ComboBox(const CFWL_App* pApp);
~CFWL_ComboBox() override;
diff --git a/xfa/fwl/cfwl_comboedit.h b/xfa/fwl/cfwl_comboedit.h
index efdabd3669..daaa8a95cb 100644
--- a/xfa/fwl/cfwl_comboedit.h
+++ b/xfa/fwl/cfwl_comboedit.h
@@ -15,7 +15,7 @@
class CFWL_ComboBox;
-class CFWL_ComboEdit : public CFWL_Edit {
+class CFWL_ComboEdit final : public CFWL_Edit {
public:
CFWL_ComboEdit(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_combolist.h b/xfa/fwl/cfwl_combolist.h
index a4d513559e..0444a93c21 100644
--- a/xfa/fwl/cfwl_combolist.h
+++ b/xfa/fwl/cfwl_combolist.h
@@ -13,7 +13,7 @@
#include "xfa/fwl/cfwl_widget.h"
#include "xfa/fwl/cfwl_widgetproperties.h"
-class CFWL_ComboList : public CFWL_ListBox {
+class CFWL_ComboList final : public CFWL_ListBox {
public:
CFWL_ComboList(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_datetimeedit.h b/xfa/fwl/cfwl_datetimeedit.h
index dcbebd2027..cc80b9e8ba 100644
--- a/xfa/fwl/cfwl_datetimeedit.h
+++ b/xfa/fwl/cfwl_datetimeedit.h
@@ -13,7 +13,7 @@
#include "xfa/fwl/cfwl_widget.h"
#include "xfa/fwl/cfwl_widgetproperties.h"
-class CFWL_DateTimeEdit : public CFWL_Edit {
+class CFWL_DateTimeEdit final : public CFWL_Edit {
public:
CFWL_DateTimeEdit(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_datetimepicker.h b/xfa/fwl/cfwl_datetimepicker.h
index f80f09d1bf..8e05ddecb1 100644
--- a/xfa/fwl/cfwl_datetimepicker.h
+++ b/xfa/fwl/cfwl_datetimepicker.h
@@ -30,7 +30,7 @@
class CFWL_DateTimeEdit;
-class CFWL_DateTimePicker : public CFWL_Widget {
+class CFWL_DateTimePicker final : public CFWL_Widget {
public:
explicit CFWL_DateTimePicker(const CFWL_App* pApp);
~CFWL_DateTimePicker() override;
diff --git a/xfa/fwl/cfwl_eventmouse.h b/xfa/fwl/cfwl_eventmouse.h
index a5caa93959..170f39af4e 100644
--- a/xfa/fwl/cfwl_eventmouse.h
+++ b/xfa/fwl/cfwl_eventmouse.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventMouse : public CFWL_Event {
+class CFWL_EventMouse final : public CFWL_Event {
public:
explicit CFWL_EventMouse(CFWL_Widget* pSrcTarget);
CFWL_EventMouse(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
diff --git a/xfa/fwl/cfwl_eventscroll.h b/xfa/fwl/cfwl_eventscroll.h
index a13eeef020..0491ad71ea 100644
--- a/xfa/fwl/cfwl_eventscroll.h
+++ b/xfa/fwl/cfwl_eventscroll.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventScroll : public CFWL_Event {
+class CFWL_EventScroll final : public CFWL_Event {
public:
enum class Code {
None = 1,
diff --git a/xfa/fwl/cfwl_eventselectchanged.h b/xfa/fwl/cfwl_eventselectchanged.h
index 30f1e2d5c7..176cb8713b 100644
--- a/xfa/fwl/cfwl_eventselectchanged.h
+++ b/xfa/fwl/cfwl_eventselectchanged.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventSelectChanged : public CFWL_Event {
+class CFWL_EventSelectChanged final : public CFWL_Event {
public:
explicit CFWL_EventSelectChanged(CFWL_Widget* pSrcTarget);
~CFWL_EventSelectChanged() override;
diff --git a/xfa/fwl/cfwl_eventtextwillchange.h b/xfa/fwl/cfwl_eventtextwillchange.h
index 4b2781f0d1..a1bfe8cdec 100644
--- a/xfa/fwl/cfwl_eventtextwillchange.h
+++ b/xfa/fwl/cfwl_eventtextwillchange.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventTextWillChange : public CFWL_Event {
+class CFWL_EventTextWillChange final : public CFWL_Event {
public:
explicit CFWL_EventTextWillChange(CFWL_Widget* pSrcTarget);
~CFWL_EventTextWillChange() override;
diff --git a/xfa/fwl/cfwl_eventvalidate.h b/xfa/fwl/cfwl_eventvalidate.h
index b8feff1120..7d88b97bb5 100644
--- a/xfa/fwl/cfwl_eventvalidate.h
+++ b/xfa/fwl/cfwl_eventvalidate.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/cfwl_event.h"
-class CFWL_EventValidate : public CFWL_Event {
+class CFWL_EventValidate final : public CFWL_Event {
public:
explicit CFWL_EventValidate(CFWL_Widget* pSrcTarget);
~CFWL_EventValidate() override;
diff --git a/xfa/fwl/cfwl_form.h b/xfa/fwl/cfwl_form.h
index 01ae9be5c0..4e13001283 100644
--- a/xfa/fwl/cfwl_form.h
+++ b/xfa/fwl/cfwl_form.h
@@ -20,7 +20,7 @@ class CFWL_NoteLoop;
class CFWL_Widget;
class IFWL_ThemeProvider;
-class CFWL_Form : public CFWL_Widget {
+class CFWL_Form final : public CFWL_Widget {
public:
CFWL_Form(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_messagekey.h b/xfa/fwl/cfwl_messagekey.h
index bf430d3ba5..183577470d 100644
--- a/xfa/fwl/cfwl_messagekey.h
+++ b/xfa/fwl/cfwl_messagekey.h
@@ -13,7 +13,7 @@
enum class FWL_KeyCommand { KeyDown, KeyUp, Char };
-class CFWL_MessageKey : public CFWL_Message {
+class CFWL_MessageKey final : public CFWL_Message {
public:
CFWL_MessageKey(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
~CFWL_MessageKey() override;
diff --git a/xfa/fwl/cfwl_messagekillfocus.h b/xfa/fwl/cfwl_messagekillfocus.h
index 79aaebed6c..56cfc399b5 100644
--- a/xfa/fwl/cfwl_messagekillfocus.h
+++ b/xfa/fwl/cfwl_messagekillfocus.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "xfa/fwl/cfwl_message.h"
-class CFWL_MessageKillFocus : public CFWL_Message {
+class CFWL_MessageKillFocus final : public CFWL_Message {
public:
explicit CFWL_MessageKillFocus(CFWL_Widget* pSrcTarget);
CFWL_MessageKillFocus(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
diff --git a/xfa/fwl/cfwl_messagemouse.h b/xfa/fwl/cfwl_messagemouse.h
index a2b0d39ae0..ae9711f17c 100644
--- a/xfa/fwl/cfwl_messagemouse.h
+++ b/xfa/fwl/cfwl_messagemouse.h
@@ -25,7 +25,7 @@ enum class FWL_MouseCommand {
Hover
};
-class CFWL_MessageMouse : public CFWL_Message {
+class CFWL_MessageMouse final : public CFWL_Message {
public:
CFWL_MessageMouse(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
CFWL_MessageMouse(const CFWL_MessageMouse& other);
diff --git a/xfa/fwl/cfwl_messagemousewheel.h b/xfa/fwl/cfwl_messagemousewheel.h
index f969b9a8f3..8fc3a63327 100644
--- a/xfa/fwl/cfwl_messagemousewheel.h
+++ b/xfa/fwl/cfwl_messagemousewheel.h
@@ -12,7 +12,7 @@
#include "core/fxcrt/fx_coordinates.h"
#include "xfa/fwl/cfwl_message.h"
-class CFWL_MessageMouseWheel : public CFWL_Message {
+class CFWL_MessageMouseWheel final : public CFWL_Message {
public:
CFWL_MessageMouseWheel(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
CFWL_MessageMouseWheel(const CFWL_MessageMouseWheel&);
diff --git a/xfa/fwl/cfwl_messagesetfocus.h b/xfa/fwl/cfwl_messagesetfocus.h
index 05616fbe2e..b9f0f0fb27 100644
--- a/xfa/fwl/cfwl_messagesetfocus.h
+++ b/xfa/fwl/cfwl_messagesetfocus.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/cfwl_message.h"
-class CFWL_MessageSetFocus : public CFWL_Message {
+class CFWL_MessageSetFocus final : public CFWL_Message {
public:
CFWL_MessageSetFocus(CFWL_Widget* pSrcTarget, CFWL_Widget* pDstTarget);
~CFWL_MessageSetFocus() override;
diff --git a/xfa/fwl/cfwl_monthcalendar.h b/xfa/fwl/cfwl_monthcalendar.h
index bdf66a0b5c..1bb0bd27bc 100644
--- a/xfa/fwl/cfwl_monthcalendar.h
+++ b/xfa/fwl/cfwl_monthcalendar.h
@@ -20,7 +20,7 @@
class CFWL_MessageMouse;
-class CFWL_MonthCalendar : public CFWL_Widget {
+class CFWL_MonthCalendar final : public CFWL_Widget {
public:
CFWL_MonthCalendar(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
diff --git a/xfa/fwl/cfwl_picturebox.h b/xfa/fwl/cfwl_picturebox.h
index 363db8a291..3823a5990b 100644
--- a/xfa/fwl/cfwl_picturebox.h
+++ b/xfa/fwl/cfwl_picturebox.h
@@ -15,7 +15,7 @@
class CFX_DIBitmap;
class CFWL_Widget;
-class CFWL_PictureBox : public CFWL_Widget {
+class CFWL_PictureBox final : public CFWL_Widget {
public:
explicit CFWL_PictureBox(const CFWL_App* pApp);
~CFWL_PictureBox() override;
diff --git a/xfa/fwl/cfwl_pushbutton.h b/xfa/fwl/cfwl_pushbutton.h
index 5c509fb503..275f9b5ea3 100644
--- a/xfa/fwl/cfwl_pushbutton.h
+++ b/xfa/fwl/cfwl_pushbutton.h
@@ -19,7 +19,7 @@ class CFWL_MessageMouse;
class CFX_DIBitmap;
class CFWL_Widget;
-class CFWL_PushButton : public CFWL_Widget {
+class CFWL_PushButton final : public CFWL_Widget {
public:
explicit CFWL_PushButton(const CFWL_App*);
~CFWL_PushButton() override;
diff --git a/xfa/fwl/cfwl_scrollbar.h b/xfa/fwl/cfwl_scrollbar.h
index de394ed96d..fc5248fbf7 100644
--- a/xfa/fwl/cfwl_scrollbar.h
+++ b/xfa/fwl/cfwl_scrollbar.h
@@ -21,7 +21,7 @@ class CFWL_Widget;
#define FWL_STYLEEXT_SCB_Horz (0L << 0)
#define FWL_STYLEEXT_SCB_Vert (1L << 0)
-class CFWL_ScrollBar : public CFWL_Widget {
+class CFWL_ScrollBar final : public CFWL_Widget {
public:
CFWL_ScrollBar(const CFWL_App* app,
std::unique_ptr<CFWL_WidgetProperties> properties,
@@ -55,7 +55,7 @@ class CFWL_ScrollBar : public CFWL_Widget {
void SetTrackPos(float fTrackPos);
private:
- class Timer : public CFWL_Timer {
+ class Timer final : public CFWL_Timer {
public:
explicit Timer(CFWL_ScrollBar* pToolTip);
~Timer() override {}
diff --git a/xfa/fwl/cfwl_themebackground.h b/xfa/fwl/cfwl_themebackground.h
index 37103ae01a..46df73c8bf 100644
--- a/xfa/fwl/cfwl_themebackground.h
+++ b/xfa/fwl/cfwl_themebackground.h
@@ -13,7 +13,7 @@
class CXFA_Graphics;
class CXFA_GEPath;
-class CFWL_ThemeBackground : public CFWL_ThemePart {
+class CFWL_ThemeBackground final : public CFWL_ThemePart {
public:
CFWL_ThemeBackground();
~CFWL_ThemeBackground();
diff --git a/xfa/fwl/cfwl_themetext.h b/xfa/fwl/cfwl_themetext.h
index 91a3f385df..a63b8bf040 100644
--- a/xfa/fwl/cfwl_themetext.h
+++ b/xfa/fwl/cfwl_themetext.h
@@ -11,7 +11,7 @@
#include "core/fxcrt/fx_system.h"
#include "xfa/fwl/cfwl_themepart.h"
-class CFWL_ThemeText : public CFWL_ThemePart {
+class CFWL_ThemeText final : public CFWL_ThemePart {
public:
CFWL_ThemeText() : m_pGraphics(nullptr) {}
diff --git a/xfa/fwl/theme/cfwl_barcodetp.h b/xfa/fwl/theme/cfwl_barcodetp.h
index 42b41e7d42..3fb9d3d9fd 100644
--- a/xfa/fwl/theme/cfwl_barcodetp.h
+++ b/xfa/fwl/theme/cfwl_barcodetp.h
@@ -10,7 +10,7 @@
#include "xfa/fwl/theme/cfwl_utils.h"
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_BarcodeTP : public CFWL_WidgetTP {
+class CFWL_BarcodeTP final : public CFWL_WidgetTP {
public:
CFWL_BarcodeTP();
~CFWL_BarcodeTP() override;
diff --git a/xfa/fwl/theme/cfwl_carettp.h b/xfa/fwl/theme/cfwl_carettp.h
index 64bf51b20a..a71afc935f 100644
--- a/xfa/fwl/theme/cfwl_carettp.h
+++ b/xfa/fwl/theme/cfwl_carettp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_CaretTP : public CFWL_WidgetTP {
+class CFWL_CaretTP final : public CFWL_WidgetTP {
public:
CFWL_CaretTP();
~CFWL_CaretTP() override;
diff --git a/xfa/fwl/theme/cfwl_checkboxtp.h b/xfa/fwl/theme/cfwl_checkboxtp.h
index c4341edf60..fa06c7ec0e 100644
--- a/xfa/fwl/theme/cfwl_checkboxtp.h
+++ b/xfa/fwl/theme/cfwl_checkboxtp.h
@@ -12,7 +12,7 @@
#include "xfa/fwl/theme/cfwl_utils.h"
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_CheckBoxTP : public CFWL_WidgetTP {
+class CFWL_CheckBoxTP final : public CFWL_WidgetTP {
public:
CFWL_CheckBoxTP();
~CFWL_CheckBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_comboboxtp.h b/xfa/fwl/theme/cfwl_comboboxtp.h
index 183d3a0743..dd8311c8a1 100644
--- a/xfa/fwl/theme/cfwl_comboboxtp.h
+++ b/xfa/fwl/theme/cfwl_comboboxtp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_ComboBoxTP : public CFWL_WidgetTP {
+class CFWL_ComboBoxTP final : public CFWL_WidgetTP {
public:
CFWL_ComboBoxTP();
~CFWL_ComboBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_datetimepickertp.h b/xfa/fwl/theme/cfwl_datetimepickertp.h
index 11536a390c..5a548511cf 100644
--- a/xfa/fwl/theme/cfwl_datetimepickertp.h
+++ b/xfa/fwl/theme/cfwl_datetimepickertp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_DateTimePickerTP : public CFWL_WidgetTP {
+class CFWL_DateTimePickerTP final : public CFWL_WidgetTP {
public:
CFWL_DateTimePickerTP();
~CFWL_DateTimePickerTP() override;
diff --git a/xfa/fwl/theme/cfwl_edittp.h b/xfa/fwl/theme/cfwl_edittp.h
index e1c6ac9242..7d005602e6 100644
--- a/xfa/fwl/theme/cfwl_edittp.h
+++ b/xfa/fwl/theme/cfwl_edittp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_EditTP : public CFWL_WidgetTP {
+class CFWL_EditTP final : public CFWL_WidgetTP {
public:
CFWL_EditTP();
~CFWL_EditTP() override;
diff --git a/xfa/fwl/theme/cfwl_listboxtp.h b/xfa/fwl/theme/cfwl_listboxtp.h
index cc4691cce0..95ce01c441 100644
--- a/xfa/fwl/theme/cfwl_listboxtp.h
+++ b/xfa/fwl/theme/cfwl_listboxtp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_ListBoxTP : public CFWL_WidgetTP {
+class CFWL_ListBoxTP final : public CFWL_WidgetTP {
public:
CFWL_ListBoxTP();
~CFWL_ListBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_monthcalendartp.h b/xfa/fwl/theme/cfwl_monthcalendartp.h
index 6a1b9be360..95e2a190b7 100644
--- a/xfa/fwl/theme/cfwl_monthcalendartp.h
+++ b/xfa/fwl/theme/cfwl_monthcalendartp.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_MonthCalendarTP : public CFWL_WidgetTP {
+class CFWL_MonthCalendarTP final : public CFWL_WidgetTP {
public:
CFWL_MonthCalendarTP();
~CFWL_MonthCalendarTP() override;
diff --git a/xfa/fwl/theme/cfwl_pictureboxtp.h b/xfa/fwl/theme/cfwl_pictureboxtp.h
index 4a118f21f8..1bb3486c44 100644
--- a/xfa/fwl/theme/cfwl_pictureboxtp.h
+++ b/xfa/fwl/theme/cfwl_pictureboxtp.h
@@ -9,7 +9,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_PictureBoxTP : public CFWL_WidgetTP {
+class CFWL_PictureBoxTP final : public CFWL_WidgetTP {
public:
CFWL_PictureBoxTP();
~CFWL_PictureBoxTP() override;
diff --git a/xfa/fwl/theme/cfwl_pushbuttontp.h b/xfa/fwl/theme/cfwl_pushbuttontp.h
index b2372bb066..2e1782a1b5 100644
--- a/xfa/fwl/theme/cfwl_pushbuttontp.h
+++ b/xfa/fwl/theme/cfwl_pushbuttontp.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_PushButtonTP : public CFWL_WidgetTP {
+class CFWL_PushButtonTP final : public CFWL_WidgetTP {
public:
CFWL_PushButtonTP();
~CFWL_PushButtonTP() override;
diff --git a/xfa/fwl/theme/cfwl_scrollbartp.h b/xfa/fwl/theme/cfwl_scrollbartp.h
index 8398706458..53cbb38d83 100644
--- a/xfa/fwl/theme/cfwl_scrollbartp.h
+++ b/xfa/fwl/theme/cfwl_scrollbartp.h
@@ -11,7 +11,7 @@
#include "xfa/fwl/theme/cfwl_widgettp.h"
-class CFWL_ScrollBarTP : public CFWL_WidgetTP {
+class CFWL_ScrollBarTP final : public CFWL_WidgetTP {
public:
CFWL_ScrollBarTP();
~CFWL_ScrollBarTP() override;
diff --git a/xfa/fxfa/cxfa_ffarc.h b/xfa/fxfa/cxfa_ffarc.h
index 8e8b292500..908ba0ad39 100644
--- a/xfa/fxfa/cxfa_ffarc.h
+++ b/xfa/fxfa/cxfa_ffarc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFArc : public CXFA_FFWidget {
+class CXFA_FFArc final : public CXFA_FFWidget {
public:
explicit CXFA_FFArc(CXFA_Node* pnode);
~CXFA_FFArc() override;
diff --git a/xfa/fxfa/cxfa_ffbarcode.h b/xfa/fxfa/cxfa_ffbarcode.h
index 672f89c316..5b550622d9 100644
--- a/xfa/fxfa/cxfa_ffbarcode.h
+++ b/xfa/fxfa/cxfa_ffbarcode.h
@@ -86,7 +86,7 @@ struct BarCodeInfo {
class CXFA_Barcode;
-class CXFA_FFBarcode : public CXFA_FFTextEdit {
+class CXFA_FFBarcode final : public CXFA_FFTextEdit {
public:
static const BarCodeInfo* GetBarcodeTypeByName(const WideString& wsName);
diff --git a/xfa/fxfa/cxfa_ffcheckbutton.h b/xfa/fxfa/cxfa_ffcheckbutton.h
index 0bbec75ee5..0d34cf9895 100644
--- a/xfa/fxfa/cxfa_ffcheckbutton.h
+++ b/xfa/fxfa/cxfa_ffcheckbutton.h
@@ -14,7 +14,7 @@
class CXFA_CheckButton;
-class CXFA_FFCheckButton : public CXFA_FFField {
+class CXFA_FFCheckButton final : public CXFA_FFField {
public:
CXFA_FFCheckButton(CXFA_Node* pNode, CXFA_CheckButton* button);
~CXFA_FFCheckButton() override;
diff --git a/xfa/fxfa/cxfa_ffcombobox.h b/xfa/fxfa/cxfa_ffcombobox.h
index ed68df0358..9ed8c40615 100644
--- a/xfa/fxfa/cxfa_ffcombobox.h
+++ b/xfa/fxfa/cxfa_ffcombobox.h
@@ -12,7 +12,7 @@
class CXFA_EventParam;
-class CXFA_FFComboBox : public CXFA_FFDropDown {
+class CXFA_FFComboBox final : public CXFA_FFDropDown {
public:
explicit CXFA_FFComboBox(CXFA_Node* pNode);
~CXFA_FFComboBox() override;
diff --git a/xfa/fxfa/cxfa_ffdatetimeedit.h b/xfa/fxfa/cxfa_ffdatetimeedit.h
index 3a60adabf0..64a6ef005b 100644
--- a/xfa/fxfa/cxfa_ffdatetimeedit.h
+++ b/xfa/fxfa/cxfa_ffdatetimeedit.h
@@ -20,7 +20,7 @@ class CFWL_DateTimePicker;
class CFWL_Event;
class CFWL_Widget;
-class CXFA_FFDateTimeEdit : public CXFA_FFTextEdit {
+class CXFA_FFDateTimeEdit final : public CXFA_FFTextEdit {
public:
explicit CXFA_FFDateTimeEdit(CXFA_Node* pNode);
~CXFA_FFDateTimeEdit() override;
diff --git a/xfa/fxfa/cxfa_ffexclgroup.h b/xfa/fxfa/cxfa_ffexclgroup.h
index b90430175f..7b16248d6a 100644
--- a/xfa/fxfa/cxfa_ffexclgroup.h
+++ b/xfa/fxfa/cxfa_ffexclgroup.h
@@ -10,7 +10,7 @@
#include "xfa/fxfa/cxfa_ffpageview.h"
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFExclGroup : public CXFA_FFWidget {
+class CXFA_FFExclGroup final : public CXFA_FFWidget {
public:
explicit CXFA_FFExclGroup(CXFA_Node* pNode);
~CXFA_FFExclGroup() override;
diff --git a/xfa/fxfa/cxfa_ffimage.h b/xfa/fxfa/cxfa_ffimage.h
index 7859f106ba..655c679ff1 100644
--- a/xfa/fxfa/cxfa_ffimage.h
+++ b/xfa/fxfa/cxfa_ffimage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFImage : public CXFA_FFWidget {
+class CXFA_FFImage final : public CXFA_FFWidget {
public:
explicit CXFA_FFImage(CXFA_Node* pNode);
~CXFA_FFImage() override;
diff --git a/xfa/fxfa/cxfa_ffimageedit.h b/xfa/fxfa/cxfa_ffimageedit.h
index c2fd7f7f62..03394485e6 100644
--- a/xfa/fxfa/cxfa_ffimageedit.h
+++ b/xfa/fxfa/cxfa_ffimageedit.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "xfa/fxfa/cxfa_fffield.h"
-class CXFA_FFImageEdit : public CXFA_FFField {
+class CXFA_FFImageEdit final : public CXFA_FFField {
public:
explicit CXFA_FFImageEdit(CXFA_Node* pNode);
~CXFA_FFImageEdit() override;
diff --git a/xfa/fxfa/cxfa_ffline.h b/xfa/fxfa/cxfa_ffline.h
index ff8d46134e..f5c82470b7 100644
--- a/xfa/fxfa/cxfa_ffline.h
+++ b/xfa/fxfa/cxfa_ffline.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFLine : public CXFA_FFWidget {
+class CXFA_FFLine final : public CXFA_FFWidget {
public:
explicit CXFA_FFLine(CXFA_Node* pNode);
~CXFA_FFLine() override;
diff --git a/xfa/fxfa/cxfa_fflistbox.h b/xfa/fxfa/cxfa_fflistbox.h
index 4b12b5924d..d65dd8f836 100644
--- a/xfa/fxfa/cxfa_fflistbox.h
+++ b/xfa/fxfa/cxfa_fflistbox.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/unowned_ptr.h"
#include "xfa/fxfa/cxfa_ffdropdown.h"
-class CXFA_FFListBox : public CXFA_FFDropDown {
+class CXFA_FFListBox final : public CXFA_FFDropDown {
public:
explicit CXFA_FFListBox(CXFA_Node* pNode);
~CXFA_FFListBox() override;
diff --git a/xfa/fxfa/cxfa_ffnumericedit.h b/xfa/fxfa/cxfa_ffnumericedit.h
index 8982ee06af..b2c39ce22e 100644
--- a/xfa/fxfa/cxfa_ffnumericedit.h
+++ b/xfa/fxfa/cxfa_ffnumericedit.h
@@ -13,7 +13,7 @@
class CFWL_Event;
class CFWL_Widget;
-class CXFA_FFNumericEdit : public CXFA_FFTextEdit {
+class CXFA_FFNumericEdit final : public CXFA_FFTextEdit {
public:
explicit CXFA_FFNumericEdit(CXFA_Node* pNode);
~CXFA_FFNumericEdit() override;
diff --git a/xfa/fxfa/cxfa_ffpageview.h b/xfa/fxfa/cxfa_ffpageview.h
index 31ce63f8d9..a745b0639b 100644
--- a/xfa/fxfa/cxfa_ffpageview.h
+++ b/xfa/fxfa/cxfa_ffpageview.h
@@ -17,7 +17,7 @@
class CXFA_FFWidget;
class CXFA_FFDocView;
-class CXFA_FFPageView : public CXFA_ContainerLayoutItem {
+class CXFA_FFPageView final : public CXFA_ContainerLayoutItem {
public:
CXFA_FFPageView(CXFA_FFDocView* pDocView, CXFA_Node* pPageArea);
~CXFA_FFPageView() override;
@@ -33,7 +33,7 @@ class CXFA_FFPageView : public CXFA_ContainerLayoutItem {
UnownedPtr<CXFA_FFDocView> const m_pDocView;
};
-class CXFA_FFPageWidgetIterator : public IXFA_WidgetIterator {
+class CXFA_FFPageWidgetIterator final : public IXFA_WidgetIterator {
public:
CXFA_FFPageWidgetIterator(CXFA_FFPageView* pPageView, uint32_t dwFilter);
~CXFA_FFPageWidgetIterator() override;
@@ -71,7 +71,7 @@ class CXFA_TabParam {
std::vector<CXFA_FFWidget*> m_Children;
};
-class CXFA_FFTabOrderPageWidgetIterator : public IXFA_WidgetIterator {
+class CXFA_FFTabOrderPageWidgetIterator final : public IXFA_WidgetIterator {
public:
CXFA_FFTabOrderPageWidgetIterator(CXFA_FFPageView* pPageView,
uint32_t dwFilter);
diff --git a/xfa/fxfa/cxfa_ffpasswordedit.h b/xfa/fxfa/cxfa_ffpasswordedit.h
index 8f5093f181..3af4f9661e 100644
--- a/xfa/fxfa/cxfa_ffpasswordedit.h
+++ b/xfa/fxfa/cxfa_ffpasswordedit.h
@@ -12,7 +12,7 @@
class CXFA_PasswordEdit;
-class CXFA_FFPasswordEdit : public CXFA_FFTextEdit {
+class CXFA_FFPasswordEdit final : public CXFA_FFTextEdit {
public:
CXFA_FFPasswordEdit(CXFA_Node* pNode, CXFA_PasswordEdit* password_node);
~CXFA_FFPasswordEdit() override;
diff --git a/xfa/fxfa/cxfa_ffpushbutton.h b/xfa/fxfa/cxfa_ffpushbutton.h
index 9c12daccbc..604497a2be 100644
--- a/xfa/fxfa/cxfa_ffpushbutton.h
+++ b/xfa/fxfa/cxfa_ffpushbutton.h
@@ -20,7 +20,7 @@ class CXFA_Button;
class CXFA_TextLayout;
class CXFA_TextProvider;
-class CXFA_FFPushButton : public CXFA_FFField {
+class CXFA_FFPushButton final : public CXFA_FFField {
public:
CXFA_FFPushButton(CXFA_Node* pNode, CXFA_Button* button);
~CXFA_FFPushButton() override;
diff --git a/xfa/fxfa/cxfa_ffrectangle.h b/xfa/fxfa/cxfa_ffrectangle.h
index d05f4d7f81..c1f586411d 100644
--- a/xfa/fxfa/cxfa_ffrectangle.h
+++ b/xfa/fxfa/cxfa_ffrectangle.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFRectangle : public CXFA_FFWidget {
+class CXFA_FFRectangle final : public CXFA_FFWidget {
public:
explicit CXFA_FFRectangle(CXFA_Node* pNode);
~CXFA_FFRectangle() override;
diff --git a/xfa/fxfa/cxfa_fftext.h b/xfa/fxfa/cxfa_fftext.h
index 9da39d4f73..7561fdc38a 100644
--- a/xfa/fxfa/cxfa_fftext.h
+++ b/xfa/fxfa/cxfa_fftext.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/cxfa_ffwidget.h"
-class CXFA_FFText : public CXFA_FFWidget {
+class CXFA_FFText final : public CXFA_FFWidget {
public:
explicit CXFA_FFText(CXFA_Node* pNode);
~CXFA_FFText() override;
diff --git a/xfa/fxfa/cxfa_linkuserdata.h b/xfa/fxfa/cxfa_linkuserdata.h
index f62bd3c044..baa39aaf56 100644
--- a/xfa/fxfa/cxfa_linkuserdata.h
+++ b/xfa/fxfa/cxfa_linkuserdata.h
@@ -11,7 +11,7 @@
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/retain_ptr.h"
-class CXFA_LinkUserData : public Retainable {
+class CXFA_LinkUserData final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/xfa/fxfa/cxfa_textparser_unittest.cpp b/xfa/fxfa/cxfa_textparser_unittest.cpp
index bd748cd494..5198638f05 100644
--- a/xfa/fxfa/cxfa_textparser_unittest.cpp
+++ b/xfa/fxfa/cxfa_textparser_unittest.cpp
@@ -6,7 +6,7 @@
#include "testing/gtest/include/gtest/gtest.h"
-class CXFA_TestTextParser : public CXFA_TextParser {
+class CXFA_TestTextParser final : public CXFA_TextParser {
public:
CXFA_TestTextParser() : CXFA_TextParser() {}
diff --git a/xfa/fxfa/cxfa_textuserdata.h b/xfa/fxfa/cxfa_textuserdata.h
index c1af217bf1..1fe4fae6c4 100644
--- a/xfa/fxfa/cxfa_textuserdata.h
+++ b/xfa/fxfa/cxfa_textuserdata.h
@@ -12,7 +12,7 @@
class CFX_CSSComputedStyle;
class CXFA_LinkUserData;
-class CXFA_TextUserData : public Retainable {
+class CXFA_TextUserData final : public Retainable {
public:
template <typename T, typename... Args>
friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
diff --git a/xfa/fxfa/fm2js/cxfa_fmexpression.h b/xfa/fxfa/fm2js/cxfa_fmexpression.h
index bff62c185b..c20d76b075 100644
--- a/xfa/fxfa/fm2js/cxfa_fmexpression.h
+++ b/xfa/fxfa/fm2js/cxfa_fmexpression.h
@@ -23,7 +23,7 @@ class CXFA_FMExpression {
CXFA_FMExpression();
};
-class CXFA_FMFunctionDefinition : public CXFA_FMExpression {
+class CXFA_FMFunctionDefinition final : public CXFA_FMExpression {
public:
CXFA_FMFunctionDefinition(
const WideStringView& wsName,
@@ -51,7 +51,7 @@ class CXFA_FMAST {
std::vector<std::unique_ptr<CXFA_FMExpression>> expressions_;
};
-class CXFA_FMVarExpression : public CXFA_FMExpression {
+class CXFA_FMVarExpression final : public CXFA_FMExpression {
public:
CXFA_FMVarExpression(const WideStringView& wsName,
std::unique_ptr<CXFA_FMSimpleExpression> pInit);
@@ -64,7 +64,7 @@ class CXFA_FMVarExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pInit;
};
-class CXFA_FMExpExpression : public CXFA_FMExpression {
+class CXFA_FMExpExpression final : public CXFA_FMExpression {
public:
explicit CXFA_FMExpExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pExpression);
@@ -76,7 +76,7 @@ class CXFA_FMExpExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExpression;
};
-class CXFA_FMBlockExpression : public CXFA_FMExpression {
+class CXFA_FMBlockExpression final : public CXFA_FMExpression {
public:
CXFA_FMBlockExpression(
std::vector<std::unique_ptr<CXFA_FMExpression>>&& pExpressionList);
@@ -88,7 +88,7 @@ class CXFA_FMBlockExpression : public CXFA_FMExpression {
std::vector<std::unique_ptr<CXFA_FMExpression>> m_ExpressionList;
};
-class CXFA_FMDoExpression : public CXFA_FMExpression {
+class CXFA_FMDoExpression final : public CXFA_FMExpression {
public:
explicit CXFA_FMDoExpression(std::unique_ptr<CXFA_FMExpression> pList);
~CXFA_FMDoExpression() override;
@@ -99,7 +99,7 @@ class CXFA_FMDoExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pList;
};
-class CXFA_FMIfExpression : public CXFA_FMExpression {
+class CXFA_FMIfExpression final : public CXFA_FMExpression {
public:
CXFA_FMIfExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pExpression,
@@ -117,7 +117,7 @@ class CXFA_FMIfExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pElseExpression;
};
-class CXFA_FMWhileExpression : public CXFA_FMExpression {
+class CXFA_FMWhileExpression final : public CXFA_FMExpression {
public:
CXFA_FMWhileExpression(std::unique_ptr<CXFA_FMSimpleExpression> pCodition,
std::unique_ptr<CXFA_FMExpression> pExpression);
@@ -130,7 +130,7 @@ class CXFA_FMWhileExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pExpression;
};
-class CXFA_FMBreakExpression : public CXFA_FMExpression {
+class CXFA_FMBreakExpression final : public CXFA_FMExpression {
public:
CXFA_FMBreakExpression();
~CXFA_FMBreakExpression() override;
@@ -138,7 +138,7 @@ class CXFA_FMBreakExpression : public CXFA_FMExpression {
bool ToJavaScript(CFX_WideTextBuf* js, ReturnType type) override;
};
-class CXFA_FMContinueExpression : public CXFA_FMExpression {
+class CXFA_FMContinueExpression final : public CXFA_FMExpression {
public:
CXFA_FMContinueExpression();
~CXFA_FMContinueExpression() override;
@@ -146,7 +146,7 @@ class CXFA_FMContinueExpression : public CXFA_FMExpression {
bool ToJavaScript(CFX_WideTextBuf* js, ReturnType type) override;
};
-class CXFA_FMForExpression : public CXFA_FMExpression {
+class CXFA_FMForExpression final : public CXFA_FMExpression {
public:
CXFA_FMForExpression(const WideStringView& wsVariant,
std::unique_ptr<CXFA_FMSimpleExpression> pAssignment,
@@ -167,7 +167,7 @@ class CXFA_FMForExpression : public CXFA_FMExpression {
std::unique_ptr<CXFA_FMExpression> m_pList;
};
-class CXFA_FMForeachExpression : public CXFA_FMExpression {
+class CXFA_FMForeachExpression final : public CXFA_FMExpression {
public:
// Takes ownership of |pAccessors|.
CXFA_FMForeachExpression(
diff --git a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
index 0f3df31081..275d7d4fcb 100644
--- a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
+++ b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
@@ -36,7 +36,7 @@ class CXFA_FMSimpleExpression {
const XFA_FM_TOKEN m_op;
};
-class CXFA_FMNullExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMNullExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMNullExpression();
~CXFA_FMNullExpression() override {}
@@ -44,7 +44,7 @@ class CXFA_FMNullExpression : public CXFA_FMSimpleExpression {
bool ToJavaScript(CFX_WideTextBuf* js, ReturnType type) override;
};
-class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMNumberExpression final : public CXFA_FMSimpleExpression {
public:
explicit CXFA_FMNumberExpression(WideStringView wsNumber);
~CXFA_FMNumberExpression() override;
@@ -55,7 +55,7 @@ class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
WideStringView m_wsNumber;
};
-class CXFA_FMStringExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMStringExpression final : public CXFA_FMSimpleExpression {
public:
explicit CXFA_FMStringExpression(WideStringView wsString);
~CXFA_FMStringExpression() override;
@@ -66,7 +66,7 @@ class CXFA_FMStringExpression : public CXFA_FMSimpleExpression {
WideStringView m_wsString;
};
-class CXFA_FMIdentifierExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMIdentifierExpression final : public CXFA_FMSimpleExpression {
public:
explicit CXFA_FMIdentifierExpression(WideStringView wsIdentifier);
~CXFA_FMIdentifierExpression() override;
@@ -77,7 +77,7 @@ class CXFA_FMIdentifierExpression : public CXFA_FMSimpleExpression {
WideStringView m_wsIdentifier;
};
-class CXFA_FMAssignExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMAssignExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMAssignExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -109,7 +109,7 @@ class CXFA_FMBinExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp2;
};
-class CXFA_FMLogicalOrExpression : public CXFA_FMBinExpression {
+class CXFA_FMLogicalOrExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLogicalOrExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -117,7 +117,7 @@ class CXFA_FMLogicalOrExpression : public CXFA_FMBinExpression {
~CXFA_FMLogicalOrExpression() override {}
};
-class CXFA_FMLogicalAndExpression : public CXFA_FMBinExpression {
+class CXFA_FMLogicalAndExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLogicalAndExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -125,7 +125,7 @@ class CXFA_FMLogicalAndExpression : public CXFA_FMBinExpression {
~CXFA_FMLogicalAndExpression() override {}
};
-class CXFA_FMEqualExpression : public CXFA_FMBinExpression {
+class CXFA_FMEqualExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMEqualExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -133,7 +133,7 @@ class CXFA_FMEqualExpression : public CXFA_FMBinExpression {
~CXFA_FMEqualExpression() override {}
};
-class CXFA_FMNotEqualExpression : public CXFA_FMBinExpression {
+class CXFA_FMNotEqualExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMNotEqualExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -141,7 +141,7 @@ class CXFA_FMNotEqualExpression : public CXFA_FMBinExpression {
~CXFA_FMNotEqualExpression() override {}
};
-class CXFA_FMGtExpression : public CXFA_FMBinExpression {
+class CXFA_FMGtExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMGtExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -149,7 +149,7 @@ class CXFA_FMGtExpression : public CXFA_FMBinExpression {
~CXFA_FMGtExpression() override {}
};
-class CXFA_FMGeExpression : public CXFA_FMBinExpression {
+class CXFA_FMGeExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMGeExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -157,7 +157,7 @@ class CXFA_FMGeExpression : public CXFA_FMBinExpression {
~CXFA_FMGeExpression() override {}
};
-class CXFA_FMLtExpression : public CXFA_FMBinExpression {
+class CXFA_FMLtExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLtExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -165,7 +165,7 @@ class CXFA_FMLtExpression : public CXFA_FMBinExpression {
~CXFA_FMLtExpression() override {}
};
-class CXFA_FMLeExpression : public CXFA_FMBinExpression {
+class CXFA_FMLeExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMLeExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -173,7 +173,7 @@ class CXFA_FMLeExpression : public CXFA_FMBinExpression {
~CXFA_FMLeExpression() override {}
};
-class CXFA_FMPlusExpression : public CXFA_FMBinExpression {
+class CXFA_FMPlusExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMPlusExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -181,7 +181,7 @@ class CXFA_FMPlusExpression : public CXFA_FMBinExpression {
~CXFA_FMPlusExpression() override {}
};
-class CXFA_FMMinusExpression : public CXFA_FMBinExpression {
+class CXFA_FMMinusExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMMinusExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -189,7 +189,7 @@ class CXFA_FMMinusExpression : public CXFA_FMBinExpression {
~CXFA_FMMinusExpression() override {}
};
-class CXFA_FMMulExpression : public CXFA_FMBinExpression {
+class CXFA_FMMulExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMMulExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -197,7 +197,7 @@ class CXFA_FMMulExpression : public CXFA_FMBinExpression {
~CXFA_FMMulExpression() override {}
};
-class CXFA_FMDivExpression : public CXFA_FMBinExpression {
+class CXFA_FMDivExpression final : public CXFA_FMBinExpression {
public:
CXFA_FMDivExpression(XFA_FM_TOKEN op,
std::unique_ptr<CXFA_FMSimpleExpression> pExp1,
@@ -221,25 +221,25 @@ class CXFA_FMUnaryExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp;
};
-class CXFA_FMPosExpression : public CXFA_FMUnaryExpression {
+class CXFA_FMPosExpression final : public CXFA_FMUnaryExpression {
public:
explicit CXFA_FMPosExpression(std::unique_ptr<CXFA_FMSimpleExpression> pExp);
~CXFA_FMPosExpression() override {}
};
-class CXFA_FMNegExpression : public CXFA_FMUnaryExpression {
+class CXFA_FMNegExpression final : public CXFA_FMUnaryExpression {
public:
explicit CXFA_FMNegExpression(std::unique_ptr<CXFA_FMSimpleExpression> pExp);
~CXFA_FMNegExpression() override {}
};
-class CXFA_FMNotExpression : public CXFA_FMUnaryExpression {
+class CXFA_FMNotExpression final : public CXFA_FMUnaryExpression {
public:
explicit CXFA_FMNotExpression(std::unique_ptr<CXFA_FMSimpleExpression> pExp);
~CXFA_FMNotExpression() override {}
};
-class CXFA_FMCallExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMCallExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMCallExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pExp,
@@ -257,7 +257,7 @@ class CXFA_FMCallExpression : public CXFA_FMSimpleExpression {
std::vector<std::unique_ptr<CXFA_FMSimpleExpression>> m_Arguments;
};
-class CXFA_FMDotAccessorExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMDotAccessorExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMDotAccessorExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pAccessor,
@@ -274,7 +274,7 @@ class CXFA_FMDotAccessorExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp2;
};
-class CXFA_FMIndexExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMIndexExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMIndexExpression(XFA_FM_AccessorIndex accessorIndex,
std::unique_ptr<CXFA_FMSimpleExpression> pIndexExp,
@@ -289,7 +289,7 @@ class CXFA_FMIndexExpression : public CXFA_FMSimpleExpression {
bool m_bIsStarIndex;
};
-class CXFA_FMDotDotAccessorExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMDotDotAccessorExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMDotDotAccessorExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pAccessor,
@@ -306,7 +306,7 @@ class CXFA_FMDotDotAccessorExpression : public CXFA_FMSimpleExpression {
std::unique_ptr<CXFA_FMSimpleExpression> m_pExp2;
};
-class CXFA_FMMethodCallExpression : public CXFA_FMSimpleExpression {
+class CXFA_FMMethodCallExpression final : public CXFA_FMSimpleExpression {
public:
CXFA_FMMethodCallExpression(
std::unique_ptr<CXFA_FMSimpleExpression> pAccessorExp1,
diff --git a/xfa/fxfa/parser/cscript_datawindow.h b/xfa/fxfa/parser/cscript_datawindow.h
index 85a0a935e8..ceed58e0f2 100644
--- a/xfa/fxfa/parser/cscript_datawindow.h
+++ b/xfa/fxfa/parser/cscript_datawindow.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_DataWindow : public CXFA_Object {
+class CScript_DataWindow final : public CXFA_Object {
public:
explicit CScript_DataWindow(CXFA_Document* pDocument);
~CScript_DataWindow() override;
diff --git a/xfa/fxfa/parser/cscript_eventpseudomodel.h b/xfa/fxfa/parser/cscript_eventpseudomodel.h
index 22957f3c81..810416299c 100644
--- a/xfa/fxfa/parser/cscript_eventpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_eventpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_EventPseudoModel : public CXFA_Object {
+class CScript_EventPseudoModel final : public CXFA_Object {
public:
explicit CScript_EventPseudoModel(CXFA_Document* pDocument);
~CScript_EventPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_hostpseudomodel.h b/xfa/fxfa/parser/cscript_hostpseudomodel.h
index 8fb06c5e9c..c8af249868 100644
--- a/xfa/fxfa/parser/cscript_hostpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_hostpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_HostPseudoModel : public CXFA_Object {
+class CScript_HostPseudoModel final : public CXFA_Object {
public:
explicit CScript_HostPseudoModel(CXFA_Document* pDocument);
~CScript_HostPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_layoutpseudomodel.h b/xfa/fxfa/parser/cscript_layoutpseudomodel.h
index 0b49505836..e88a6aafba 100644
--- a/xfa/fxfa/parser/cscript_layoutpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_layoutpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_LayoutPseudoModel : public CXFA_Object {
+class CScript_LayoutPseudoModel final : public CXFA_Object {
public:
explicit CScript_LayoutPseudoModel(CXFA_Document* pDocument);
~CScript_LayoutPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_logpseudomodel.h b/xfa/fxfa/parser/cscript_logpseudomodel.h
index e4a33f4aae..aa11bea6f5 100644
--- a/xfa/fxfa/parser/cscript_logpseudomodel.h
+++ b/xfa/fxfa/parser/cscript_logpseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_LogPseudoModel : public CXFA_Object {
+class CScript_LogPseudoModel final : public CXFA_Object {
public:
explicit CScript_LogPseudoModel(CXFA_Document* pDocument);
~CScript_LogPseudoModel() override;
diff --git a/xfa/fxfa/parser/cscript_signaturepseudomodel.h b/xfa/fxfa/parser/cscript_signaturepseudomodel.h
index c2ecb2b606..532a767dd9 100644
--- a/xfa/fxfa/parser/cscript_signaturepseudomodel.h
+++ b/xfa/fxfa/parser/cscript_signaturepseudomodel.h
@@ -11,7 +11,7 @@
class CXFA_Document;
-class CScript_SignaturePseudoModel : public CXFA_Object {
+class CScript_SignaturePseudoModel final : public CXFA_Object {
public:
explicit CScript_SignaturePseudoModel(CXFA_Document* pDocument);
~CScript_SignaturePseudoModel() override;
diff --git a/xfa/fxfa/parser/cxfa_accessiblecontent.h b/xfa/fxfa/parser/cxfa_accessiblecontent.h
index 84ad8fca52..2aea151858 100644
--- a/xfa/fxfa/parser/cxfa_accessiblecontent.h
+++ b/xfa/fxfa/parser/cxfa_accessiblecontent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AccessibleContent : public CXFA_Node {
+class CXFA_AccessibleContent final : public CXFA_Node {
public:
CXFA_AccessibleContent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AccessibleContent() override;
diff --git a/xfa/fxfa/parser/cxfa_acrobat.h b/xfa/fxfa/parser/cxfa_acrobat.h
index 3701d591e7..5711178364 100644
--- a/xfa/fxfa/parser/cxfa_acrobat.h
+++ b/xfa/fxfa/parser/cxfa_acrobat.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Acrobat : public CXFA_Node {
+class CXFA_Acrobat final : public CXFA_Node {
public:
CXFA_Acrobat(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Acrobat() override;
diff --git a/xfa/fxfa/parser/cxfa_acrobat7.h b/xfa/fxfa/parser/cxfa_acrobat7.h
index 579864ac1b..8f64044127 100644
--- a/xfa/fxfa/parser/cxfa_acrobat7.h
+++ b/xfa/fxfa/parser/cxfa_acrobat7.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Acrobat7 : public CXFA_Node {
+class CXFA_Acrobat7 final : public CXFA_Node {
public:
CXFA_Acrobat7(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Acrobat7() override;
diff --git a/xfa/fxfa/parser/cxfa_adbe_jsconsole.h b/xfa/fxfa/parser/cxfa_adbe_jsconsole.h
index 9fab6a11db..e894479550 100644
--- a/xfa/fxfa/parser/cxfa_adbe_jsconsole.h
+++ b/xfa/fxfa/parser/cxfa_adbe_jsconsole.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_aDBE_JSConsole : public CXFA_Node {
+class CXFA_aDBE_JSConsole final : public CXFA_Node {
public:
CXFA_aDBE_JSConsole(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_aDBE_JSConsole() override;
diff --git a/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h b/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h
index ed821d4d0d..f7da53502c 100644
--- a/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h
+++ b/xfa/fxfa/parser/cxfa_adbe_jsdebugger.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_aDBE_JSDebugger : public CXFA_Node {
+class CXFA_aDBE_JSDebugger final : public CXFA_Node {
public:
CXFA_aDBE_JSDebugger(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_aDBE_JSDebugger() override;
diff --git a/xfa/fxfa/parser/cxfa_addsilentprint.h b/xfa/fxfa/parser/cxfa_addsilentprint.h
index a2519692da..abfff47257 100644
--- a/xfa/fxfa/parser/cxfa_addsilentprint.h
+++ b/xfa/fxfa/parser/cxfa_addsilentprint.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AddSilentPrint : public CXFA_Node {
+class CXFA_AddSilentPrint final : public CXFA_Node {
public:
CXFA_AddSilentPrint(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AddSilentPrint() override;
diff --git a/xfa/fxfa/parser/cxfa_addviewerpreferences.h b/xfa/fxfa/parser/cxfa_addviewerpreferences.h
index cf10868b0c..62fd6e3d12 100644
--- a/xfa/fxfa/parser/cxfa_addviewerpreferences.h
+++ b/xfa/fxfa/parser/cxfa_addviewerpreferences.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AddViewerPreferences : public CXFA_Node {
+class CXFA_AddViewerPreferences final : public CXFA_Node {
public:
CXFA_AddViewerPreferences(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AddViewerPreferences() override;
diff --git a/xfa/fxfa/parser/cxfa_adjustdata.h b/xfa/fxfa/parser/cxfa_adjustdata.h
index 3c004c2a6a..463f2e6780 100644
--- a/xfa/fxfa/parser/cxfa_adjustdata.h
+++ b/xfa/fxfa/parser/cxfa_adjustdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AdjustData : public CXFA_Node {
+class CXFA_AdjustData final : public CXFA_Node {
public:
CXFA_AdjustData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AdjustData() override;
diff --git a/xfa/fxfa/parser/cxfa_adobeextensionlevel.h b/xfa/fxfa/parser/cxfa_adobeextensionlevel.h
index 91a830f251..5e0a507829 100644
--- a/xfa/fxfa/parser/cxfa_adobeextensionlevel.h
+++ b/xfa/fxfa/parser/cxfa_adobeextensionlevel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AdobeExtensionLevel : public CXFA_Node {
+class CXFA_AdobeExtensionLevel final : public CXFA_Node {
public:
CXFA_AdobeExtensionLevel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AdobeExtensionLevel() override;
diff --git a/xfa/fxfa/parser/cxfa_agent.h b/xfa/fxfa/parser/cxfa_agent.h
index 65d826d0ce..a84d2ac847 100644
--- a/xfa/fxfa/parser/cxfa_agent.h
+++ b/xfa/fxfa/parser/cxfa_agent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Agent : public CXFA_Node {
+class CXFA_Agent final : public CXFA_Node {
public:
CXFA_Agent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Agent() override;
diff --git a/xfa/fxfa/parser/cxfa_alwaysembed.h b/xfa/fxfa/parser/cxfa_alwaysembed.h
index 178097647b..754fd893f6 100644
--- a/xfa/fxfa/parser/cxfa_alwaysembed.h
+++ b/xfa/fxfa/parser/cxfa_alwaysembed.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AlwaysEmbed : public CXFA_Node {
+class CXFA_AlwaysEmbed final : public CXFA_Node {
public:
CXFA_AlwaysEmbed(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AlwaysEmbed() override;
diff --git a/xfa/fxfa/parser/cxfa_amd.h b/xfa/fxfa/parser/cxfa_amd.h
index 951c6ca186..6d6562c2f7 100644
--- a/xfa/fxfa/parser/cxfa_amd.h
+++ b/xfa/fxfa/parser/cxfa_amd.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Amd : public CXFA_Node {
+class CXFA_Amd final : public CXFA_Node {
public:
CXFA_Amd(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Amd() override;
diff --git a/xfa/fxfa/parser/cxfa_appearancefilter.h b/xfa/fxfa/parser/cxfa_appearancefilter.h
index 341232ef28..80b0ba4693 100644
--- a/xfa/fxfa/parser/cxfa_appearancefilter.h
+++ b/xfa/fxfa/parser/cxfa_appearancefilter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AppearanceFilter : public CXFA_Node {
+class CXFA_AppearanceFilter final : public CXFA_Node {
public:
CXFA_AppearanceFilter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AppearanceFilter() override;
diff --git a/xfa/fxfa/parser/cxfa_arc.h b/xfa/fxfa/parser/cxfa_arc.h
index fd903aa249..70d1b004f0 100644
--- a/xfa/fxfa/parser/cxfa_arc.h
+++ b/xfa/fxfa/parser/cxfa_arc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_box.h"
-class CXFA_Arc : public CXFA_Box {
+class CXFA_Arc final : public CXFA_Box {
public:
CXFA_Arc(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Arc() override;
diff --git a/xfa/fxfa/parser/cxfa_area.h b/xfa/fxfa/parser/cxfa_area.h
index 6568e73530..cf1ff872c7 100644
--- a/xfa/fxfa/parser/cxfa_area.h
+++ b/xfa/fxfa/parser/cxfa_area.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Area : public CXFA_Node {
+class CXFA_Area final : public CXFA_Node {
public:
CXFA_Area(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Area() override;
diff --git a/xfa/fxfa/parser/cxfa_arraynodelist.h b/xfa/fxfa/parser/cxfa_arraynodelist.h
index dc798bcd59..d723df343d 100644
--- a/xfa/fxfa/parser/cxfa_arraynodelist.h
+++ b/xfa/fxfa/parser/cxfa_arraynodelist.h
@@ -14,7 +14,7 @@
class CXFA_Document;
class CXFA_Node;
-class CXFA_ArrayNodeList : public CXFA_TreeList {
+class CXFA_ArrayNodeList final : public CXFA_TreeList {
public:
explicit CXFA_ArrayNodeList(CXFA_Document* pDocument);
~CXFA_ArrayNodeList() override;
diff --git a/xfa/fxfa/parser/cxfa_assist.h b/xfa/fxfa/parser/cxfa_assist.h
index d0e9020a7e..77643cfeed 100644
--- a/xfa/fxfa/parser/cxfa_assist.h
+++ b/xfa/fxfa/parser/cxfa_assist.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Assist : public CXFA_Node {
+class CXFA_Assist final : public CXFA_Node {
public:
CXFA_Assist(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Assist() override;
diff --git a/xfa/fxfa/parser/cxfa_attachnodelist.h b/xfa/fxfa/parser/cxfa_attachnodelist.h
index f4cebe48f8..a8248e6c1a 100644
--- a/xfa/fxfa/parser/cxfa_attachnodelist.h
+++ b/xfa/fxfa/parser/cxfa_attachnodelist.h
@@ -12,7 +12,7 @@
class CXFA_Document;
class CXFA_Node;
-class CXFA_AttachNodeList : public CXFA_TreeList {
+class CXFA_AttachNodeList final : public CXFA_TreeList {
public:
CXFA_AttachNodeList(CXFA_Document* pDocument, CXFA_Node* pAttachNode);
~CXFA_AttachNodeList() override;
diff --git a/xfa/fxfa/parser/cxfa_attributes.h b/xfa/fxfa/parser/cxfa_attributes.h
index fd73da87cf..099ecea05a 100644
--- a/xfa/fxfa/parser/cxfa_attributes.h
+++ b/xfa/fxfa/parser/cxfa_attributes.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Attributes : public CXFA_Node {
+class CXFA_Attributes final : public CXFA_Node {
public:
CXFA_Attributes(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Attributes() override;
diff --git a/xfa/fxfa/parser/cxfa_autosave.h b/xfa/fxfa/parser/cxfa_autosave.h
index b58ccf14a5..5324351e92 100644
--- a/xfa/fxfa/parser/cxfa_autosave.h
+++ b/xfa/fxfa/parser/cxfa_autosave.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_AutoSave : public CXFA_Node {
+class CXFA_AutoSave final : public CXFA_Node {
public:
CXFA_AutoSave(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_AutoSave() override;
diff --git a/xfa/fxfa/parser/cxfa_barcode.h b/xfa/fxfa/parser/cxfa_barcode.h
index 463e97f236..bf503e5d5c 100644
--- a/xfa/fxfa/parser/cxfa_barcode.h
+++ b/xfa/fxfa/parser/cxfa_barcode.h
@@ -11,7 +11,7 @@
#include "third_party/base/optional.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Barcode : public CXFA_Node {
+class CXFA_Barcode final : public CXFA_Node {
public:
CXFA_Barcode(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Barcode() override;
diff --git a/xfa/fxfa/parser/cxfa_base.h b/xfa/fxfa/parser/cxfa_base.h
index 3974343a15..3f1c9ba2df 100644
--- a/xfa/fxfa/parser/cxfa_base.h
+++ b/xfa/fxfa/parser/cxfa_base.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Base : public CXFA_Node {
+class CXFA_Base final : public CXFA_Node {
public:
CXFA_Base(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Base() override;
diff --git a/xfa/fxfa/parser/cxfa_batchoutput.h b/xfa/fxfa/parser/cxfa_batchoutput.h
index 9faa6cfcca..8d1de09b12 100644
--- a/xfa/fxfa/parser/cxfa_batchoutput.h
+++ b/xfa/fxfa/parser/cxfa_batchoutput.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BatchOutput : public CXFA_Node {
+class CXFA_BatchOutput final : public CXFA_Node {
public:
CXFA_BatchOutput(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BatchOutput() override;
diff --git a/xfa/fxfa/parser/cxfa_behavioroverride.h b/xfa/fxfa/parser/cxfa_behavioroverride.h
index cb08211211..d7dce1b877 100644
--- a/xfa/fxfa/parser/cxfa_behavioroverride.h
+++ b/xfa/fxfa/parser/cxfa_behavioroverride.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BehaviorOverride : public CXFA_Node {
+class CXFA_BehaviorOverride final : public CXFA_Node {
public:
CXFA_BehaviorOverride(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BehaviorOverride() override;
diff --git a/xfa/fxfa/parser/cxfa_bind.h b/xfa/fxfa/parser/cxfa_bind.h
index 1924cb6f78..f6331d6707 100644
--- a/xfa/fxfa/parser/cxfa_bind.h
+++ b/xfa/fxfa/parser/cxfa_bind.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Bind : public CXFA_Node {
+class CXFA_Bind final : public CXFA_Node {
public:
CXFA_Bind(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Bind() override;
diff --git a/xfa/fxfa/parser/cxfa_binditems.h b/xfa/fxfa/parser/cxfa_binditems.h
index f1a490d13e..34a4b6746f 100644
--- a/xfa/fxfa/parser/cxfa_binditems.h
+++ b/xfa/fxfa/parser/cxfa_binditems.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BindItems : public CXFA_Node {
+class CXFA_BindItems final : public CXFA_Node {
public:
CXFA_BindItems(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BindItems() override;
diff --git a/xfa/fxfa/parser/cxfa_bookend.h b/xfa/fxfa/parser/cxfa_bookend.h
index 82eb13c767..1c68763003 100644
--- a/xfa/fxfa/parser/cxfa_bookend.h
+++ b/xfa/fxfa/parser/cxfa_bookend.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Bookend : public CXFA_Node {
+class CXFA_Bookend final : public CXFA_Node {
public:
CXFA_Bookend(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Bookend() override;
diff --git a/xfa/fxfa/parser/cxfa_boolean.h b/xfa/fxfa/parser/cxfa_boolean.h
index 4121e36409..60b8e5ec68 100644
--- a/xfa/fxfa/parser/cxfa_boolean.h
+++ b/xfa/fxfa/parser/cxfa_boolean.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Boolean : public CXFA_Node {
+class CXFA_Boolean final : public CXFA_Node {
public:
CXFA_Boolean(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Boolean() override;
diff --git a/xfa/fxfa/parser/cxfa_border.h b/xfa/fxfa/parser/cxfa_border.h
index 24f3bb98be..6071a77d9f 100644
--- a/xfa/fxfa/parser/cxfa_border.h
+++ b/xfa/fxfa/parser/cxfa_border.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_rectangle.h"
-class CXFA_Border : public CXFA_Rectangle {
+class CXFA_Border final : public CXFA_Rectangle {
public:
CXFA_Border(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Border() override;
diff --git a/xfa/fxfa/parser/cxfa_break.h b/xfa/fxfa/parser/cxfa_break.h
index c0d937c513..4bf7dde014 100644
--- a/xfa/fxfa/parser/cxfa_break.h
+++ b/xfa/fxfa/parser/cxfa_break.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Break : public CXFA_Node {
+class CXFA_Break final : public CXFA_Node {
public:
CXFA_Break(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Break() override;
diff --git a/xfa/fxfa/parser/cxfa_breakafter.h b/xfa/fxfa/parser/cxfa_breakafter.h
index 952b0c9a99..c607ef5681 100644
--- a/xfa/fxfa/parser/cxfa_breakafter.h
+++ b/xfa/fxfa/parser/cxfa_breakafter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BreakAfter : public CXFA_Node {
+class CXFA_BreakAfter final : public CXFA_Node {
public:
CXFA_BreakAfter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BreakAfter() override;
diff --git a/xfa/fxfa/parser/cxfa_breakbefore.h b/xfa/fxfa/parser/cxfa_breakbefore.h
index 358e477993..1b6dc636d1 100644
--- a/xfa/fxfa/parser/cxfa_breakbefore.h
+++ b/xfa/fxfa/parser/cxfa_breakbefore.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_BreakBefore : public CXFA_Node {
+class CXFA_BreakBefore final : public CXFA_Node {
public:
CXFA_BreakBefore(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_BreakBefore() override;
diff --git a/xfa/fxfa/parser/cxfa_button.h b/xfa/fxfa/parser/cxfa_button.h
index cea685fa4e..d9d67a95e5 100644
--- a/xfa/fxfa/parser/cxfa_button.h
+++ b/xfa/fxfa/parser/cxfa_button.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Button : public CXFA_Node {
+class CXFA_Button final : public CXFA_Node {
public:
CXFA_Button(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Button() override;
diff --git a/xfa/fxfa/parser/cxfa_cache.h b/xfa/fxfa/parser/cxfa_cache.h
index e3907c68e7..430163a274 100644
--- a/xfa/fxfa/parser/cxfa_cache.h
+++ b/xfa/fxfa/parser/cxfa_cache.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Cache : public CXFA_Node {
+class CXFA_Cache final : public CXFA_Node {
public:
CXFA_Cache(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Cache() override;
diff --git a/xfa/fxfa/parser/cxfa_calculate.h b/xfa/fxfa/parser/cxfa_calculate.h
index a5be908b4c..46c87708cb 100644
--- a/xfa/fxfa/parser/cxfa_calculate.h
+++ b/xfa/fxfa/parser/cxfa_calculate.h
@@ -11,7 +11,7 @@
class CXFA_Script;
-class CXFA_Calculate : public CXFA_Node {
+class CXFA_Calculate final : public CXFA_Node {
public:
CXFA_Calculate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Calculate() override;
diff --git a/xfa/fxfa/parser/cxfa_calendarsymbols.h b/xfa/fxfa/parser/cxfa_calendarsymbols.h
index 1b1f007469..82ecde4c7a 100644
--- a/xfa/fxfa/parser/cxfa_calendarsymbols.h
+++ b/xfa/fxfa/parser/cxfa_calendarsymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CalendarSymbols : public CXFA_Node {
+class CXFA_CalendarSymbols final : public CXFA_Node {
public:
CXFA_CalendarSymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CalendarSymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_caption.h b/xfa/fxfa/parser/cxfa_caption.h
index c790787e9a..8f3dfdc88a 100644
--- a/xfa/fxfa/parser/cxfa_caption.h
+++ b/xfa/fxfa/parser/cxfa_caption.h
@@ -13,7 +13,7 @@ class CXFA_Font;
class CXFA_Margin;
class CXFA_Value;
-class CXFA_Caption : public CXFA_Node {
+class CXFA_Caption final : public CXFA_Node {
public:
static constexpr XFA_AttributeEnum kDefaultPlacementType =
XFA_AttributeEnum::Left;
diff --git a/xfa/fxfa/parser/cxfa_certificate.h b/xfa/fxfa/parser/cxfa_certificate.h
index 48106dac03..4923d57946 100644
--- a/xfa/fxfa/parser/cxfa_certificate.h
+++ b/xfa/fxfa/parser/cxfa_certificate.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Certificate : public CXFA_Node {
+class CXFA_Certificate final : public CXFA_Node {
public:
CXFA_Certificate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Certificate() override;
diff --git a/xfa/fxfa/parser/cxfa_certificates.h b/xfa/fxfa/parser/cxfa_certificates.h
index a1bed73ff9..6817d03b2b 100644
--- a/xfa/fxfa/parser/cxfa_certificates.h
+++ b/xfa/fxfa/parser/cxfa_certificates.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Certificates : public CXFA_Node {
+class CXFA_Certificates final : public CXFA_Node {
public:
CXFA_Certificates(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Certificates() override;
diff --git a/xfa/fxfa/parser/cxfa_change.h b/xfa/fxfa/parser/cxfa_change.h
index f39b92eacb..2fa4ba952e 100644
--- a/xfa/fxfa/parser/cxfa_change.h
+++ b/xfa/fxfa/parser/cxfa_change.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Change : public CXFA_Node {
+class CXFA_Change final : public CXFA_Node {
public:
CXFA_Change(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Change() override;
diff --git a/xfa/fxfa/parser/cxfa_checkbutton.h b/xfa/fxfa/parser/cxfa_checkbutton.h
index e239a46ecb..7d789193c5 100644
--- a/xfa/fxfa/parser/cxfa_checkbutton.h
+++ b/xfa/fxfa/parser/cxfa_checkbutton.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CheckButton : public CXFA_Node {
+class CXFA_CheckButton final : public CXFA_Node {
public:
CXFA_CheckButton(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CheckButton() override;
diff --git a/xfa/fxfa/parser/cxfa_choicelist.h b/xfa/fxfa/parser/cxfa_choicelist.h
index d621d8ad69..cff14635cf 100644
--- a/xfa/fxfa/parser/cxfa_choicelist.h
+++ b/xfa/fxfa/parser/cxfa_choicelist.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ChoiceList : public CXFA_Node {
+class CXFA_ChoiceList final : public CXFA_Node {
public:
CXFA_ChoiceList(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ChoiceList() override;
diff --git a/xfa/fxfa/parser/cxfa_color.h b/xfa/fxfa/parser/cxfa_color.h
index b15c9d8806..d13a553aa6 100644
--- a/xfa/fxfa/parser/cxfa_color.h
+++ b/xfa/fxfa/parser/cxfa_color.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Color : public CXFA_Node {
+class CXFA_Color final : public CXFA_Node {
public:
static constexpr FX_ARGB kBlackColor = 0xFF000000;
diff --git a/xfa/fxfa/parser/cxfa_comb.h b/xfa/fxfa/parser/cxfa_comb.h
index 1f2b538c28..4193a9cdfe 100644
--- a/xfa/fxfa/parser/cxfa_comb.h
+++ b/xfa/fxfa/parser/cxfa_comb.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Comb : public CXFA_Node {
+class CXFA_Comb final : public CXFA_Node {
public:
CXFA_Comb(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Comb() override;
diff --git a/xfa/fxfa/parser/cxfa_command.h b/xfa/fxfa/parser/cxfa_command.h
index 88b74f3bb5..46f98543d7 100644
--- a/xfa/fxfa/parser/cxfa_command.h
+++ b/xfa/fxfa/parser/cxfa_command.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Command : public CXFA_Node {
+class CXFA_Command final : public CXFA_Node {
public:
CXFA_Command(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Command() override;
diff --git a/xfa/fxfa/parser/cxfa_common.h b/xfa/fxfa/parser/cxfa_common.h
index d0ce0eae04..7cab8527cd 100644
--- a/xfa/fxfa/parser/cxfa_common.h
+++ b/xfa/fxfa/parser/cxfa_common.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Common : public CXFA_Node {
+class CXFA_Common final : public CXFA_Node {
public:
CXFA_Common(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Common() override;
diff --git a/xfa/fxfa/parser/cxfa_compress.h b/xfa/fxfa/parser/cxfa_compress.h
index bec18830a2..2b56390947 100644
--- a/xfa/fxfa/parser/cxfa_compress.h
+++ b/xfa/fxfa/parser/cxfa_compress.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Compress : public CXFA_Node {
+class CXFA_Compress final : public CXFA_Node {
public:
CXFA_Compress(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Compress() override;
diff --git a/xfa/fxfa/parser/cxfa_compression.h b/xfa/fxfa/parser/cxfa_compression.h
index f0e26cb5e2..7a571ae041 100644
--- a/xfa/fxfa/parser/cxfa_compression.h
+++ b/xfa/fxfa/parser/cxfa_compression.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Compression : public CXFA_Node {
+class CXFA_Compression final : public CXFA_Node {
public:
CXFA_Compression(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Compression() override;
diff --git a/xfa/fxfa/parser/cxfa_compresslogicalstructure.h b/xfa/fxfa/parser/cxfa_compresslogicalstructure.h
index a8b50681cd..843eb604af 100644
--- a/xfa/fxfa/parser/cxfa_compresslogicalstructure.h
+++ b/xfa/fxfa/parser/cxfa_compresslogicalstructure.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CompressLogicalStructure : public CXFA_Node {
+class CXFA_CompressLogicalStructure final : public CXFA_Node {
public:
CXFA_CompressLogicalStructure(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CompressLogicalStructure() override;
diff --git a/xfa/fxfa/parser/cxfa_compressobjectstream.h b/xfa/fxfa/parser/cxfa_compressobjectstream.h
index 94e02ce4cc..bce7c65d28 100644
--- a/xfa/fxfa/parser/cxfa_compressobjectstream.h
+++ b/xfa/fxfa/parser/cxfa_compressobjectstream.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CompressObjectStream : public CXFA_Node {
+class CXFA_CompressObjectStream final : public CXFA_Node {
public:
CXFA_CompressObjectStream(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CompressObjectStream() override;
diff --git a/xfa/fxfa/parser/cxfa_config.h b/xfa/fxfa/parser/cxfa_config.h
index 2ddb692f7d..644c4753a3 100644
--- a/xfa/fxfa/parser/cxfa_config.h
+++ b/xfa/fxfa/parser/cxfa_config.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Config : public CXFA_Node {
+class CXFA_Config final : public CXFA_Node {
public:
CXFA_Config(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Config() override;
diff --git a/xfa/fxfa/parser/cxfa_conformance.h b/xfa/fxfa/parser/cxfa_conformance.h
index 11a72e7bff..829bb1cff9 100644
--- a/xfa/fxfa/parser/cxfa_conformance.h
+++ b/xfa/fxfa/parser/cxfa_conformance.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Conformance : public CXFA_Node {
+class CXFA_Conformance final : public CXFA_Node {
public:
CXFA_Conformance(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Conformance() override;
diff --git a/xfa/fxfa/parser/cxfa_connect.h b/xfa/fxfa/parser/cxfa_connect.h
index ac9157785b..3d616ce9c1 100644
--- a/xfa/fxfa/parser/cxfa_connect.h
+++ b/xfa/fxfa/parser/cxfa_connect.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Connect : public CXFA_Node {
+class CXFA_Connect final : public CXFA_Node {
public:
CXFA_Connect(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Connect() override;
diff --git a/xfa/fxfa/parser/cxfa_connectionset.h b/xfa/fxfa/parser/cxfa_connectionset.h
index 59316f7b2c..74238e02f5 100644
--- a/xfa/fxfa/parser/cxfa_connectionset.h
+++ b/xfa/fxfa/parser/cxfa_connectionset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ConnectionSet : public CXFA_Node {
+class CXFA_ConnectionSet final : public CXFA_Node {
public:
CXFA_ConnectionSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ConnectionSet() override;
diff --git a/xfa/fxfa/parser/cxfa_connectstring.h b/xfa/fxfa/parser/cxfa_connectstring.h
index 6c3a0b0577..88dd7bc10f 100644
--- a/xfa/fxfa/parser/cxfa_connectstring.h
+++ b/xfa/fxfa/parser/cxfa_connectstring.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ConnectString : public CXFA_Node {
+class CXFA_ConnectString final : public CXFA_Node {
public:
CXFA_ConnectString(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ConnectString() override;
diff --git a/xfa/fxfa/parser/cxfa_contentarea.h b/xfa/fxfa/parser/cxfa_contentarea.h
index 3c5ff60397..43f6868b08 100644
--- a/xfa/fxfa/parser/cxfa_contentarea.h
+++ b/xfa/fxfa/parser/cxfa_contentarea.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ContentArea : public CXFA_Node {
+class CXFA_ContentArea final : public CXFA_Node {
public:
CXFA_ContentArea(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ContentArea() override;
diff --git a/xfa/fxfa/parser/cxfa_contentcopy.h b/xfa/fxfa/parser/cxfa_contentcopy.h
index d394c74730..5b32bebced 100644
--- a/xfa/fxfa/parser/cxfa_contentcopy.h
+++ b/xfa/fxfa/parser/cxfa_contentcopy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ContentCopy : public CXFA_Node {
+class CXFA_ContentCopy final : public CXFA_Node {
public:
CXFA_ContentCopy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ContentCopy() override;
diff --git a/xfa/fxfa/parser/cxfa_copies.h b/xfa/fxfa/parser/cxfa_copies.h
index 1ecd6160fc..46497f9879 100644
--- a/xfa/fxfa/parser/cxfa_copies.h
+++ b/xfa/fxfa/parser/cxfa_copies.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Copies : public CXFA_Node {
+class CXFA_Copies final : public CXFA_Node {
public:
CXFA_Copies(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Copies() override;
diff --git a/xfa/fxfa/parser/cxfa_corner.h b/xfa/fxfa/parser/cxfa_corner.h
index 1042729bcc..7dcaf32d6e 100644
--- a/xfa/fxfa/parser/cxfa_corner.h
+++ b/xfa/fxfa/parser/cxfa_corner.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_stroke.h"
-class CXFA_Corner : public CXFA_Stroke {
+class CXFA_Corner final : public CXFA_Stroke {
public:
CXFA_Corner(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Corner() override;
diff --git a/xfa/fxfa/parser/cxfa_creator.h b/xfa/fxfa/parser/cxfa_creator.h
index c046883431..437fab5977 100644
--- a/xfa/fxfa/parser/cxfa_creator.h
+++ b/xfa/fxfa/parser/cxfa_creator.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Creator : public CXFA_Node {
+class CXFA_Creator final : public CXFA_Node {
public:
CXFA_Creator(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Creator() override;
diff --git a/xfa/fxfa/parser/cxfa_currencysymbol.h b/xfa/fxfa/parser/cxfa_currencysymbol.h
index 271f7fc1e5..3d7b5bde30 100644
--- a/xfa/fxfa/parser/cxfa_currencysymbol.h
+++ b/xfa/fxfa/parser/cxfa_currencysymbol.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CurrencySymbol : public CXFA_Node {
+class CXFA_CurrencySymbol final : public CXFA_Node {
public:
CXFA_CurrencySymbol(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CurrencySymbol() override;
diff --git a/xfa/fxfa/parser/cxfa_currencysymbols.h b/xfa/fxfa/parser/cxfa_currencysymbols.h
index acd3f2a5e2..2ce27cf88c 100644
--- a/xfa/fxfa/parser/cxfa_currencysymbols.h
+++ b/xfa/fxfa/parser/cxfa_currencysymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CurrencySymbols : public CXFA_Node {
+class CXFA_CurrencySymbols final : public CXFA_Node {
public:
CXFA_CurrencySymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CurrencySymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_currentpage.h b/xfa/fxfa/parser/cxfa_currentpage.h
index d526b4a670..5bba6a0eea 100644
--- a/xfa/fxfa/parser/cxfa_currentpage.h
+++ b/xfa/fxfa/parser/cxfa_currentpage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_CurrentPage : public CXFA_Node {
+class CXFA_CurrentPage final : public CXFA_Node {
public:
CXFA_CurrentPage(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_CurrentPage() override;
diff --git a/xfa/fxfa/parser/cxfa_data.h b/xfa/fxfa/parser/cxfa_data.h
index cb30f615f3..44cf40dfe8 100644
--- a/xfa/fxfa/parser/cxfa_data.h
+++ b/xfa/fxfa/parser/cxfa_data.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Data : public CXFA_Node {
+class CXFA_Data final : public CXFA_Node {
public:
CXFA_Data(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Data() override;
diff --git a/xfa/fxfa/parser/cxfa_datagroup.h b/xfa/fxfa/parser/cxfa_datagroup.h
index 649b09621d..5a6170437b 100644
--- a/xfa/fxfa/parser/cxfa_datagroup.h
+++ b/xfa/fxfa/parser/cxfa_datagroup.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DataGroup : public CXFA_Node {
+class CXFA_DataGroup final : public CXFA_Node {
public:
CXFA_DataGroup(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DataGroup() override;
diff --git a/xfa/fxfa/parser/cxfa_datamodel.h b/xfa/fxfa/parser/cxfa_datamodel.h
index f414ea350f..8a1bd42833 100644
--- a/xfa/fxfa/parser/cxfa_datamodel.h
+++ b/xfa/fxfa/parser/cxfa_datamodel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DataModel : public CXFA_Node {
+class CXFA_DataModel final : public CXFA_Node {
public:
CXFA_DataModel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DataModel() override;
diff --git a/xfa/fxfa/parser/cxfa_datavalue.h b/xfa/fxfa/parser/cxfa_datavalue.h
index 8170aba0b7..ee2c621638 100644
--- a/xfa/fxfa/parser/cxfa_datavalue.h
+++ b/xfa/fxfa/parser/cxfa_datavalue.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DataValue : public CXFA_Node {
+class CXFA_DataValue final : public CXFA_Node {
public:
CXFA_DataValue(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DataValue() override;
diff --git a/xfa/fxfa/parser/cxfa_date.h b/xfa/fxfa/parser/cxfa_date.h
index e5ebb25ccb..3fb7ba7cf1 100644
--- a/xfa/fxfa/parser/cxfa_date.h
+++ b/xfa/fxfa/parser/cxfa_date.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Date : public CXFA_Node {
+class CXFA_Date final : public CXFA_Node {
public:
CXFA_Date(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Date() override;
diff --git a/xfa/fxfa/parser/cxfa_datepattern.h b/xfa/fxfa/parser/cxfa_datepattern.h
index b66147851f..e67a61f39a 100644
--- a/xfa/fxfa/parser/cxfa_datepattern.h
+++ b/xfa/fxfa/parser/cxfa_datepattern.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DatePattern : public CXFA_Node {
+class CXFA_DatePattern final : public CXFA_Node {
public:
CXFA_DatePattern(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DatePattern() override;
diff --git a/xfa/fxfa/parser/cxfa_datepatterns.h b/xfa/fxfa/parser/cxfa_datepatterns.h
index dfc55d08d3..6c2dca4525 100644
--- a/xfa/fxfa/parser/cxfa_datepatterns.h
+++ b/xfa/fxfa/parser/cxfa_datepatterns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DatePatterns : public CXFA_Node {
+class CXFA_DatePatterns final : public CXFA_Node {
public:
CXFA_DatePatterns(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DatePatterns() override;
diff --git a/xfa/fxfa/parser/cxfa_datetime.h b/xfa/fxfa/parser/cxfa_datetime.h
index f5cd6f680e..ca71daf6f9 100644
--- a/xfa/fxfa/parser/cxfa_datetime.h
+++ b/xfa/fxfa/parser/cxfa_datetime.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DateTime : public CXFA_Node {
+class CXFA_DateTime final : public CXFA_Node {
public:
CXFA_DateTime(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DateTime() override;
diff --git a/xfa/fxfa/parser/cxfa_datetimeedit.h b/xfa/fxfa/parser/cxfa_datetimeedit.h
index 662a1ef9a2..de76e2a35e 100644
--- a/xfa/fxfa/parser/cxfa_datetimeedit.h
+++ b/xfa/fxfa/parser/cxfa_datetimeedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DateTimeEdit : public CXFA_Node {
+class CXFA_DateTimeEdit final : public CXFA_Node {
public:
CXFA_DateTimeEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DateTimeEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_datetimesymbols.h b/xfa/fxfa/parser/cxfa_datetimesymbols.h
index e2296d6fd9..cfbe0695f2 100644
--- a/xfa/fxfa/parser/cxfa_datetimesymbols.h
+++ b/xfa/fxfa/parser/cxfa_datetimesymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DateTimeSymbols : public CXFA_Node {
+class CXFA_DateTimeSymbols final : public CXFA_Node {
public:
CXFA_DateTimeSymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DateTimeSymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_day.h b/xfa/fxfa/parser/cxfa_day.h
index 8d04bf4fb7..6fb2f45692 100644
--- a/xfa/fxfa/parser/cxfa_day.h
+++ b/xfa/fxfa/parser/cxfa_day.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Day : public CXFA_Node {
+class CXFA_Day final : public CXFA_Node {
public:
CXFA_Day(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Day() override;
diff --git a/xfa/fxfa/parser/cxfa_daynames.h b/xfa/fxfa/parser/cxfa_daynames.h
index d566e50e70..229d69c070 100644
--- a/xfa/fxfa/parser/cxfa_daynames.h
+++ b/xfa/fxfa/parser/cxfa_daynames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DayNames : public CXFA_Node {
+class CXFA_DayNames final : public CXFA_Node {
public:
CXFA_DayNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DayNames() override;
diff --git a/xfa/fxfa/parser/cxfa_debug.h b/xfa/fxfa/parser/cxfa_debug.h
index e2e4ed19c4..1a254f0ab3 100644
--- a/xfa/fxfa/parser/cxfa_debug.h
+++ b/xfa/fxfa/parser/cxfa_debug.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Debug : public CXFA_Node {
+class CXFA_Debug final : public CXFA_Node {
public:
CXFA_Debug(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Debug() override;
diff --git a/xfa/fxfa/parser/cxfa_decimal.h b/xfa/fxfa/parser/cxfa_decimal.h
index da588964be..668f61ab19 100644
--- a/xfa/fxfa/parser/cxfa_decimal.h
+++ b/xfa/fxfa/parser/cxfa_decimal.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Decimal : public CXFA_Node {
+class CXFA_Decimal final : public CXFA_Node {
public:
CXFA_Decimal(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Decimal() override;
diff --git a/xfa/fxfa/parser/cxfa_defaulttypeface.h b/xfa/fxfa/parser/cxfa_defaulttypeface.h
index 511ed8f8f2..a241bf8a5c 100644
--- a/xfa/fxfa/parser/cxfa_defaulttypeface.h
+++ b/xfa/fxfa/parser/cxfa_defaulttypeface.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DefaultTypeface : public CXFA_Node {
+class CXFA_DefaultTypeface final : public CXFA_Node {
public:
CXFA_DefaultTypeface(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DefaultTypeface() override;
diff --git a/xfa/fxfa/parser/cxfa_defaultui.h b/xfa/fxfa/parser/cxfa_defaultui.h
index 5c20370fd2..d09da0b6ea 100644
--- a/xfa/fxfa/parser/cxfa_defaultui.h
+++ b/xfa/fxfa/parser/cxfa_defaultui.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DefaultUi : public CXFA_Node {
+class CXFA_DefaultUi final : public CXFA_Node {
public:
CXFA_DefaultUi(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DefaultUi() override;
diff --git a/xfa/fxfa/parser/cxfa_delete.h b/xfa/fxfa/parser/cxfa_delete.h
index 7c6058ab4f..0ea6ab33fb 100644
--- a/xfa/fxfa/parser/cxfa_delete.h
+++ b/xfa/fxfa/parser/cxfa_delete.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Delete : public CXFA_Node {
+class CXFA_Delete final : public CXFA_Node {
public:
CXFA_Delete(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Delete() override;
diff --git a/xfa/fxfa/parser/cxfa_delta.h b/xfa/fxfa/parser/cxfa_delta.h
index 693287ba3f..40bfa56b17 100644
--- a/xfa/fxfa/parser/cxfa_delta.h
+++ b/xfa/fxfa/parser/cxfa_delta.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Delta : public CXFA_Node {
+class CXFA_Delta final : public CXFA_Node {
public:
CXFA_Delta(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Delta() override;
diff --git a/xfa/fxfa/parser/cxfa_desc.h b/xfa/fxfa/parser/cxfa_desc.h
index 1811c63002..11baa90060 100644
--- a/xfa/fxfa/parser/cxfa_desc.h
+++ b/xfa/fxfa/parser/cxfa_desc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Desc : public CXFA_Node {
+class CXFA_Desc final : public CXFA_Node {
public:
CXFA_Desc(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Desc() override;
diff --git a/xfa/fxfa/parser/cxfa_destination.h b/xfa/fxfa/parser/cxfa_destination.h
index d9fc55329c..d31434faa4 100644
--- a/xfa/fxfa/parser/cxfa_destination.h
+++ b/xfa/fxfa/parser/cxfa_destination.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Destination : public CXFA_Node {
+class CXFA_Destination final : public CXFA_Node {
public:
CXFA_Destination(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Destination() override;
diff --git a/xfa/fxfa/parser/cxfa_digestmethod.h b/xfa/fxfa/parser/cxfa_digestmethod.h
index 4ac22bb06a..777f46a87c 100644
--- a/xfa/fxfa/parser/cxfa_digestmethod.h
+++ b/xfa/fxfa/parser/cxfa_digestmethod.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DigestMethod : public CXFA_Node {
+class CXFA_DigestMethod final : public CXFA_Node {
public:
CXFA_DigestMethod(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DigestMethod() override;
diff --git a/xfa/fxfa/parser/cxfa_digestmethods.h b/xfa/fxfa/parser/cxfa_digestmethods.h
index 65d40fbfca..61dac9799a 100644
--- a/xfa/fxfa/parser/cxfa_digestmethods.h
+++ b/xfa/fxfa/parser/cxfa_digestmethods.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DigestMethods : public CXFA_Node {
+class CXFA_DigestMethods final : public CXFA_Node {
public:
CXFA_DigestMethods(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DigestMethods() override;
diff --git a/xfa/fxfa/parser/cxfa_document.h b/xfa/fxfa/parser/cxfa_document.h
index 590a4cf12a..0449f06b53 100644
--- a/xfa/fxfa/parser/cxfa_document.h
+++ b/xfa/fxfa/parser/cxfa_document.h
@@ -54,7 +54,7 @@ class CXFA_LayoutProcessor;
class CXFA_Node;
class CXFA_Object;
-class CXFA_Document : public CXFA_NodeOwner {
+class CXFA_Document final : public CXFA_NodeOwner {
public:
explicit CXFA_Document(CXFA_FFNotify* notify);
~CXFA_Document() override;
diff --git a/xfa/fxfa/parser/cxfa_documentassembly.h b/xfa/fxfa/parser/cxfa_documentassembly.h
index c22d4a97b0..92cde65f87 100644
--- a/xfa/fxfa/parser/cxfa_documentassembly.h
+++ b/xfa/fxfa/parser/cxfa_documentassembly.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DocumentAssembly : public CXFA_Node {
+class CXFA_DocumentAssembly final : public CXFA_Node {
public:
CXFA_DocumentAssembly(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DocumentAssembly() override;
diff --git a/xfa/fxfa/parser/cxfa_draw.h b/xfa/fxfa/parser/cxfa_draw.h
index 603103b091..c1b900632c 100644
--- a/xfa/fxfa/parser/cxfa_draw.h
+++ b/xfa/fxfa/parser/cxfa_draw.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Draw : public CXFA_Node {
+class CXFA_Draw final : public CXFA_Node {
public:
CXFA_Draw(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Draw() override;
diff --git a/xfa/fxfa/parser/cxfa_driver.h b/xfa/fxfa/parser/cxfa_driver.h
index aee732edf7..f58e153fd2 100644
--- a/xfa/fxfa/parser/cxfa_driver.h
+++ b/xfa/fxfa/parser/cxfa_driver.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Driver : public CXFA_Node {
+class CXFA_Driver final : public CXFA_Node {
public:
CXFA_Driver(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Driver() override;
diff --git a/xfa/fxfa/parser/cxfa_dsigdata.h b/xfa/fxfa/parser/cxfa_dsigdata.h
index 0cbaeb4402..06e691cac4 100644
--- a/xfa/fxfa/parser/cxfa_dsigdata.h
+++ b/xfa/fxfa/parser/cxfa_dsigdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DSigData : public CXFA_Node {
+class CXFA_DSigData final : public CXFA_Node {
public:
CXFA_DSigData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DSigData() override;
diff --git a/xfa/fxfa/parser/cxfa_duplexoption.h b/xfa/fxfa/parser/cxfa_duplexoption.h
index 69034ce594..5bf8e50279 100644
--- a/xfa/fxfa/parser/cxfa_duplexoption.h
+++ b/xfa/fxfa/parser/cxfa_duplexoption.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DuplexOption : public CXFA_Node {
+class CXFA_DuplexOption final : public CXFA_Node {
public:
CXFA_DuplexOption(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DuplexOption() override;
diff --git a/xfa/fxfa/parser/cxfa_dynamicrender.h b/xfa/fxfa/parser/cxfa_dynamicrender.h
index f7c54fafab..78b75a732c 100644
--- a/xfa/fxfa/parser/cxfa_dynamicrender.h
+++ b/xfa/fxfa/parser/cxfa_dynamicrender.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_DynamicRender : public CXFA_Node {
+class CXFA_DynamicRender final : public CXFA_Node {
public:
CXFA_DynamicRender(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_DynamicRender() override;
diff --git a/xfa/fxfa/parser/cxfa_edge.h b/xfa/fxfa/parser/cxfa_edge.h
index 36fee55624..79c7f14681 100644
--- a/xfa/fxfa/parser/cxfa_edge.h
+++ b/xfa/fxfa/parser/cxfa_edge.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_stroke.h"
-class CXFA_Edge : public CXFA_Stroke {
+class CXFA_Edge final : public CXFA_Stroke {
public:
static constexpr FX_ARGB kDefaultColor = 0xFF000000;
diff --git a/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h b/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h
index 52a60a45d9..4f4fb8ecdd 100644
--- a/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h
+++ b/xfa/fxfa/parser/cxfa_effectiveinputpolicy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EffectiveInputPolicy : public CXFA_Node {
+class CXFA_EffectiveInputPolicy final : public CXFA_Node {
public:
CXFA_EffectiveInputPolicy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EffectiveInputPolicy() override;
diff --git a/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h b/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h
index b2317d520e..9b15a47ae8 100644
--- a/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h
+++ b/xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EffectiveOutputPolicy : public CXFA_Node {
+class CXFA_EffectiveOutputPolicy final : public CXFA_Node {
public:
CXFA_EffectiveOutputPolicy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EffectiveOutputPolicy() override;
diff --git a/xfa/fxfa/parser/cxfa_embed.h b/xfa/fxfa/parser/cxfa_embed.h
index d1308407b2..8772b30795 100644
--- a/xfa/fxfa/parser/cxfa_embed.h
+++ b/xfa/fxfa/parser/cxfa_embed.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Embed : public CXFA_Node {
+class CXFA_Embed final : public CXFA_Node {
public:
CXFA_Embed(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Embed() override;
diff --git a/xfa/fxfa/parser/cxfa_encoding.h b/xfa/fxfa/parser/cxfa_encoding.h
index ad41b01b85..b98ea2103c 100644
--- a/xfa/fxfa/parser/cxfa_encoding.h
+++ b/xfa/fxfa/parser/cxfa_encoding.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encoding : public CXFA_Node {
+class CXFA_Encoding final : public CXFA_Node {
public:
CXFA_Encoding(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encoding() override;
diff --git a/xfa/fxfa/parser/cxfa_encodings.h b/xfa/fxfa/parser/cxfa_encodings.h
index d3876deefc..3e8de09e7b 100644
--- a/xfa/fxfa/parser/cxfa_encodings.h
+++ b/xfa/fxfa/parser/cxfa_encodings.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encodings : public CXFA_Node {
+class CXFA_Encodings final : public CXFA_Node {
public:
CXFA_Encodings(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encodings() override;
diff --git a/xfa/fxfa/parser/cxfa_encrypt.h b/xfa/fxfa/parser/cxfa_encrypt.h
index 4968db62c8..afb74b4a30 100644
--- a/xfa/fxfa/parser/cxfa_encrypt.h
+++ b/xfa/fxfa/parser/cxfa_encrypt.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encrypt : public CXFA_Node {
+class CXFA_Encrypt final : public CXFA_Node {
public:
CXFA_Encrypt(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encrypt() override;
diff --git a/xfa/fxfa/parser/cxfa_encryption.h b/xfa/fxfa/parser/cxfa_encryption.h
index f2028ee850..1bcf48fdc0 100644
--- a/xfa/fxfa/parser/cxfa_encryption.h
+++ b/xfa/fxfa/parser/cxfa_encryption.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Encryption : public CXFA_Node {
+class CXFA_Encryption final : public CXFA_Node {
public:
CXFA_Encryption(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Encryption() override;
diff --git a/xfa/fxfa/parser/cxfa_encryptionlevel.h b/xfa/fxfa/parser/cxfa_encryptionlevel.h
index 1bb80ce126..faf300b27d 100644
--- a/xfa/fxfa/parser/cxfa_encryptionlevel.h
+++ b/xfa/fxfa/parser/cxfa_encryptionlevel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EncryptionLevel : public CXFA_Node {
+class CXFA_EncryptionLevel final : public CXFA_Node {
public:
CXFA_EncryptionLevel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EncryptionLevel() override;
diff --git a/xfa/fxfa/parser/cxfa_encryptionmethod.h b/xfa/fxfa/parser/cxfa_encryptionmethod.h
index 2c86001c93..cae708f537 100644
--- a/xfa/fxfa/parser/cxfa_encryptionmethod.h
+++ b/xfa/fxfa/parser/cxfa_encryptionmethod.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EncryptionMethod : public CXFA_Node {
+class CXFA_EncryptionMethod final : public CXFA_Node {
public:
CXFA_EncryptionMethod(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EncryptionMethod() override;
diff --git a/xfa/fxfa/parser/cxfa_encryptionmethods.h b/xfa/fxfa/parser/cxfa_encryptionmethods.h
index 9fcc0b5e9f..825ee9feef 100644
--- a/xfa/fxfa/parser/cxfa_encryptionmethods.h
+++ b/xfa/fxfa/parser/cxfa_encryptionmethods.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EncryptionMethods : public CXFA_Node {
+class CXFA_EncryptionMethods final : public CXFA_Node {
public:
CXFA_EncryptionMethods(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EncryptionMethods() override;
diff --git a/xfa/fxfa/parser/cxfa_enforce.h b/xfa/fxfa/parser/cxfa_enforce.h
index 3ccd8b8f2b..ec7d7453fa 100644
--- a/xfa/fxfa/parser/cxfa_enforce.h
+++ b/xfa/fxfa/parser/cxfa_enforce.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Enforce : public CXFA_Node {
+class CXFA_Enforce final : public CXFA_Node {
public:
CXFA_Enforce(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Enforce() override;
diff --git a/xfa/fxfa/parser/cxfa_equate.h b/xfa/fxfa/parser/cxfa_equate.h
index 0a28182ee8..fc1f8d6fb0 100644
--- a/xfa/fxfa/parser/cxfa_equate.h
+++ b/xfa/fxfa/parser/cxfa_equate.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Equate : public CXFA_Node {
+class CXFA_Equate final : public CXFA_Node {
public:
CXFA_Equate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Equate() override;
diff --git a/xfa/fxfa/parser/cxfa_equaterange.h b/xfa/fxfa/parser/cxfa_equaterange.h
index 86c86b1870..56f05e19e5 100644
--- a/xfa/fxfa/parser/cxfa_equaterange.h
+++ b/xfa/fxfa/parser/cxfa_equaterange.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EquateRange : public CXFA_Node {
+class CXFA_EquateRange final : public CXFA_Node {
public:
CXFA_EquateRange(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EquateRange() override;
diff --git a/xfa/fxfa/parser/cxfa_era.h b/xfa/fxfa/parser/cxfa_era.h
index a46a574180..e0ecdf7a79 100644
--- a/xfa/fxfa/parser/cxfa_era.h
+++ b/xfa/fxfa/parser/cxfa_era.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Era : public CXFA_Node {
+class CXFA_Era final : public CXFA_Node {
public:
CXFA_Era(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Era() override;
diff --git a/xfa/fxfa/parser/cxfa_eranames.h b/xfa/fxfa/parser/cxfa_eranames.h
index 4c8f7880a7..468b658c7f 100644
--- a/xfa/fxfa/parser/cxfa_eranames.h
+++ b/xfa/fxfa/parser/cxfa_eranames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_EraNames : public CXFA_Node {
+class CXFA_EraNames final : public CXFA_Node {
public:
CXFA_EraNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_EraNames() override;
diff --git a/xfa/fxfa/parser/cxfa_event.h b/xfa/fxfa/parser/cxfa_event.h
index 6902b52eef..e7f5e1a7c9 100644
--- a/xfa/fxfa/parser/cxfa_event.h
+++ b/xfa/fxfa/parser/cxfa_event.h
@@ -12,7 +12,7 @@
class CXFA_Script;
class CXFA_Submit;
-class CXFA_Event : public CXFA_Node {
+class CXFA_Event final : public CXFA_Node {
public:
CXFA_Event(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Event() override;
diff --git a/xfa/fxfa/parser/cxfa_exclgroup.h b/xfa/fxfa/parser/cxfa_exclgroup.h
index 5a3c8a3fee..390bb4a225 100644
--- a/xfa/fxfa/parser/cxfa_exclgroup.h
+++ b/xfa/fxfa/parser/cxfa_exclgroup.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExclGroup : public CXFA_Node {
+class CXFA_ExclGroup final : public CXFA_Node {
public:
CXFA_ExclGroup(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExclGroup() override;
diff --git a/xfa/fxfa/parser/cxfa_exclude.h b/xfa/fxfa/parser/cxfa_exclude.h
index 0f78707ea6..71f08fd9a7 100644
--- a/xfa/fxfa/parser/cxfa_exclude.h
+++ b/xfa/fxfa/parser/cxfa_exclude.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Exclude : public CXFA_Node {
+class CXFA_Exclude final : public CXFA_Node {
public:
CXFA_Exclude(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Exclude() override;
diff --git a/xfa/fxfa/parser/cxfa_excludens.h b/xfa/fxfa/parser/cxfa_excludens.h
index c5cb548e53..9ce2e69088 100644
--- a/xfa/fxfa/parser/cxfa_excludens.h
+++ b/xfa/fxfa/parser/cxfa_excludens.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExcludeNS : public CXFA_Node {
+class CXFA_ExcludeNS final : public CXFA_Node {
public:
CXFA_ExcludeNS(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExcludeNS() override;
diff --git a/xfa/fxfa/parser/cxfa_exdata.h b/xfa/fxfa/parser/cxfa_exdata.h
index 8eb3caf76b..8adf028048 100644
--- a/xfa/fxfa/parser/cxfa_exdata.h
+++ b/xfa/fxfa/parser/cxfa_exdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExData : public CXFA_Node {
+class CXFA_ExData final : public CXFA_Node {
public:
CXFA_ExData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExData() override;
diff --git a/xfa/fxfa/parser/cxfa_execute.h b/xfa/fxfa/parser/cxfa_execute.h
index 2d9f1581ad..63fd18b09d 100644
--- a/xfa/fxfa/parser/cxfa_execute.h
+++ b/xfa/fxfa/parser/cxfa_execute.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Execute : public CXFA_Node {
+class CXFA_Execute final : public CXFA_Node {
public:
CXFA_Execute(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Execute() override;
diff --git a/xfa/fxfa/parser/cxfa_exobject.h b/xfa/fxfa/parser/cxfa_exobject.h
index b4d7de9eb8..79ffdb9fbd 100644
--- a/xfa/fxfa/parser/cxfa_exobject.h
+++ b/xfa/fxfa/parser/cxfa_exobject.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ExObject : public CXFA_Node {
+class CXFA_ExObject final : public CXFA_Node {
public:
CXFA_ExObject(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ExObject() override;
diff --git a/xfa/fxfa/parser/cxfa_extras.h b/xfa/fxfa/parser/cxfa_extras.h
index 3b3c6b4a95..82108d0f5c 100644
--- a/xfa/fxfa/parser/cxfa_extras.h
+++ b/xfa/fxfa/parser/cxfa_extras.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Extras : public CXFA_Node {
+class CXFA_Extras final : public CXFA_Node {
public:
CXFA_Extras(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Extras() override;
diff --git a/xfa/fxfa/parser/cxfa_field.h b/xfa/fxfa/parser/cxfa_field.h
index b2f7a052de..e29cdd7fed 100644
--- a/xfa/fxfa/parser/cxfa_field.h
+++ b/xfa/fxfa/parser/cxfa_field.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Field : public CXFA_Node {
+class CXFA_Field final : public CXFA_Node {
public:
CXFA_Field(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Field() override;
diff --git a/xfa/fxfa/parser/cxfa_fill.h b/xfa/fxfa/parser/cxfa_fill.h
index 1ffdcdf2a3..05fede9419 100644
--- a/xfa/fxfa/parser/cxfa_fill.h
+++ b/xfa/fxfa/parser/cxfa_fill.h
@@ -18,7 +18,7 @@ class CXFA_Pattern;
class CXFA_Radial;
class CXFA_Stipple;
-class CXFA_Fill : public CXFA_Node {
+class CXFA_Fill final : public CXFA_Node {
public:
CXFA_Fill(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Fill() override;
diff --git a/xfa/fxfa/parser/cxfa_filter.h b/xfa/fxfa/parser/cxfa_filter.h
index 2ac069ac24..033d97cc90 100644
--- a/xfa/fxfa/parser/cxfa_filter.h
+++ b/xfa/fxfa/parser/cxfa_filter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Filter : public CXFA_Node {
+class CXFA_Filter final : public CXFA_Node {
public:
CXFA_Filter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Filter() override;
diff --git a/xfa/fxfa/parser/cxfa_fliplabel.h b/xfa/fxfa/parser/cxfa_fliplabel.h
index dac0564b51..e3f8165c8b 100644
--- a/xfa/fxfa/parser/cxfa_fliplabel.h
+++ b/xfa/fxfa/parser/cxfa_fliplabel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_FlipLabel : public CXFA_Node {
+class CXFA_FlipLabel final : public CXFA_Node {
public:
CXFA_FlipLabel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_FlipLabel() override;
diff --git a/xfa/fxfa/parser/cxfa_float.h b/xfa/fxfa/parser/cxfa_float.h
index f93b3dd199..a3fc1aef9d 100644
--- a/xfa/fxfa/parser/cxfa_float.h
+++ b/xfa/fxfa/parser/cxfa_float.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Float : public CXFA_Node {
+class CXFA_Float final : public CXFA_Node {
public:
CXFA_Float(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Float() override;
diff --git a/xfa/fxfa/parser/cxfa_font.h b/xfa/fxfa/parser/cxfa_font.h
index 346be76720..fb80a32c80 100644
--- a/xfa/fxfa/parser/cxfa_font.h
+++ b/xfa/fxfa/parser/cxfa_font.h
@@ -10,7 +10,7 @@
#include "core/fxge/fx_dib.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Font : public CXFA_Node {
+class CXFA_Font final : public CXFA_Node {
public:
CXFA_Font(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Font() override;
diff --git a/xfa/fxfa/parser/cxfa_fontinfo.h b/xfa/fxfa/parser/cxfa_fontinfo.h
index f9facd8039..b798c556e0 100644
--- a/xfa/fxfa/parser/cxfa_fontinfo.h
+++ b/xfa/fxfa/parser/cxfa_fontinfo.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_FontInfo : public CXFA_Node {
+class CXFA_FontInfo final : public CXFA_Node {
public:
CXFA_FontInfo(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_FontInfo() override;
diff --git a/xfa/fxfa/parser/cxfa_form.h b/xfa/fxfa/parser/cxfa_form.h
index 39d1d90a40..a0e2f32384 100644
--- a/xfa/fxfa/parser/cxfa_form.h
+++ b/xfa/fxfa/parser/cxfa_form.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Form : public CXFA_Node {
+class CXFA_Form final : public CXFA_Node {
public:
CXFA_Form(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Form() override;
diff --git a/xfa/fxfa/parser/cxfa_format.h b/xfa/fxfa/parser/cxfa_format.h
index 3e31716062..7e74a1c3cc 100644
--- a/xfa/fxfa/parser/cxfa_format.h
+++ b/xfa/fxfa/parser/cxfa_format.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Format : public CXFA_Node {
+class CXFA_Format final : public CXFA_Node {
public:
CXFA_Format(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Format() override;
diff --git a/xfa/fxfa/parser/cxfa_formfieldfilling.h b/xfa/fxfa/parser/cxfa_formfieldfilling.h
index 77f1b8f59a..f9e7447444 100644
--- a/xfa/fxfa/parser/cxfa_formfieldfilling.h
+++ b/xfa/fxfa/parser/cxfa_formfieldfilling.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_FormFieldFilling : public CXFA_Node {
+class CXFA_FormFieldFilling final : public CXFA_Node {
public:
CXFA_FormFieldFilling(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_FormFieldFilling() override;
diff --git a/xfa/fxfa/parser/cxfa_groupparent.h b/xfa/fxfa/parser/cxfa_groupparent.h
index 7de296ce4e..eb63a6a876 100644
--- a/xfa/fxfa/parser/cxfa_groupparent.h
+++ b/xfa/fxfa/parser/cxfa_groupparent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_GroupParent : public CXFA_Node {
+class CXFA_GroupParent final : public CXFA_Node {
public:
CXFA_GroupParent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_GroupParent() override;
diff --git a/xfa/fxfa/parser/cxfa_handler.h b/xfa/fxfa/parser/cxfa_handler.h
index e575c0bc30..1ab1c4de96 100644
--- a/xfa/fxfa/parser/cxfa_handler.h
+++ b/xfa/fxfa/parser/cxfa_handler.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Handler : public CXFA_Node {
+class CXFA_Handler final : public CXFA_Node {
public:
CXFA_Handler(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Handler() override;
diff --git a/xfa/fxfa/parser/cxfa_hyphenation.h b/xfa/fxfa/parser/cxfa_hyphenation.h
index 2601c5fa1d..77b49e9f2b 100644
--- a/xfa/fxfa/parser/cxfa_hyphenation.h
+++ b/xfa/fxfa/parser/cxfa_hyphenation.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Hyphenation : public CXFA_Node {
+class CXFA_Hyphenation final : public CXFA_Node {
public:
CXFA_Hyphenation(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Hyphenation() override;
diff --git a/xfa/fxfa/parser/cxfa_ifempty.h b/xfa/fxfa/parser/cxfa_ifempty.h
index 3c3c1b47a9..401faa7ef2 100644
--- a/xfa/fxfa/parser/cxfa_ifempty.h
+++ b/xfa/fxfa/parser/cxfa_ifempty.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IfEmpty : public CXFA_Node {
+class CXFA_IfEmpty final : public CXFA_Node {
public:
CXFA_IfEmpty(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IfEmpty() override;
diff --git a/xfa/fxfa/parser/cxfa_image.h b/xfa/fxfa/parser/cxfa_image.h
index 3670863a3b..01f12eb849 100644
--- a/xfa/fxfa/parser/cxfa_image.h
+++ b/xfa/fxfa/parser/cxfa_image.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Image : public CXFA_Node {
+class CXFA_Image final : public CXFA_Node {
public:
CXFA_Image(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Image() override;
diff --git a/xfa/fxfa/parser/cxfa_imageedit.h b/xfa/fxfa/parser/cxfa_imageedit.h
index 0a950d8018..884c21935d 100644
--- a/xfa/fxfa/parser/cxfa_imageedit.h
+++ b/xfa/fxfa/parser/cxfa_imageedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ImageEdit : public CXFA_Node {
+class CXFA_ImageEdit final : public CXFA_Node {
public:
CXFA_ImageEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ImageEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_includexdpcontent.h b/xfa/fxfa/parser/cxfa_includexdpcontent.h
index 309a7c6ac6..15c5bbe015 100644
--- a/xfa/fxfa/parser/cxfa_includexdpcontent.h
+++ b/xfa/fxfa/parser/cxfa_includexdpcontent.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IncludeXDPContent : public CXFA_Node {
+class CXFA_IncludeXDPContent final : public CXFA_Node {
public:
CXFA_IncludeXDPContent(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IncludeXDPContent() override;
diff --git a/xfa/fxfa/parser/cxfa_incrementalload.h b/xfa/fxfa/parser/cxfa_incrementalload.h
index 9ea8f29d38..253a2ae3a9 100644
--- a/xfa/fxfa/parser/cxfa_incrementalload.h
+++ b/xfa/fxfa/parser/cxfa_incrementalload.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IncrementalLoad : public CXFA_Node {
+class CXFA_IncrementalLoad final : public CXFA_Node {
public:
CXFA_IncrementalLoad(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IncrementalLoad() override;
diff --git a/xfa/fxfa/parser/cxfa_incrementalmerge.h b/xfa/fxfa/parser/cxfa_incrementalmerge.h
index c8e655434d..4ec65af4f8 100644
--- a/xfa/fxfa/parser/cxfa_incrementalmerge.h
+++ b/xfa/fxfa/parser/cxfa_incrementalmerge.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_IncrementalMerge : public CXFA_Node {
+class CXFA_IncrementalMerge final : public CXFA_Node {
public:
CXFA_IncrementalMerge(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_IncrementalMerge() override;
diff --git a/xfa/fxfa/parser/cxfa_insert.h b/xfa/fxfa/parser/cxfa_insert.h
index 92579c3178..e157a82fcf 100644
--- a/xfa/fxfa/parser/cxfa_insert.h
+++ b/xfa/fxfa/parser/cxfa_insert.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Insert : public CXFA_Node {
+class CXFA_Insert final : public CXFA_Node {
public:
CXFA_Insert(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Insert() override;
diff --git a/xfa/fxfa/parser/cxfa_instancemanager.h b/xfa/fxfa/parser/cxfa_instancemanager.h
index 1910b92288..3ace0e9a3f 100644
--- a/xfa/fxfa/parser/cxfa_instancemanager.h
+++ b/xfa/fxfa/parser/cxfa_instancemanager.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_InstanceManager : public CXFA_Node {
+class CXFA_InstanceManager final : public CXFA_Node {
public:
CXFA_InstanceManager(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_InstanceManager() override;
diff --git a/xfa/fxfa/parser/cxfa_integer.h b/xfa/fxfa/parser/cxfa_integer.h
index 2e5631d3a1..ac941334d3 100644
--- a/xfa/fxfa/parser/cxfa_integer.h
+++ b/xfa/fxfa/parser/cxfa_integer.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Integer : public CXFA_Node {
+class CXFA_Integer final : public CXFA_Node {
public:
CXFA_Integer(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Integer() override;
diff --git a/xfa/fxfa/parser/cxfa_interactive.h b/xfa/fxfa/parser/cxfa_interactive.h
index 69f2918dee..12db0bf9bb 100644
--- a/xfa/fxfa/parser/cxfa_interactive.h
+++ b/xfa/fxfa/parser/cxfa_interactive.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Interactive : public CXFA_Node {
+class CXFA_Interactive final : public CXFA_Node {
public:
CXFA_Interactive(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Interactive() override;
diff --git a/xfa/fxfa/parser/cxfa_issuers.h b/xfa/fxfa/parser/cxfa_issuers.h
index 6b94f15e8c..11ba8b447f 100644
--- a/xfa/fxfa/parser/cxfa_issuers.h
+++ b/xfa/fxfa/parser/cxfa_issuers.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Issuers : public CXFA_Node {
+class CXFA_Issuers final : public CXFA_Node {
public:
CXFA_Issuers(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Issuers() override;
diff --git a/xfa/fxfa/parser/cxfa_items.h b/xfa/fxfa/parser/cxfa_items.h
index 586fabdeca..609b028ff8 100644
--- a/xfa/fxfa/parser/cxfa_items.h
+++ b/xfa/fxfa/parser/cxfa_items.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Items : public CXFA_Node {
+class CXFA_Items final : public CXFA_Node {
public:
CXFA_Items(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Items() override;
diff --git a/xfa/fxfa/parser/cxfa_jog.h b/xfa/fxfa/parser/cxfa_jog.h
index 266ccd1fd4..a40a488d5c 100644
--- a/xfa/fxfa/parser/cxfa_jog.h
+++ b/xfa/fxfa/parser/cxfa_jog.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Jog : public CXFA_Node {
+class CXFA_Jog final : public CXFA_Node {
public:
CXFA_Jog(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Jog() override;
diff --git a/xfa/fxfa/parser/cxfa_keep.h b/xfa/fxfa/parser/cxfa_keep.h
index 7d53f9634a..0d4a2e03c6 100644
--- a/xfa/fxfa/parser/cxfa_keep.h
+++ b/xfa/fxfa/parser/cxfa_keep.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Keep : public CXFA_Node {
+class CXFA_Keep final : public CXFA_Node {
public:
CXFA_Keep(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Keep() override;
diff --git a/xfa/fxfa/parser/cxfa_keyusage.h b/xfa/fxfa/parser/cxfa_keyusage.h
index b25807411b..3409e3f04a 100644
--- a/xfa/fxfa/parser/cxfa_keyusage.h
+++ b/xfa/fxfa/parser/cxfa_keyusage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_KeyUsage : public CXFA_Node {
+class CXFA_KeyUsage final : public CXFA_Node {
public:
CXFA_KeyUsage(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_KeyUsage() override;
diff --git a/xfa/fxfa/parser/cxfa_labelprinter.h b/xfa/fxfa/parser/cxfa_labelprinter.h
index e3f5d3bf75..74a5e822a6 100644
--- a/xfa/fxfa/parser/cxfa_labelprinter.h
+++ b/xfa/fxfa/parser/cxfa_labelprinter.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_LabelPrinter : public CXFA_Node {
+class CXFA_LabelPrinter final : public CXFA_Node {
public:
CXFA_LabelPrinter(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_LabelPrinter() override;
diff --git a/xfa/fxfa/parser/cxfa_layout.h b/xfa/fxfa/parser/cxfa_layout.h
index 93e069e163..ad25efa3ad 100644
--- a/xfa/fxfa/parser/cxfa_layout.h
+++ b/xfa/fxfa/parser/cxfa_layout.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Layout : public CXFA_Node {
+class CXFA_Layout final : public CXFA_Node {
public:
CXFA_Layout(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Layout() override;
diff --git a/xfa/fxfa/parser/cxfa_level.h b/xfa/fxfa/parser/cxfa_level.h
index abdd048232..8cc03dcfb2 100644
--- a/xfa/fxfa/parser/cxfa_level.h
+++ b/xfa/fxfa/parser/cxfa_level.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Level : public CXFA_Node {
+class CXFA_Level final : public CXFA_Node {
public:
CXFA_Level(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Level() override;
diff --git a/xfa/fxfa/parser/cxfa_line.h b/xfa/fxfa/parser/cxfa_line.h
index 18faacd16d..98a132d3c5 100644
--- a/xfa/fxfa/parser/cxfa_line.h
+++ b/xfa/fxfa/parser/cxfa_line.h
@@ -11,7 +11,7 @@
class CXFA_Edge;
-class CXFA_Line : public CXFA_Node {
+class CXFA_Line final : public CXFA_Node {
public:
CXFA_Line(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Line() override;
diff --git a/xfa/fxfa/parser/cxfa_linear.h b/xfa/fxfa/parser/cxfa_linear.h
index bb55f8073c..1315f9ada6 100644
--- a/xfa/fxfa/parser/cxfa_linear.h
+++ b/xfa/fxfa/parser/cxfa_linear.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Linear : public CXFA_Node {
+class CXFA_Linear final : public CXFA_Node {
public:
static constexpr XFA_AttributeEnum kDefaultType = XFA_AttributeEnum::ToRight;
diff --git a/xfa/fxfa/parser/cxfa_linearized.h b/xfa/fxfa/parser/cxfa_linearized.h
index df7846e0a8..d2fe2d75a0 100644
--- a/xfa/fxfa/parser/cxfa_linearized.h
+++ b/xfa/fxfa/parser/cxfa_linearized.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Linearized : public CXFA_Node {
+class CXFA_Linearized final : public CXFA_Node {
public:
CXFA_Linearized(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Linearized() override;
diff --git a/xfa/fxfa/parser/cxfa_locale.h b/xfa/fxfa/parser/cxfa_locale.h
index 3a7e83dc70..67bee33412 100644
--- a/xfa/fxfa/parser/cxfa_locale.h
+++ b/xfa/fxfa/parser/cxfa_locale.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Locale : public CXFA_Node {
+class CXFA_Locale final : public CXFA_Node {
public:
CXFA_Locale(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Locale() override;
diff --git a/xfa/fxfa/parser/cxfa_localeset.h b/xfa/fxfa/parser/cxfa_localeset.h
index 1d65ad11dc..dc6521a426 100644
--- a/xfa/fxfa/parser/cxfa_localeset.h
+++ b/xfa/fxfa/parser/cxfa_localeset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_LocaleSet : public CXFA_Node {
+class CXFA_LocaleSet final : public CXFA_Node {
public:
CXFA_LocaleSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_LocaleSet() override;
diff --git a/xfa/fxfa/parser/cxfa_lockdocument.h b/xfa/fxfa/parser/cxfa_lockdocument.h
index 025031ad7f..1328d340b9 100644
--- a/xfa/fxfa/parser/cxfa_lockdocument.h
+++ b/xfa/fxfa/parser/cxfa_lockdocument.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_LockDocument : public CXFA_Node {
+class CXFA_LockDocument final : public CXFA_Node {
public:
CXFA_LockDocument(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_LockDocument() override;
diff --git a/xfa/fxfa/parser/cxfa_log.h b/xfa/fxfa/parser/cxfa_log.h
index 17fd290f47..27173cd745 100644
--- a/xfa/fxfa/parser/cxfa_log.h
+++ b/xfa/fxfa/parser/cxfa_log.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Log : public CXFA_Node {
+class CXFA_Log final : public CXFA_Node {
public:
CXFA_Log(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Log() override;
diff --git a/xfa/fxfa/parser/cxfa_manifest.h b/xfa/fxfa/parser/cxfa_manifest.h
index a13cdacfae..d5ca05f88d 100644
--- a/xfa/fxfa/parser/cxfa_manifest.h
+++ b/xfa/fxfa/parser/cxfa_manifest.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Manifest : public CXFA_Node {
+class CXFA_Manifest final : public CXFA_Node {
public:
CXFA_Manifest(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Manifest() override;
diff --git a/xfa/fxfa/parser/cxfa_map.h b/xfa/fxfa/parser/cxfa_map.h
index c49568f9ce..f8e0797807 100644
--- a/xfa/fxfa/parser/cxfa_map.h
+++ b/xfa/fxfa/parser/cxfa_map.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Map : public CXFA_Node {
+class CXFA_Map final : public CXFA_Node {
public:
CXFA_Map(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Map() override;
diff --git a/xfa/fxfa/parser/cxfa_margin.h b/xfa/fxfa/parser/cxfa_margin.h
index e7f95b6c9c..813bdfe9d1 100644
--- a/xfa/fxfa/parser/cxfa_margin.h
+++ b/xfa/fxfa/parser/cxfa_margin.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Margin : public CXFA_Node {
+class CXFA_Margin final : public CXFA_Node {
public:
CXFA_Margin(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Margin() override;
diff --git a/xfa/fxfa/parser/cxfa_mdp.h b/xfa/fxfa/parser/cxfa_mdp.h
index 0ae626d557..79b14807ea 100644
--- a/xfa/fxfa/parser/cxfa_mdp.h
+++ b/xfa/fxfa/parser/cxfa_mdp.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Mdp : public CXFA_Node {
+class CXFA_Mdp final : public CXFA_Node {
public:
CXFA_Mdp(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Mdp() override;
diff --git a/xfa/fxfa/parser/cxfa_medium.h b/xfa/fxfa/parser/cxfa_medium.h
index b9b9c5d848..49be83f6b6 100644
--- a/xfa/fxfa/parser/cxfa_medium.h
+++ b/xfa/fxfa/parser/cxfa_medium.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Medium : public CXFA_Node {
+class CXFA_Medium final : public CXFA_Node {
public:
CXFA_Medium(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Medium() override;
diff --git a/xfa/fxfa/parser/cxfa_mediuminfo.h b/xfa/fxfa/parser/cxfa_mediuminfo.h
index da100eaec2..65e58df2f3 100644
--- a/xfa/fxfa/parser/cxfa_mediuminfo.h
+++ b/xfa/fxfa/parser/cxfa_mediuminfo.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MediumInfo : public CXFA_Node {
+class CXFA_MediumInfo final : public CXFA_Node {
public:
CXFA_MediumInfo(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MediumInfo() override;
diff --git a/xfa/fxfa/parser/cxfa_meridiem.h b/xfa/fxfa/parser/cxfa_meridiem.h
index 30bd4b06cc..40c956cbd2 100644
--- a/xfa/fxfa/parser/cxfa_meridiem.h
+++ b/xfa/fxfa/parser/cxfa_meridiem.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Meridiem : public CXFA_Node {
+class CXFA_Meridiem final : public CXFA_Node {
public:
CXFA_Meridiem(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Meridiem() override;
diff --git a/xfa/fxfa/parser/cxfa_meridiemnames.h b/xfa/fxfa/parser/cxfa_meridiemnames.h
index 8cade217e4..00fbbb7323 100644
--- a/xfa/fxfa/parser/cxfa_meridiemnames.h
+++ b/xfa/fxfa/parser/cxfa_meridiemnames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MeridiemNames : public CXFA_Node {
+class CXFA_MeridiemNames final : public CXFA_Node {
public:
CXFA_MeridiemNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MeridiemNames() override;
diff --git a/xfa/fxfa/parser/cxfa_message.h b/xfa/fxfa/parser/cxfa_message.h
index f172e061a3..81cb751371 100644
--- a/xfa/fxfa/parser/cxfa_message.h
+++ b/xfa/fxfa/parser/cxfa_message.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Message : public CXFA_Node {
+class CXFA_Message final : public CXFA_Node {
public:
CXFA_Message(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Message() override;
diff --git a/xfa/fxfa/parser/cxfa_messaging.h b/xfa/fxfa/parser/cxfa_messaging.h
index 48d16b3b9a..86e16f39a8 100644
--- a/xfa/fxfa/parser/cxfa_messaging.h
+++ b/xfa/fxfa/parser/cxfa_messaging.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Messaging : public CXFA_Node {
+class CXFA_Messaging final : public CXFA_Node {
public:
CXFA_Messaging(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Messaging() override;
diff --git a/xfa/fxfa/parser/cxfa_mode.h b/xfa/fxfa/parser/cxfa_mode.h
index 1dfd426d98..46675db98f 100644
--- a/xfa/fxfa/parser/cxfa_mode.h
+++ b/xfa/fxfa/parser/cxfa_mode.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Mode : public CXFA_Node {
+class CXFA_Mode final : public CXFA_Node {
public:
CXFA_Mode(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Mode() override;
diff --git a/xfa/fxfa/parser/cxfa_modifyannots.h b/xfa/fxfa/parser/cxfa_modifyannots.h
index 4e10921cca..c92b05b397 100644
--- a/xfa/fxfa/parser/cxfa_modifyannots.h
+++ b/xfa/fxfa/parser/cxfa_modifyannots.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ModifyAnnots : public CXFA_Node {
+class CXFA_ModifyAnnots final : public CXFA_Node {
public:
CXFA_ModifyAnnots(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ModifyAnnots() override;
diff --git a/xfa/fxfa/parser/cxfa_month.h b/xfa/fxfa/parser/cxfa_month.h
index 69361f540c..f63095d051 100644
--- a/xfa/fxfa/parser/cxfa_month.h
+++ b/xfa/fxfa/parser/cxfa_month.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Month : public CXFA_Node {
+class CXFA_Month final : public CXFA_Node {
public:
CXFA_Month(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Month() override;
diff --git a/xfa/fxfa/parser/cxfa_monthnames.h b/xfa/fxfa/parser/cxfa_monthnames.h
index f95512b3aa..cf0c3317c5 100644
--- a/xfa/fxfa/parser/cxfa_monthnames.h
+++ b/xfa/fxfa/parser/cxfa_monthnames.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MonthNames : public CXFA_Node {
+class CXFA_MonthNames final : public CXFA_Node {
public:
CXFA_MonthNames(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MonthNames() override;
diff --git a/xfa/fxfa/parser/cxfa_msgid.h b/xfa/fxfa/parser/cxfa_msgid.h
index 333085a37b..4c166d730f 100644
--- a/xfa/fxfa/parser/cxfa_msgid.h
+++ b/xfa/fxfa/parser/cxfa_msgid.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_MsgId : public CXFA_Node {
+class CXFA_MsgId final : public CXFA_Node {
public:
CXFA_MsgId(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_MsgId() override;
diff --git a/xfa/fxfa/parser/cxfa_nameattr.h b/xfa/fxfa/parser/cxfa_nameattr.h
index 05514c020b..f346bf64e9 100644
--- a/xfa/fxfa/parser/cxfa_nameattr.h
+++ b/xfa/fxfa/parser/cxfa_nameattr.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NameAttr : public CXFA_Node {
+class CXFA_NameAttr final : public CXFA_Node {
public:
CXFA_NameAttr(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NameAttr() override;
diff --git a/xfa/fxfa/parser/cxfa_neverembed.h b/xfa/fxfa/parser/cxfa_neverembed.h
index 11ec928339..70f90a3e13 100644
--- a/xfa/fxfa/parser/cxfa_neverembed.h
+++ b/xfa/fxfa/parser/cxfa_neverembed.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NeverEmbed : public CXFA_Node {
+class CXFA_NeverEmbed final : public CXFA_Node {
public:
CXFA_NeverEmbed(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NeverEmbed() override;
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 7e582c0518..7d707d0baa 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -418,7 +418,7 @@ class CXFA_WidgetLayoutData {
float m_fWidgetHeight = -1.0f;
};
-class CXFA_TextLayoutData : public CXFA_WidgetLayoutData {
+class CXFA_TextLayoutData final : public CXFA_WidgetLayoutData {
public:
CXFA_TextLayoutData() = default;
~CXFA_TextLayoutData() override = default;
@@ -443,7 +443,7 @@ class CXFA_TextLayoutData : public CXFA_WidgetLayoutData {
std::unique_ptr<CXFA_TextProvider> m_pTextProvider;
};
-class CXFA_ImageLayoutData : public CXFA_WidgetLayoutData {
+class CXFA_ImageLayoutData final : public CXFA_WidgetLayoutData {
public:
CXFA_ImageLayoutData() = default;
~CXFA_ImageLayoutData() override = default;
@@ -503,7 +503,7 @@ class CXFA_FieldLayoutData : public CXFA_WidgetLayoutData {
std::vector<float> m_FieldSplitArray;
};
-class CXFA_TextEditData : public CXFA_FieldLayoutData {
+class CXFA_TextEditData final : public CXFA_FieldLayoutData {
public:
CXFA_TextEditData() = default;
~CXFA_TextEditData() override = default;
@@ -511,7 +511,7 @@ class CXFA_TextEditData : public CXFA_FieldLayoutData {
CXFA_TextEditData* AsTextEditData() override { return this; }
};
-class CXFA_ImageEditData : public CXFA_FieldLayoutData {
+class CXFA_ImageEditData final : public CXFA_FieldLayoutData {
public:
CXFA_ImageEditData() = default;
~CXFA_ImageEditData() override = default;
diff --git a/xfa/fxfa/parser/cxfa_node_unittest.cpp b/xfa/fxfa/parser/cxfa_node_unittest.cpp
index 81e21890df..7b3c09df3a 100644
--- a/xfa/fxfa/parser/cxfa_node_unittest.cpp
+++ b/xfa/fxfa/parser/cxfa_node_unittest.cpp
@@ -10,7 +10,7 @@
namespace {
-class TestNode : public CXFA_Node {
+class TestNode final : public CXFA_Node {
public:
explicit TestNode(CXFA_Document* doc)
: CXFA_Node(doc,
diff --git a/xfa/fxfa/parser/cxfa_nodelocale.h b/xfa/fxfa/parser/cxfa_nodelocale.h
index e802cd9b34..da6846b581 100644
--- a/xfa/fxfa/parser/cxfa_nodelocale.h
+++ b/xfa/fxfa/parser/cxfa_nodelocale.h
@@ -16,7 +16,7 @@ class CXFA_Node;
WideString XFA_PatternToString(FX_LOCALENUMSUBCATEGORY category);
-class CXFA_NodeLocale : public LocaleIface {
+class CXFA_NodeLocale final : public LocaleIface {
public:
explicit CXFA_NodeLocale(CXFA_Node* pLocale);
~CXFA_NodeLocale() override;
diff --git a/xfa/fxfa/parser/cxfa_numberofcopies.h b/xfa/fxfa/parser/cxfa_numberofcopies.h
index 04bb599984..3215bb31da 100644
--- a/xfa/fxfa/parser/cxfa_numberofcopies.h
+++ b/xfa/fxfa/parser/cxfa_numberofcopies.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberOfCopies : public CXFA_Node {
+class CXFA_NumberOfCopies final : public CXFA_Node {
public:
CXFA_NumberOfCopies(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberOfCopies() override;
diff --git a/xfa/fxfa/parser/cxfa_numberpattern.h b/xfa/fxfa/parser/cxfa_numberpattern.h
index 0a4fabd2a2..5c42d4658a 100644
--- a/xfa/fxfa/parser/cxfa_numberpattern.h
+++ b/xfa/fxfa/parser/cxfa_numberpattern.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberPattern : public CXFA_Node {
+class CXFA_NumberPattern final : public CXFA_Node {
public:
CXFA_NumberPattern(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberPattern() override;
diff --git a/xfa/fxfa/parser/cxfa_numberpatterns.h b/xfa/fxfa/parser/cxfa_numberpatterns.h
index ef4f8893a2..58c8cb6a6f 100644
--- a/xfa/fxfa/parser/cxfa_numberpatterns.h
+++ b/xfa/fxfa/parser/cxfa_numberpatterns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberPatterns : public CXFA_Node {
+class CXFA_NumberPatterns final : public CXFA_Node {
public:
CXFA_NumberPatterns(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberPatterns() override;
diff --git a/xfa/fxfa/parser/cxfa_numbersymbol.h b/xfa/fxfa/parser/cxfa_numbersymbol.h
index c164b0381b..404f366cfa 100644
--- a/xfa/fxfa/parser/cxfa_numbersymbol.h
+++ b/xfa/fxfa/parser/cxfa_numbersymbol.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberSymbol : public CXFA_Node {
+class CXFA_NumberSymbol final : public CXFA_Node {
public:
CXFA_NumberSymbol(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberSymbol() override;
diff --git a/xfa/fxfa/parser/cxfa_numbersymbols.h b/xfa/fxfa/parser/cxfa_numbersymbols.h
index 972df9f455..37bb6fc1c8 100644
--- a/xfa/fxfa/parser/cxfa_numbersymbols.h
+++ b/xfa/fxfa/parser/cxfa_numbersymbols.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumberSymbols : public CXFA_Node {
+class CXFA_NumberSymbols final : public CXFA_Node {
public:
CXFA_NumberSymbols(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumberSymbols() override;
diff --git a/xfa/fxfa/parser/cxfa_numericedit.h b/xfa/fxfa/parser/cxfa_numericedit.h
index 1a96f467c9..145bf087a9 100644
--- a/xfa/fxfa/parser/cxfa_numericedit.h
+++ b/xfa/fxfa/parser/cxfa_numericedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_NumericEdit : public CXFA_Node {
+class CXFA_NumericEdit final : public CXFA_Node {
public:
CXFA_NumericEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_NumericEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_occur.h b/xfa/fxfa/parser/cxfa_occur.h
index 070c15ca46..58029a3763 100644
--- a/xfa/fxfa/parser/cxfa_occur.h
+++ b/xfa/fxfa/parser/cxfa_occur.h
@@ -11,7 +11,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Occur : public CXFA_Node {
+class CXFA_Occur final : public CXFA_Node {
public:
static constexpr int32_t kDefaultMax = 1;
static constexpr int32_t kDefaultMin = 1;
diff --git a/xfa/fxfa/parser/cxfa_oid.h b/xfa/fxfa/parser/cxfa_oid.h
index 45abf8ba7d..c9ccb7196a 100644
--- a/xfa/fxfa/parser/cxfa_oid.h
+++ b/xfa/fxfa/parser/cxfa_oid.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Oid : public CXFA_Node {
+class CXFA_Oid final : public CXFA_Node {
public:
CXFA_Oid(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Oid() override;
diff --git a/xfa/fxfa/parser/cxfa_oids.h b/xfa/fxfa/parser/cxfa_oids.h
index cc8cd9c2de..f5376015f5 100644
--- a/xfa/fxfa/parser/cxfa_oids.h
+++ b/xfa/fxfa/parser/cxfa_oids.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Oids : public CXFA_Node {
+class CXFA_Oids final : public CXFA_Node {
public:
CXFA_Oids(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Oids() override;
diff --git a/xfa/fxfa/parser/cxfa_openaction.h b/xfa/fxfa/parser/cxfa_openaction.h
index d84eb2974f..2eff67cd88 100644
--- a/xfa/fxfa/parser/cxfa_openaction.h
+++ b/xfa/fxfa/parser/cxfa_openaction.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_OpenAction : public CXFA_Node {
+class CXFA_OpenAction final : public CXFA_Node {
public:
CXFA_OpenAction(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_OpenAction() override;
diff --git a/xfa/fxfa/parser/cxfa_operation.h b/xfa/fxfa/parser/cxfa_operation.h
index 454a354873..4df63aa3a4 100644
--- a/xfa/fxfa/parser/cxfa_operation.h
+++ b/xfa/fxfa/parser/cxfa_operation.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Operation : public CXFA_Node {
+class CXFA_Operation final : public CXFA_Node {
public:
CXFA_Operation(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Operation() override;
diff --git a/xfa/fxfa/parser/cxfa_output.h b/xfa/fxfa/parser/cxfa_output.h
index 2eb139113b..45555be5ae 100644
--- a/xfa/fxfa/parser/cxfa_output.h
+++ b/xfa/fxfa/parser/cxfa_output.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Output : public CXFA_Node {
+class CXFA_Output final : public CXFA_Node {
public:
CXFA_Output(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Output() override;
diff --git a/xfa/fxfa/parser/cxfa_outputbin.h b/xfa/fxfa/parser/cxfa_outputbin.h
index 25a1ae0a73..7ab4540e19 100644
--- a/xfa/fxfa/parser/cxfa_outputbin.h
+++ b/xfa/fxfa/parser/cxfa_outputbin.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_OutputBin : public CXFA_Node {
+class CXFA_OutputBin final : public CXFA_Node {
public:
CXFA_OutputBin(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_OutputBin() override;
diff --git a/xfa/fxfa/parser/cxfa_outputxsl.h b/xfa/fxfa/parser/cxfa_outputxsl.h
index 45355236c0..361ea4247b 100644
--- a/xfa/fxfa/parser/cxfa_outputxsl.h
+++ b/xfa/fxfa/parser/cxfa_outputxsl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_OutputXSL : public CXFA_Node {
+class CXFA_OutputXSL final : public CXFA_Node {
public:
CXFA_OutputXSL(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_OutputXSL() override;
diff --git a/xfa/fxfa/parser/cxfa_overflow.h b/xfa/fxfa/parser/cxfa_overflow.h
index e6627bacb7..da2717a9c5 100644
--- a/xfa/fxfa/parser/cxfa_overflow.h
+++ b/xfa/fxfa/parser/cxfa_overflow.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Overflow : public CXFA_Node {
+class CXFA_Overflow final : public CXFA_Node {
public:
CXFA_Overflow(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Overflow() override;
diff --git a/xfa/fxfa/parser/cxfa_overprint.h b/xfa/fxfa/parser/cxfa_overprint.h
index a9ec2416f0..e5e360d2a7 100644
--- a/xfa/fxfa/parser/cxfa_overprint.h
+++ b/xfa/fxfa/parser/cxfa_overprint.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Overprint : public CXFA_Node {
+class CXFA_Overprint final : public CXFA_Node {
public:
CXFA_Overprint(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Overprint() override;
diff --git a/xfa/fxfa/parser/cxfa_packet.h b/xfa/fxfa/parser/cxfa_packet.h
index 6bda61d429..c94c74c48b 100644
--- a/xfa/fxfa/parser/cxfa_packet.h
+++ b/xfa/fxfa/parser/cxfa_packet.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Packet : public CXFA_Node {
+class CXFA_Packet final : public CXFA_Node {
public:
CXFA_Packet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Packet() override;
diff --git a/xfa/fxfa/parser/cxfa_packets.h b/xfa/fxfa/parser/cxfa_packets.h
index ebf29b670b..5e0f4086ec 100644
--- a/xfa/fxfa/parser/cxfa_packets.h
+++ b/xfa/fxfa/parser/cxfa_packets.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Packets : public CXFA_Node {
+class CXFA_Packets final : public CXFA_Node {
public:
CXFA_Packets(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Packets() override;
diff --git a/xfa/fxfa/parser/cxfa_pagearea.h b/xfa/fxfa/parser/cxfa_pagearea.h
index f3cab1e073..8a8afaa0d3 100644
--- a/xfa/fxfa/parser/cxfa_pagearea.h
+++ b/xfa/fxfa/parser/cxfa_pagearea.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageArea : public CXFA_Node {
+class CXFA_PageArea final : public CXFA_Node {
public:
CXFA_PageArea(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageArea() override;
diff --git a/xfa/fxfa/parser/cxfa_pageoffset.h b/xfa/fxfa/parser/cxfa_pageoffset.h
index a396c57baf..d090b116c3 100644
--- a/xfa/fxfa/parser/cxfa_pageoffset.h
+++ b/xfa/fxfa/parser/cxfa_pageoffset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageOffset : public CXFA_Node {
+class CXFA_PageOffset final : public CXFA_Node {
public:
CXFA_PageOffset(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageOffset() override;
diff --git a/xfa/fxfa/parser/cxfa_pagerange.h b/xfa/fxfa/parser/cxfa_pagerange.h
index 949276aa9c..a0317b50b0 100644
--- a/xfa/fxfa/parser/cxfa_pagerange.h
+++ b/xfa/fxfa/parser/cxfa_pagerange.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageRange : public CXFA_Node {
+class CXFA_PageRange final : public CXFA_Node {
public:
CXFA_PageRange(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageRange() override;
diff --git a/xfa/fxfa/parser/cxfa_pageset.h b/xfa/fxfa/parser/cxfa_pageset.h
index 9cc3b1708e..da71581c63 100644
--- a/xfa/fxfa/parser/cxfa_pageset.h
+++ b/xfa/fxfa/parser/cxfa_pageset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PageSet : public CXFA_Node {
+class CXFA_PageSet final : public CXFA_Node {
public:
CXFA_PageSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PageSet() override;
diff --git a/xfa/fxfa/parser/cxfa_pagination.h b/xfa/fxfa/parser/cxfa_pagination.h
index a455ecbaed..9bbd820e21 100644
--- a/xfa/fxfa/parser/cxfa_pagination.h
+++ b/xfa/fxfa/parser/cxfa_pagination.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pagination : public CXFA_Node {
+class CXFA_Pagination final : public CXFA_Node {
public:
CXFA_Pagination(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pagination() override;
diff --git a/xfa/fxfa/parser/cxfa_paginationoverride.h b/xfa/fxfa/parser/cxfa_paginationoverride.h
index 9cc9528244..4f0efbabf0 100644
--- a/xfa/fxfa/parser/cxfa_paginationoverride.h
+++ b/xfa/fxfa/parser/cxfa_paginationoverride.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PaginationOverride : public CXFA_Node {
+class CXFA_PaginationOverride final : public CXFA_Node {
public:
CXFA_PaginationOverride(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PaginationOverride() override;
diff --git a/xfa/fxfa/parser/cxfa_para.h b/xfa/fxfa/parser/cxfa_para.h
index afb48ce819..7fd39a65c6 100644
--- a/xfa/fxfa/parser/cxfa_para.h
+++ b/xfa/fxfa/parser/cxfa_para.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Para : public CXFA_Node {
+class CXFA_Para final : public CXFA_Node {
public:
CXFA_Para(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Para() override;
diff --git a/xfa/fxfa/parser/cxfa_part.h b/xfa/fxfa/parser/cxfa_part.h
index 3db76399a7..99c2c59b87 100644
--- a/xfa/fxfa/parser/cxfa_part.h
+++ b/xfa/fxfa/parser/cxfa_part.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Part : public CXFA_Node {
+class CXFA_Part final : public CXFA_Node {
public:
CXFA_Part(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Part() override;
diff --git a/xfa/fxfa/parser/cxfa_password.h b/xfa/fxfa/parser/cxfa_password.h
index 904f91fd3d..a2cbca7ac6 100644
--- a/xfa/fxfa/parser/cxfa_password.h
+++ b/xfa/fxfa/parser/cxfa_password.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Password : public CXFA_Node {
+class CXFA_Password final : public CXFA_Node {
public:
CXFA_Password(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Password() override;
diff --git a/xfa/fxfa/parser/cxfa_passwordedit.h b/xfa/fxfa/parser/cxfa_passwordedit.h
index 6c8e8e5856..fae812fd2b 100644
--- a/xfa/fxfa/parser/cxfa_passwordedit.h
+++ b/xfa/fxfa/parser/cxfa_passwordedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PasswordEdit : public CXFA_Node {
+class CXFA_PasswordEdit final : public CXFA_Node {
public:
CXFA_PasswordEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PasswordEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_pattern.h b/xfa/fxfa/parser/cxfa_pattern.h
index 7533ac91a4..04119c4491 100644
--- a/xfa/fxfa/parser/cxfa_pattern.h
+++ b/xfa/fxfa/parser/cxfa_pattern.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Pattern : public CXFA_Node {
+class CXFA_Pattern final : public CXFA_Node {
public:
static constexpr XFA_AttributeEnum kDefaultType = XFA_AttributeEnum::Unknown;
diff --git a/xfa/fxfa/parser/cxfa_pcl.h b/xfa/fxfa/parser/cxfa_pcl.h
index 9b78265794..c9d94d6ffe 100644
--- a/xfa/fxfa/parser/cxfa_pcl.h
+++ b/xfa/fxfa/parser/cxfa_pcl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pcl : public CXFA_Node {
+class CXFA_Pcl final : public CXFA_Node {
public:
CXFA_Pcl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pcl() override;
diff --git a/xfa/fxfa/parser/cxfa_pdf.h b/xfa/fxfa/parser/cxfa_pdf.h
index d0925c8a94..00e4d3831e 100644
--- a/xfa/fxfa/parser/cxfa_pdf.h
+++ b/xfa/fxfa/parser/cxfa_pdf.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pdf : public CXFA_Node {
+class CXFA_Pdf final : public CXFA_Node {
public:
CXFA_Pdf(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pdf() override;
diff --git a/xfa/fxfa/parser/cxfa_pdfa.h b/xfa/fxfa/parser/cxfa_pdfa.h
index d0816a2733..e43f025888 100644
--- a/xfa/fxfa/parser/cxfa_pdfa.h
+++ b/xfa/fxfa/parser/cxfa_pdfa.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Pdfa : public CXFA_Node {
+class CXFA_Pdfa final : public CXFA_Node {
public:
CXFA_Pdfa(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Pdfa() override;
diff --git a/xfa/fxfa/parser/cxfa_permissions.h b/xfa/fxfa/parser/cxfa_permissions.h
index dca9018b17..79b3bf1a68 100644
--- a/xfa/fxfa/parser/cxfa_permissions.h
+++ b/xfa/fxfa/parser/cxfa_permissions.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Permissions : public CXFA_Node {
+class CXFA_Permissions final : public CXFA_Node {
public:
CXFA_Permissions(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Permissions() override;
diff --git a/xfa/fxfa/parser/cxfa_picktraybypdfsize.h b/xfa/fxfa/parser/cxfa_picktraybypdfsize.h
index ef75e5c8fc..387155251a 100644
--- a/xfa/fxfa/parser/cxfa_picktraybypdfsize.h
+++ b/xfa/fxfa/parser/cxfa_picktraybypdfsize.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PickTrayByPDFSize : public CXFA_Node {
+class CXFA_PickTrayByPDFSize final : public CXFA_Node {
public:
CXFA_PickTrayByPDFSize(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PickTrayByPDFSize() override;
diff --git a/xfa/fxfa/parser/cxfa_picture.h b/xfa/fxfa/parser/cxfa_picture.h
index 9fd2c558e2..304c7b9245 100644
--- a/xfa/fxfa/parser/cxfa_picture.h
+++ b/xfa/fxfa/parser/cxfa_picture.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Picture : public CXFA_Node {
+class CXFA_Picture final : public CXFA_Node {
public:
CXFA_Picture(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Picture() override;
diff --git a/xfa/fxfa/parser/cxfa_plaintextmetadata.h b/xfa/fxfa/parser/cxfa_plaintextmetadata.h
index 03dce65f79..65e0dedd38 100644
--- a/xfa/fxfa/parser/cxfa_plaintextmetadata.h
+++ b/xfa/fxfa/parser/cxfa_plaintextmetadata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PlaintextMetadata : public CXFA_Node {
+class CXFA_PlaintextMetadata final : public CXFA_Node {
public:
CXFA_PlaintextMetadata(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PlaintextMetadata() override;
diff --git a/xfa/fxfa/parser/cxfa_presence.h b/xfa/fxfa/parser/cxfa_presence.h
index a9b7766fe1..1bd6e45665 100644
--- a/xfa/fxfa/parser/cxfa_presence.h
+++ b/xfa/fxfa/parser/cxfa_presence.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Presence : public CXFA_Node {
+class CXFA_Presence final : public CXFA_Node {
public:
CXFA_Presence(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Presence() override;
diff --git a/xfa/fxfa/parser/cxfa_present.h b/xfa/fxfa/parser/cxfa_present.h
index 13b3c61664..36db503553 100644
--- a/xfa/fxfa/parser/cxfa_present.h
+++ b/xfa/fxfa/parser/cxfa_present.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Present : public CXFA_Node {
+class CXFA_Present final : public CXFA_Node {
public:
CXFA_Present(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Present() override;
diff --git a/xfa/fxfa/parser/cxfa_print.h b/xfa/fxfa/parser/cxfa_print.h
index 5f2513e10d..7f6fff9387 100644
--- a/xfa/fxfa/parser/cxfa_print.h
+++ b/xfa/fxfa/parser/cxfa_print.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Print : public CXFA_Node {
+class CXFA_Print final : public CXFA_Node {
public:
CXFA_Print(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Print() override;
diff --git a/xfa/fxfa/parser/cxfa_printername.h b/xfa/fxfa/parser/cxfa_printername.h
index 4f07885ccf..a85d61ef57 100644
--- a/xfa/fxfa/parser/cxfa_printername.h
+++ b/xfa/fxfa/parser/cxfa_printername.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PrinterName : public CXFA_Node {
+class CXFA_PrinterName final : public CXFA_Node {
public:
CXFA_PrinterName(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PrinterName() override;
diff --git a/xfa/fxfa/parser/cxfa_printhighquality.h b/xfa/fxfa/parser/cxfa_printhighquality.h
index 6cd61125bd..6268489abd 100644
--- a/xfa/fxfa/parser/cxfa_printhighquality.h
+++ b/xfa/fxfa/parser/cxfa_printhighquality.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PrintHighQuality : public CXFA_Node {
+class CXFA_PrintHighQuality final : public CXFA_Node {
public:
CXFA_PrintHighQuality(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PrintHighQuality() override;
diff --git a/xfa/fxfa/parser/cxfa_printscaling.h b/xfa/fxfa/parser/cxfa_printscaling.h
index e21d427e2a..76bf112b79 100644
--- a/xfa/fxfa/parser/cxfa_printscaling.h
+++ b/xfa/fxfa/parser/cxfa_printscaling.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PrintScaling : public CXFA_Node {
+class CXFA_PrintScaling final : public CXFA_Node {
public:
CXFA_PrintScaling(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PrintScaling() override;
diff --git a/xfa/fxfa/parser/cxfa_producer.h b/xfa/fxfa/parser/cxfa_producer.h
index 584826e752..c40a334b0d 100644
--- a/xfa/fxfa/parser/cxfa_producer.h
+++ b/xfa/fxfa/parser/cxfa_producer.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Producer : public CXFA_Node {
+class CXFA_Producer final : public CXFA_Node {
public:
CXFA_Producer(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Producer() override;
diff --git a/xfa/fxfa/parser/cxfa_proto.h b/xfa/fxfa/parser/cxfa_proto.h
index 8e1d84a54e..5af7ba2296 100644
--- a/xfa/fxfa/parser/cxfa_proto.h
+++ b/xfa/fxfa/parser/cxfa_proto.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Proto : public CXFA_Node {
+class CXFA_Proto final : public CXFA_Node {
public:
CXFA_Proto(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Proto() override;
diff --git a/xfa/fxfa/parser/cxfa_ps.h b/xfa/fxfa/parser/cxfa_ps.h
index 5ef7e82c5c..f51c510eee 100644
--- a/xfa/fxfa/parser/cxfa_ps.h
+++ b/xfa/fxfa/parser/cxfa_ps.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Ps : public CXFA_Node {
+class CXFA_Ps final : public CXFA_Node {
public:
CXFA_Ps(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Ps() override;
diff --git a/xfa/fxfa/parser/cxfa_psmap.h b/xfa/fxfa/parser/cxfa_psmap.h
index 8297aaa917..802e1233ee 100644
--- a/xfa/fxfa/parser/cxfa_psmap.h
+++ b/xfa/fxfa/parser/cxfa_psmap.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_PsMap : public CXFA_Node {
+class CXFA_PsMap final : public CXFA_Node {
public:
CXFA_PsMap(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_PsMap() override;
diff --git a/xfa/fxfa/parser/cxfa_query.h b/xfa/fxfa/parser/cxfa_query.h
index 548e7fc032..7d62c68a99 100644
--- a/xfa/fxfa/parser/cxfa_query.h
+++ b/xfa/fxfa/parser/cxfa_query.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Query : public CXFA_Node {
+class CXFA_Query final : public CXFA_Node {
public:
CXFA_Query(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Query() override;
diff --git a/xfa/fxfa/parser/cxfa_radial.h b/xfa/fxfa/parser/cxfa_radial.h
index b7ce95c695..8fb30b5d29 100644
--- a/xfa/fxfa/parser/cxfa_radial.h
+++ b/xfa/fxfa/parser/cxfa_radial.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Radial : public CXFA_Node {
+class CXFA_Radial final : public CXFA_Node {
public:
CXFA_Radial(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Radial() override;
diff --git a/xfa/fxfa/parser/cxfa_range.h b/xfa/fxfa/parser/cxfa_range.h
index 23c8d1fc27..5d8920daa0 100644
--- a/xfa/fxfa/parser/cxfa_range.h
+++ b/xfa/fxfa/parser/cxfa_range.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Range : public CXFA_Node {
+class CXFA_Range final : public CXFA_Node {
public:
CXFA_Range(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Range() override;
diff --git a/xfa/fxfa/parser/cxfa_reason.h b/xfa/fxfa/parser/cxfa_reason.h
index 451fd820da..1475637884 100644
--- a/xfa/fxfa/parser/cxfa_reason.h
+++ b/xfa/fxfa/parser/cxfa_reason.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Reason : public CXFA_Node {
+class CXFA_Reason final : public CXFA_Node {
public:
CXFA_Reason(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Reason() override;
diff --git a/xfa/fxfa/parser/cxfa_reasons.h b/xfa/fxfa/parser/cxfa_reasons.h
index 57e9e092c8..673a9b2fcc 100644
--- a/xfa/fxfa/parser/cxfa_reasons.h
+++ b/xfa/fxfa/parser/cxfa_reasons.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Reasons : public CXFA_Node {
+class CXFA_Reasons final : public CXFA_Node {
public:
CXFA_Reasons(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Reasons() override;
diff --git a/xfa/fxfa/parser/cxfa_record.h b/xfa/fxfa/parser/cxfa_record.h
index bd2622da7a..de0d0c4b92 100644
--- a/xfa/fxfa/parser/cxfa_record.h
+++ b/xfa/fxfa/parser/cxfa_record.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Record : public CXFA_Node {
+class CXFA_Record final : public CXFA_Node {
public:
CXFA_Record(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Record() override;
diff --git a/xfa/fxfa/parser/cxfa_recordset.h b/xfa/fxfa/parser/cxfa_recordset.h
index c623516403..a9895bd2ea 100644
--- a/xfa/fxfa/parser/cxfa_recordset.h
+++ b/xfa/fxfa/parser/cxfa_recordset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RecordSet : public CXFA_Node {
+class CXFA_RecordSet final : public CXFA_Node {
public:
CXFA_RecordSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RecordSet() override;
diff --git a/xfa/fxfa/parser/cxfa_ref.h b/xfa/fxfa/parser/cxfa_ref.h
index 630510fe2f..5ab8e004ac 100644
--- a/xfa/fxfa/parser/cxfa_ref.h
+++ b/xfa/fxfa/parser/cxfa_ref.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Ref : public CXFA_Node {
+class CXFA_Ref final : public CXFA_Node {
public:
CXFA_Ref(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Ref() override;
diff --git a/xfa/fxfa/parser/cxfa_relevant.h b/xfa/fxfa/parser/cxfa_relevant.h
index 2018c95e67..03283c3dfd 100644
--- a/xfa/fxfa/parser/cxfa_relevant.h
+++ b/xfa/fxfa/parser/cxfa_relevant.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Relevant : public CXFA_Node {
+class CXFA_Relevant final : public CXFA_Node {
public:
CXFA_Relevant(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Relevant() override;
diff --git a/xfa/fxfa/parser/cxfa_rename.h b/xfa/fxfa/parser/cxfa_rename.h
index 665c85286e..f50d8521c9 100644
--- a/xfa/fxfa/parser/cxfa_rename.h
+++ b/xfa/fxfa/parser/cxfa_rename.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Rename : public CXFA_Node {
+class CXFA_Rename final : public CXFA_Node {
public:
CXFA_Rename(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Rename() override;
diff --git a/xfa/fxfa/parser/cxfa_renderpolicy.h b/xfa/fxfa/parser/cxfa_renderpolicy.h
index 24ddf46d99..4947289827 100644
--- a/xfa/fxfa/parser/cxfa_renderpolicy.h
+++ b/xfa/fxfa/parser/cxfa_renderpolicy.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RenderPolicy : public CXFA_Node {
+class CXFA_RenderPolicy final : public CXFA_Node {
public:
CXFA_RenderPolicy(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RenderPolicy() override;
diff --git a/xfa/fxfa/parser/cxfa_rootelement.h b/xfa/fxfa/parser/cxfa_rootelement.h
index a995e8cc3a..4a9218e6bc 100644
--- a/xfa/fxfa/parser/cxfa_rootelement.h
+++ b/xfa/fxfa/parser/cxfa_rootelement.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RootElement : public CXFA_Node {
+class CXFA_RootElement final : public CXFA_Node {
public:
CXFA_RootElement(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RootElement() override;
diff --git a/xfa/fxfa/parser/cxfa_runscripts.h b/xfa/fxfa/parser/cxfa_runscripts.h
index d2ecaa0f16..2f80b0d2da 100644
--- a/xfa/fxfa/parser/cxfa_runscripts.h
+++ b/xfa/fxfa/parser/cxfa_runscripts.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_RunScripts : public CXFA_Node {
+class CXFA_RunScripts final : public CXFA_Node {
public:
CXFA_RunScripts(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_RunScripts() override;
diff --git a/xfa/fxfa/parser/cxfa_script.h b/xfa/fxfa/parser/cxfa_script.h
index 8ea7aac60b..5f48f45318 100644
--- a/xfa/fxfa/parser/cxfa_script.h
+++ b/xfa/fxfa/parser/cxfa_script.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/widestring.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Script : public CXFA_Node {
+class CXFA_Script final : public CXFA_Node {
public:
enum class Type {
Formcalc = 0,
diff --git a/xfa/fxfa/parser/cxfa_scriptmodel.h b/xfa/fxfa/parser/cxfa_scriptmodel.h
index 40bc96ebc8..a71073e647 100644
--- a/xfa/fxfa/parser/cxfa_scriptmodel.h
+++ b/xfa/fxfa/parser/cxfa_scriptmodel.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ScriptModel : public CXFA_Node {
+class CXFA_ScriptModel final : public CXFA_Node {
public:
CXFA_ScriptModel(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ScriptModel() override;
diff --git a/xfa/fxfa/parser/cxfa_select.h b/xfa/fxfa/parser/cxfa_select.h
index 76651e07c9..82fc0d2fc6 100644
--- a/xfa/fxfa/parser/cxfa_select.h
+++ b/xfa/fxfa/parser/cxfa_select.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Select : public CXFA_Node {
+class CXFA_Select final : public CXFA_Node {
public:
CXFA_Select(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Select() override;
diff --git a/xfa/fxfa/parser/cxfa_setproperty.h b/xfa/fxfa/parser/cxfa_setproperty.h
index 3f8f430465..aab588b5c2 100644
--- a/xfa/fxfa/parser/cxfa_setproperty.h
+++ b/xfa/fxfa/parser/cxfa_setproperty.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SetProperty : public CXFA_Node {
+class CXFA_SetProperty final : public CXFA_Node {
public:
CXFA_SetProperty(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SetProperty() override;
diff --git a/xfa/fxfa/parser/cxfa_severity.h b/xfa/fxfa/parser/cxfa_severity.h
index 711445557a..b2283c9564 100644
--- a/xfa/fxfa/parser/cxfa_severity.h
+++ b/xfa/fxfa/parser/cxfa_severity.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Severity : public CXFA_Node {
+class CXFA_Severity final : public CXFA_Node {
public:
CXFA_Severity(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Severity() override;
diff --git a/xfa/fxfa/parser/cxfa_sharptext.h b/xfa/fxfa/parser/cxfa_sharptext.h
index 89a050b70b..f2a41e8d67 100644
--- a/xfa/fxfa/parser/cxfa_sharptext.h
+++ b/xfa/fxfa/parser/cxfa_sharptext.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Sharptext : public CXFA_Node {
+class CXFA_Sharptext final : public CXFA_Node {
public:
CXFA_Sharptext(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Sharptext() override;
diff --git a/xfa/fxfa/parser/cxfa_sharpxhtml.h b/xfa/fxfa/parser/cxfa_sharpxhtml.h
index 3f6cf793e2..b73789d3ca 100644
--- a/xfa/fxfa/parser/cxfa_sharpxhtml.h
+++ b/xfa/fxfa/parser/cxfa_sharpxhtml.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SharpxHTML : public CXFA_Node {
+class CXFA_SharpxHTML final : public CXFA_Node {
public:
CXFA_SharpxHTML(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SharpxHTML() override;
diff --git a/xfa/fxfa/parser/cxfa_sharpxml.h b/xfa/fxfa/parser/cxfa_sharpxml.h
index a065857a42..b2e467a070 100644
--- a/xfa/fxfa/parser/cxfa_sharpxml.h
+++ b/xfa/fxfa/parser/cxfa_sharpxml.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Sharpxml : public CXFA_Node {
+class CXFA_Sharpxml final : public CXFA_Node {
public:
CXFA_Sharpxml(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Sharpxml() override;
diff --git a/xfa/fxfa/parser/cxfa_signature.h b/xfa/fxfa/parser/cxfa_signature.h
index 3491a1e025..678e892f53 100644
--- a/xfa/fxfa/parser/cxfa_signature.h
+++ b/xfa/fxfa/parser/cxfa_signature.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Signature : public CXFA_Node {
+class CXFA_Signature final : public CXFA_Node {
public:
CXFA_Signature(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Signature() override;
diff --git a/xfa/fxfa/parser/cxfa_signatureproperties.h b/xfa/fxfa/parser/cxfa_signatureproperties.h
index 800b780303..a66346eee5 100644
--- a/xfa/fxfa/parser/cxfa_signatureproperties.h
+++ b/xfa/fxfa/parser/cxfa_signatureproperties.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SignatureProperties : public CXFA_Node {
+class CXFA_SignatureProperties final : public CXFA_Node {
public:
CXFA_SignatureProperties(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SignatureProperties() override;
diff --git a/xfa/fxfa/parser/cxfa_signdata.h b/xfa/fxfa/parser/cxfa_signdata.h
index 3ad39f5fac..e28460dcb0 100644
--- a/xfa/fxfa/parser/cxfa_signdata.h
+++ b/xfa/fxfa/parser/cxfa_signdata.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SignData : public CXFA_Node {
+class CXFA_SignData final : public CXFA_Node {
public:
CXFA_SignData(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SignData() override;
diff --git a/xfa/fxfa/parser/cxfa_signing.h b/xfa/fxfa/parser/cxfa_signing.h
index 6df9a1871d..7c3740324c 100644
--- a/xfa/fxfa/parser/cxfa_signing.h
+++ b/xfa/fxfa/parser/cxfa_signing.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Signing : public CXFA_Node {
+class CXFA_Signing final : public CXFA_Node {
public:
CXFA_Signing(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Signing() override;
diff --git a/xfa/fxfa/parser/cxfa_silentprint.h b/xfa/fxfa/parser/cxfa_silentprint.h
index 6ef5fcf97b..378084d46e 100644
--- a/xfa/fxfa/parser/cxfa_silentprint.h
+++ b/xfa/fxfa/parser/cxfa_silentprint.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SilentPrint : public CXFA_Node {
+class CXFA_SilentPrint final : public CXFA_Node {
public:
CXFA_SilentPrint(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SilentPrint() override;
diff --git a/xfa/fxfa/parser/cxfa_soapaction.h b/xfa/fxfa/parser/cxfa_soapaction.h
index b803eae311..b7f7526d01 100644
--- a/xfa/fxfa/parser/cxfa_soapaction.h
+++ b/xfa/fxfa/parser/cxfa_soapaction.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SoapAction : public CXFA_Node {
+class CXFA_SoapAction final : public CXFA_Node {
public:
CXFA_SoapAction(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SoapAction() override;
diff --git a/xfa/fxfa/parser/cxfa_soapaddress.h b/xfa/fxfa/parser/cxfa_soapaddress.h
index b0feff4427..130ddf3bf6 100644
--- a/xfa/fxfa/parser/cxfa_soapaddress.h
+++ b/xfa/fxfa/parser/cxfa_soapaddress.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SoapAddress : public CXFA_Node {
+class CXFA_SoapAddress final : public CXFA_Node {
public:
CXFA_SoapAddress(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SoapAddress() override;
diff --git a/xfa/fxfa/parser/cxfa_solid.h b/xfa/fxfa/parser/cxfa_solid.h
index ec1e2d08c6..28666efda5 100644
--- a/xfa/fxfa/parser/cxfa_solid.h
+++ b/xfa/fxfa/parser/cxfa_solid.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Solid : public CXFA_Node {
+class CXFA_Solid final : public CXFA_Node {
public:
CXFA_Solid(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Solid() override;
diff --git a/xfa/fxfa/parser/cxfa_source.h b/xfa/fxfa/parser/cxfa_source.h
index af74be89d9..96af0838b0 100644
--- a/xfa/fxfa/parser/cxfa_source.h
+++ b/xfa/fxfa/parser/cxfa_source.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Source : public CXFA_Node {
+class CXFA_Source final : public CXFA_Node {
public:
CXFA_Source(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Source() override;
diff --git a/xfa/fxfa/parser/cxfa_sourceset.h b/xfa/fxfa/parser/cxfa_sourceset.h
index b07e12bd76..c31b94c1ca 100644
--- a/xfa/fxfa/parser/cxfa_sourceset.h
+++ b/xfa/fxfa/parser/cxfa_sourceset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SourceSet : public CXFA_Node {
+class CXFA_SourceSet final : public CXFA_Node {
public:
CXFA_SourceSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SourceSet() override;
diff --git a/xfa/fxfa/parser/cxfa_speak.h b/xfa/fxfa/parser/cxfa_speak.h
index 80ef54b974..54979272c7 100644
--- a/xfa/fxfa/parser/cxfa_speak.h
+++ b/xfa/fxfa/parser/cxfa_speak.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Speak : public CXFA_Node {
+class CXFA_Speak final : public CXFA_Node {
public:
CXFA_Speak(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Speak() override;
diff --git a/xfa/fxfa/parser/cxfa_staple.h b/xfa/fxfa/parser/cxfa_staple.h
index 9651fa4aa8..44ef654206 100644
--- a/xfa/fxfa/parser/cxfa_staple.h
+++ b/xfa/fxfa/parser/cxfa_staple.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Staple : public CXFA_Node {
+class CXFA_Staple final : public CXFA_Node {
public:
CXFA_Staple(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Staple() override;
diff --git a/xfa/fxfa/parser/cxfa_startnode.h b/xfa/fxfa/parser/cxfa_startnode.h
index 51815e547f..b8bab06f43 100644
--- a/xfa/fxfa/parser/cxfa_startnode.h
+++ b/xfa/fxfa/parser/cxfa_startnode.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_StartNode : public CXFA_Node {
+class CXFA_StartNode final : public CXFA_Node {
public:
CXFA_StartNode(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_StartNode() override;
diff --git a/xfa/fxfa/parser/cxfa_startpage.h b/xfa/fxfa/parser/cxfa_startpage.h
index 6262aa7c95..ae0ecee056 100644
--- a/xfa/fxfa/parser/cxfa_startpage.h
+++ b/xfa/fxfa/parser/cxfa_startpage.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_StartPage : public CXFA_Node {
+class CXFA_StartPage final : public CXFA_Node {
public:
CXFA_StartPage(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_StartPage() override;
diff --git a/xfa/fxfa/parser/cxfa_stipple.h b/xfa/fxfa/parser/cxfa_stipple.h
index 839534b9c9..af5581f3d2 100644
--- a/xfa/fxfa/parser/cxfa_stipple.h
+++ b/xfa/fxfa/parser/cxfa_stipple.h
@@ -14,7 +14,7 @@
class CXFA_Color;
class CXFA_Graphics;
-class CXFA_Stipple : public CXFA_Node {
+class CXFA_Stipple final : public CXFA_Node {
public:
static int32_t GetDefaultRate() { return 50; }
diff --git a/xfa/fxfa/parser/cxfa_subform.h b/xfa/fxfa/parser/cxfa_subform.h
index 00b2e17dbc..3d16d10e1b 100644
--- a/xfa/fxfa/parser/cxfa_subform.h
+++ b/xfa/fxfa/parser/cxfa_subform.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Subform : public CXFA_Node {
+class CXFA_Subform final : public CXFA_Node {
public:
CXFA_Subform(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Subform() override;
diff --git a/xfa/fxfa/parser/cxfa_subformset.h b/xfa/fxfa/parser/cxfa_subformset.h
index 8e0f3ea345..12b9e9fba5 100644
--- a/xfa/fxfa/parser/cxfa_subformset.h
+++ b/xfa/fxfa/parser/cxfa_subformset.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubformSet : public CXFA_Node {
+class CXFA_SubformSet final : public CXFA_Node {
public:
CXFA_SubformSet(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubformSet() override;
diff --git a/xfa/fxfa/parser/cxfa_subjectdn.h b/xfa/fxfa/parser/cxfa_subjectdn.h
index 0861d754c4..a4d94d7f68 100644
--- a/xfa/fxfa/parser/cxfa_subjectdn.h
+++ b/xfa/fxfa/parser/cxfa_subjectdn.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubjectDN : public CXFA_Node {
+class CXFA_SubjectDN final : public CXFA_Node {
public:
CXFA_SubjectDN(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubjectDN() override;
diff --git a/xfa/fxfa/parser/cxfa_subjectdns.h b/xfa/fxfa/parser/cxfa_subjectdns.h
index e9d739cc12..03d770bc75 100644
--- a/xfa/fxfa/parser/cxfa_subjectdns.h
+++ b/xfa/fxfa/parser/cxfa_subjectdns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubjectDNs : public CXFA_Node {
+class CXFA_SubjectDNs final : public CXFA_Node {
public:
CXFA_SubjectDNs(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubjectDNs() override;
diff --git a/xfa/fxfa/parser/cxfa_submit.h b/xfa/fxfa/parser/cxfa_submit.h
index 24d5f11796..8f7b4bff9e 100644
--- a/xfa/fxfa/parser/cxfa_submit.h
+++ b/xfa/fxfa/parser/cxfa_submit.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/widestring.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Submit : public CXFA_Node {
+class CXFA_Submit final : public CXFA_Node {
public:
CXFA_Submit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Submit() override;
diff --git a/xfa/fxfa/parser/cxfa_submitformat.h b/xfa/fxfa/parser/cxfa_submitformat.h
index adca1e9d2a..bd6df261dc 100644
--- a/xfa/fxfa/parser/cxfa_submitformat.h
+++ b/xfa/fxfa/parser/cxfa_submitformat.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubmitFormat : public CXFA_Node {
+class CXFA_SubmitFormat final : public CXFA_Node {
public:
CXFA_SubmitFormat(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubmitFormat() override;
diff --git a/xfa/fxfa/parser/cxfa_submiturl.h b/xfa/fxfa/parser/cxfa_submiturl.h
index 8d87db9076..f1914db61a 100644
--- a/xfa/fxfa/parser/cxfa_submiturl.h
+++ b/xfa/fxfa/parser/cxfa_submiturl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubmitUrl : public CXFA_Node {
+class CXFA_SubmitUrl final : public CXFA_Node {
public:
CXFA_SubmitUrl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubmitUrl() override;
diff --git a/xfa/fxfa/parser/cxfa_subsetbelow.h b/xfa/fxfa/parser/cxfa_subsetbelow.h
index db912fef34..230a563ef3 100644
--- a/xfa/fxfa/parser/cxfa_subsetbelow.h
+++ b/xfa/fxfa/parser/cxfa_subsetbelow.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SubsetBelow : public CXFA_Node {
+class CXFA_SubsetBelow final : public CXFA_Node {
public:
CXFA_SubsetBelow(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SubsetBelow() override;
diff --git a/xfa/fxfa/parser/cxfa_suppressbanner.h b/xfa/fxfa/parser/cxfa_suppressbanner.h
index 79013a2d05..40057d0143 100644
--- a/xfa/fxfa/parser/cxfa_suppressbanner.h
+++ b/xfa/fxfa/parser/cxfa_suppressbanner.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_SuppressBanner : public CXFA_Node {
+class CXFA_SuppressBanner final : public CXFA_Node {
public:
CXFA_SuppressBanner(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_SuppressBanner() override;
diff --git a/xfa/fxfa/parser/cxfa_tagged.h b/xfa/fxfa/parser/cxfa_tagged.h
index 50b1ba44a5..ff5442388a 100644
--- a/xfa/fxfa/parser/cxfa_tagged.h
+++ b/xfa/fxfa/parser/cxfa_tagged.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Tagged : public CXFA_Node {
+class CXFA_Tagged final : public CXFA_Node {
public:
CXFA_Tagged(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Tagged() override;
diff --git a/xfa/fxfa/parser/cxfa_template.h b/xfa/fxfa/parser/cxfa_template.h
index 34b035fdc4..fa9b9994b7 100644
--- a/xfa/fxfa/parser/cxfa_template.h
+++ b/xfa/fxfa/parser/cxfa_template.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Template : public CXFA_Node {
+class CXFA_Template final : public CXFA_Node {
public:
CXFA_Template(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Template() override;
diff --git a/xfa/fxfa/parser/cxfa_templatecache.h b/xfa/fxfa/parser/cxfa_templatecache.h
index 45953fe8f2..dd0136de3f 100644
--- a/xfa/fxfa/parser/cxfa_templatecache.h
+++ b/xfa/fxfa/parser/cxfa_templatecache.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TemplateCache : public CXFA_Node {
+class CXFA_TemplateCache final : public CXFA_Node {
public:
CXFA_TemplateCache(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TemplateCache() override;
diff --git a/xfa/fxfa/parser/cxfa_text.h b/xfa/fxfa/parser/cxfa_text.h
index a75aef2b01..811ce1af1b 100644
--- a/xfa/fxfa/parser/cxfa_text.h
+++ b/xfa/fxfa/parser/cxfa_text.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/fx_string.h"
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Text : public CXFA_Node {
+class CXFA_Text final : public CXFA_Node {
public:
CXFA_Text(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Text() override;
diff --git a/xfa/fxfa/parser/cxfa_textedit.h b/xfa/fxfa/parser/cxfa_textedit.h
index 97c9764fc4..d4cafa4d8c 100644
--- a/xfa/fxfa/parser/cxfa_textedit.h
+++ b/xfa/fxfa/parser/cxfa_textedit.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TextEdit : public CXFA_Node {
+class CXFA_TextEdit final : public CXFA_Node {
public:
CXFA_TextEdit(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TextEdit() override;
diff --git a/xfa/fxfa/parser/cxfa_thisproxy.h b/xfa/fxfa/parser/cxfa_thisproxy.h
index f429a2ce8a..4ec6e4a252 100644
--- a/xfa/fxfa/parser/cxfa_thisproxy.h
+++ b/xfa/fxfa/parser/cxfa_thisproxy.h
@@ -12,7 +12,7 @@
class CXFA_Node;
-class CXFA_ThisProxy : public CXFA_Object {
+class CXFA_ThisProxy final : public CXFA_Object {
public:
CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
~CXFA_ThisProxy() override;
diff --git a/xfa/fxfa/parser/cxfa_threshold.h b/xfa/fxfa/parser/cxfa_threshold.h
index 4bde01a215..597b134c19 100644
--- a/xfa/fxfa/parser/cxfa_threshold.h
+++ b/xfa/fxfa/parser/cxfa_threshold.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Threshold : public CXFA_Node {
+class CXFA_Threshold final : public CXFA_Node {
public:
CXFA_Threshold(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Threshold() override;
diff --git a/xfa/fxfa/parser/cxfa_time.h b/xfa/fxfa/parser/cxfa_time.h
index efc6d02a4b..c189bc52b0 100644
--- a/xfa/fxfa/parser/cxfa_time.h
+++ b/xfa/fxfa/parser/cxfa_time.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Time : public CXFA_Node {
+class CXFA_Time final : public CXFA_Node {
public:
CXFA_Time(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Time() override;
diff --git a/xfa/fxfa/parser/cxfa_timepattern.h b/xfa/fxfa/parser/cxfa_timepattern.h
index f796047c62..7c150a9b2f 100644
--- a/xfa/fxfa/parser/cxfa_timepattern.h
+++ b/xfa/fxfa/parser/cxfa_timepattern.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TimePattern : public CXFA_Node {
+class CXFA_TimePattern final : public CXFA_Node {
public:
CXFA_TimePattern(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TimePattern() override;
diff --git a/xfa/fxfa/parser/cxfa_timepatterns.h b/xfa/fxfa/parser/cxfa_timepatterns.h
index be9337d7c4..13c05c8039 100644
--- a/xfa/fxfa/parser/cxfa_timepatterns.h
+++ b/xfa/fxfa/parser/cxfa_timepatterns.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TimePatterns : public CXFA_Node {
+class CXFA_TimePatterns final : public CXFA_Node {
public:
CXFA_TimePatterns(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TimePatterns() override;
diff --git a/xfa/fxfa/parser/cxfa_timestamp.h b/xfa/fxfa/parser/cxfa_timestamp.h
index 7db73e91c7..6a6c1ace35 100644
--- a/xfa/fxfa/parser/cxfa_timestamp.h
+++ b/xfa/fxfa/parser/cxfa_timestamp.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_TimeStamp : public CXFA_Node {
+class CXFA_TimeStamp final : public CXFA_Node {
public:
CXFA_TimeStamp(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_TimeStamp() override;
diff --git a/xfa/fxfa/parser/cxfa_to.h b/xfa/fxfa/parser/cxfa_to.h
index f418f5996e..8510bc28de 100644
--- a/xfa/fxfa/parser/cxfa_to.h
+++ b/xfa/fxfa/parser/cxfa_to.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_To : public CXFA_Node {
+class CXFA_To final : public CXFA_Node {
public:
CXFA_To(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_To() override;
diff --git a/xfa/fxfa/parser/cxfa_tooltip.h b/xfa/fxfa/parser/cxfa_tooltip.h
index 0b13282e99..f46ca623ec 100644
--- a/xfa/fxfa/parser/cxfa_tooltip.h
+++ b/xfa/fxfa/parser/cxfa_tooltip.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ToolTip : public CXFA_Node {
+class CXFA_ToolTip final : public CXFA_Node {
public:
CXFA_ToolTip(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ToolTip() override;
diff --git a/xfa/fxfa/parser/cxfa_trace.h b/xfa/fxfa/parser/cxfa_trace.h
index dec95da6af..1d76f73b97 100644
--- a/xfa/fxfa/parser/cxfa_trace.h
+++ b/xfa/fxfa/parser/cxfa_trace.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Trace : public CXFA_Node {
+class CXFA_Trace final : public CXFA_Node {
public:
CXFA_Trace(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Trace() override;
diff --git a/xfa/fxfa/parser/cxfa_transform.h b/xfa/fxfa/parser/cxfa_transform.h
index fde54e6efa..6409c6c327 100644
--- a/xfa/fxfa/parser/cxfa_transform.h
+++ b/xfa/fxfa/parser/cxfa_transform.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Transform : public CXFA_Node {
+class CXFA_Transform final : public CXFA_Node {
public:
CXFA_Transform(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Transform() override;
diff --git a/xfa/fxfa/parser/cxfa_traversal.h b/xfa/fxfa/parser/cxfa_traversal.h
index 47422b2fcb..154211bdec 100644
--- a/xfa/fxfa/parser/cxfa_traversal.h
+++ b/xfa/fxfa/parser/cxfa_traversal.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Traversal : public CXFA_Node {
+class CXFA_Traversal final : public CXFA_Node {
public:
CXFA_Traversal(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Traversal() override;
diff --git a/xfa/fxfa/parser/cxfa_traverse.h b/xfa/fxfa/parser/cxfa_traverse.h
index de33cb7798..dec5b89f9c 100644
--- a/xfa/fxfa/parser/cxfa_traverse.h
+++ b/xfa/fxfa/parser/cxfa_traverse.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Traverse : public CXFA_Node {
+class CXFA_Traverse final : public CXFA_Node {
public:
CXFA_Traverse(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Traverse() override;
diff --git a/xfa/fxfa/parser/cxfa_type.h b/xfa/fxfa/parser/cxfa_type.h
index 5e7d4672a1..ef696fd537 100644
--- a/xfa/fxfa/parser/cxfa_type.h
+++ b/xfa/fxfa/parser/cxfa_type.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Type : public CXFA_Node {
+class CXFA_Type final : public CXFA_Node {
public:
CXFA_Type(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Type() override;
diff --git a/xfa/fxfa/parser/cxfa_typeface.h b/xfa/fxfa/parser/cxfa_typeface.h
index cbc90c4d41..7b07cae291 100644
--- a/xfa/fxfa/parser/cxfa_typeface.h
+++ b/xfa/fxfa/parser/cxfa_typeface.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Typeface : public CXFA_Node {
+class CXFA_Typeface final : public CXFA_Node {
public:
CXFA_Typeface(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Typeface() override;
diff --git a/xfa/fxfa/parser/cxfa_typefaces.h b/xfa/fxfa/parser/cxfa_typefaces.h
index fa4b43fb6e..b65c57dde3 100644
--- a/xfa/fxfa/parser/cxfa_typefaces.h
+++ b/xfa/fxfa/parser/cxfa_typefaces.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Typefaces : public CXFA_Node {
+class CXFA_Typefaces final : public CXFA_Node {
public:
CXFA_Typefaces(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Typefaces() override;
diff --git a/xfa/fxfa/parser/cxfa_ui.h b/xfa/fxfa/parser/cxfa_ui.h
index a4c46f493c..d479e95593 100644
--- a/xfa/fxfa/parser/cxfa_ui.h
+++ b/xfa/fxfa/parser/cxfa_ui.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Ui : public CXFA_Node {
+class CXFA_Ui final : public CXFA_Node {
public:
CXFA_Ui(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Ui() override;
diff --git a/xfa/fxfa/parser/cxfa_update.h b/xfa/fxfa/parser/cxfa_update.h
index 9e652eae56..3e6bb6cae5 100644
--- a/xfa/fxfa/parser/cxfa_update.h
+++ b/xfa/fxfa/parser/cxfa_update.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Update : public CXFA_Node {
+class CXFA_Update final : public CXFA_Node {
public:
CXFA_Update(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Update() override;
diff --git a/xfa/fxfa/parser/cxfa_uri.h b/xfa/fxfa/parser/cxfa_uri.h
index bb315964b6..96252fcc36 100644
--- a/xfa/fxfa/parser/cxfa_uri.h
+++ b/xfa/fxfa/parser/cxfa_uri.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Uri : public CXFA_Node {
+class CXFA_Uri final : public CXFA_Node {
public:
CXFA_Uri(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Uri() override;
diff --git a/xfa/fxfa/parser/cxfa_user.h b/xfa/fxfa/parser/cxfa_user.h
index 3aad173f54..eca1a373da 100644
--- a/xfa/fxfa/parser/cxfa_user.h
+++ b/xfa/fxfa/parser/cxfa_user.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_User : public CXFA_Node {
+class CXFA_User final : public CXFA_Node {
public:
CXFA_User(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_User() override;
diff --git a/xfa/fxfa/parser/cxfa_validate.h b/xfa/fxfa/parser/cxfa_validate.h
index a6013080f1..140886f58c 100644
--- a/xfa/fxfa/parser/cxfa_validate.h
+++ b/xfa/fxfa/parser/cxfa_validate.h
@@ -11,7 +11,7 @@
class CXFA_Script;
-class CXFA_Validate : public CXFA_Node {
+class CXFA_Validate final : public CXFA_Node {
public:
CXFA_Validate(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Validate() override;
diff --git a/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h b/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h
index d7dac98d98..05041687f0 100644
--- a/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h
+++ b/xfa/fxfa/parser/cxfa_validateapprovalsignatures.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ValidateApprovalSignatures : public CXFA_Node {
+class CXFA_ValidateApprovalSignatures final : public CXFA_Node {
public:
CXFA_ValidateApprovalSignatures(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ValidateApprovalSignatures() override;
diff --git a/xfa/fxfa/parser/cxfa_validationmessaging.h b/xfa/fxfa/parser/cxfa_validationmessaging.h
index 081b24c951..1131788ce0 100644
--- a/xfa/fxfa/parser/cxfa_validationmessaging.h
+++ b/xfa/fxfa/parser/cxfa_validationmessaging.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ValidationMessaging : public CXFA_Node {
+class CXFA_ValidationMessaging final : public CXFA_Node {
public:
CXFA_ValidationMessaging(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ValidationMessaging() override;
diff --git a/xfa/fxfa/parser/cxfa_value.h b/xfa/fxfa/parser/cxfa_value.h
index 47aeefede2..ccd4c2c7b4 100644
--- a/xfa/fxfa/parser/cxfa_value.h
+++ b/xfa/fxfa/parser/cxfa_value.h
@@ -17,7 +17,7 @@ class CXFA_Image;
class CXFA_Line;
class CXFA_Rectangle;
-class CXFA_Value : public CXFA_Node {
+class CXFA_Value final : public CXFA_Node {
public:
CXFA_Value(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Value() override;
diff --git a/xfa/fxfa/parser/cxfa_variables.h b/xfa/fxfa/parser/cxfa_variables.h
index 4c4cb4ec5d..b9f6d7201c 100644
--- a/xfa/fxfa/parser/cxfa_variables.h
+++ b/xfa/fxfa/parser/cxfa_variables.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Variables : public CXFA_Node {
+class CXFA_Variables final : public CXFA_Node {
public:
CXFA_Variables(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Variables() override;
diff --git a/xfa/fxfa/parser/cxfa_version.h b/xfa/fxfa/parser/cxfa_version.h
index 34462fbd61..4b4f425f80 100644
--- a/xfa/fxfa/parser/cxfa_version.h
+++ b/xfa/fxfa/parser/cxfa_version.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Version : public CXFA_Node {
+class CXFA_Version final : public CXFA_Node {
public:
CXFA_Version(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Version() override;
diff --git a/xfa/fxfa/parser/cxfa_versioncontrol.h b/xfa/fxfa/parser/cxfa_versioncontrol.h
index 4688f551f1..733b817d5c 100644
--- a/xfa/fxfa/parser/cxfa_versioncontrol.h
+++ b/xfa/fxfa/parser/cxfa_versioncontrol.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_VersionControl : public CXFA_Node {
+class CXFA_VersionControl final : public CXFA_Node {
public:
CXFA_VersionControl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_VersionControl() override;
diff --git a/xfa/fxfa/parser/cxfa_viewerpreferences.h b/xfa/fxfa/parser/cxfa_viewerpreferences.h
index bf831eecb9..229061fac4 100644
--- a/xfa/fxfa/parser/cxfa_viewerpreferences.h
+++ b/xfa/fxfa/parser/cxfa_viewerpreferences.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_ViewerPreferences : public CXFA_Node {
+class CXFA_ViewerPreferences final : public CXFA_Node {
public:
CXFA_ViewerPreferences(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_ViewerPreferences() override;
diff --git a/xfa/fxfa/parser/cxfa_webclient.h b/xfa/fxfa/parser/cxfa_webclient.h
index b7786898f7..41da046b3d 100644
--- a/xfa/fxfa/parser/cxfa_webclient.h
+++ b/xfa/fxfa/parser/cxfa_webclient.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_WebClient : public CXFA_Node {
+class CXFA_WebClient final : public CXFA_Node {
public:
CXFA_WebClient(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_WebClient() override;
diff --git a/xfa/fxfa/parser/cxfa_whitespace.h b/xfa/fxfa/parser/cxfa_whitespace.h
index 62dde483ed..096a2da10a 100644
--- a/xfa/fxfa/parser/cxfa_whitespace.h
+++ b/xfa/fxfa/parser/cxfa_whitespace.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Whitespace : public CXFA_Node {
+class CXFA_Whitespace final : public CXFA_Node {
public:
CXFA_Whitespace(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Whitespace() override;
diff --git a/xfa/fxfa/parser/cxfa_window.h b/xfa/fxfa/parser/cxfa_window.h
index 852bc68b2c..fc2fcb7282 100644
--- a/xfa/fxfa/parser/cxfa_window.h
+++ b/xfa/fxfa/parser/cxfa_window.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Window : public CXFA_Node {
+class CXFA_Window final : public CXFA_Node {
public:
CXFA_Window(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Window() override;
diff --git a/xfa/fxfa/parser/cxfa_wsdladdress.h b/xfa/fxfa/parser/cxfa_wsdladdress.h
index 83c965cbec..e65bd6f11d 100644
--- a/xfa/fxfa/parser/cxfa_wsdladdress.h
+++ b/xfa/fxfa/parser/cxfa_wsdladdress.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_WsdlAddress : public CXFA_Node {
+class CXFA_WsdlAddress final : public CXFA_Node {
public:
CXFA_WsdlAddress(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_WsdlAddress() override;
diff --git a/xfa/fxfa/parser/cxfa_wsdlconnection.h b/xfa/fxfa/parser/cxfa_wsdlconnection.h
index 6c349cf1d7..b2238fd80b 100644
--- a/xfa/fxfa/parser/cxfa_wsdlconnection.h
+++ b/xfa/fxfa/parser/cxfa_wsdlconnection.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_WsdlConnection : public CXFA_Node {
+class CXFA_WsdlConnection final : public CXFA_Node {
public:
CXFA_WsdlConnection(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_WsdlConnection() override;
diff --git a/xfa/fxfa/parser/cxfa_xdc.h b/xfa/fxfa/parser/cxfa_xdc.h
index 0eb43d5501..81cbb57caf 100644
--- a/xfa/fxfa/parser/cxfa_xdc.h
+++ b/xfa/fxfa/parser/cxfa_xdc.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xdc : public CXFA_Node {
+class CXFA_Xdc final : public CXFA_Node {
public:
CXFA_Xdc(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xdc() override;
diff --git a/xfa/fxfa/parser/cxfa_xdp.h b/xfa/fxfa/parser/cxfa_xdp.h
index 38b450e98a..16ad5d8971 100644
--- a/xfa/fxfa/parser/cxfa_xdp.h
+++ b/xfa/fxfa/parser/cxfa_xdp.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xdp : public CXFA_Node {
+class CXFA_Xdp final : public CXFA_Node {
public:
CXFA_Xdp(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xdp() override;
diff --git a/xfa/fxfa/parser/cxfa_xfa.h b/xfa/fxfa/parser/cxfa_xfa.h
index 137b60191c..d7d33df654 100644
--- a/xfa/fxfa/parser/cxfa_xfa.h
+++ b/xfa/fxfa/parser/cxfa_xfa.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xfa : public CXFA_Node {
+class CXFA_Xfa final : public CXFA_Node {
public:
CXFA_Xfa(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xfa() override;
diff --git a/xfa/fxfa/parser/cxfa_xmlconnection.h b/xfa/fxfa/parser/cxfa_xmlconnection.h
index f9158c6368..33cc038f4f 100644
--- a/xfa/fxfa/parser/cxfa_xmlconnection.h
+++ b/xfa/fxfa/parser/cxfa_xmlconnection.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_XmlConnection : public CXFA_Node {
+class CXFA_XmlConnection final : public CXFA_Node {
public:
CXFA_XmlConnection(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_XmlConnection() override;
diff --git a/xfa/fxfa/parser/cxfa_xmllocale.h b/xfa/fxfa/parser/cxfa_xmllocale.h
index de3de41a90..07d417ed28 100644
--- a/xfa/fxfa/parser/cxfa_xmllocale.h
+++ b/xfa/fxfa/parser/cxfa_xmllocale.h
@@ -16,7 +16,7 @@
class CFX_XMLDocument;
class CFX_XMLElement;
-class CXFA_XMLLocale : public LocaleIface {
+class CXFA_XMLLocale final : public LocaleIface {
public:
static std::unique_ptr<CXFA_XMLLocale> Create(pdfium::span<uint8_t> data);
diff --git a/xfa/fxfa/parser/cxfa_xsdconnection.h b/xfa/fxfa/parser/cxfa_xsdconnection.h
index 652d45e15d..8cdef80341 100644
--- a/xfa/fxfa/parser/cxfa_xsdconnection.h
+++ b/xfa/fxfa/parser/cxfa_xsdconnection.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_XsdConnection : public CXFA_Node {
+class CXFA_XsdConnection final : public CXFA_Node {
public:
CXFA_XsdConnection(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_XsdConnection() override;
diff --git a/xfa/fxfa/parser/cxfa_xsl.h b/xfa/fxfa/parser/cxfa_xsl.h
index d9211250ae..1be8d4b2a1 100644
--- a/xfa/fxfa/parser/cxfa_xsl.h
+++ b/xfa/fxfa/parser/cxfa_xsl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Xsl : public CXFA_Node {
+class CXFA_Xsl final : public CXFA_Node {
public:
CXFA_Xsl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Xsl() override;
diff --git a/xfa/fxfa/parser/cxfa_zpl.h b/xfa/fxfa/parser/cxfa_zpl.h
index ee8f9251b8..6433015437 100644
--- a/xfa/fxfa/parser/cxfa_zpl.h
+++ b/xfa/fxfa/parser/cxfa_zpl.h
@@ -9,7 +9,7 @@
#include "xfa/fxfa/parser/cxfa_node.h"
-class CXFA_Zpl : public CXFA_Node {
+class CXFA_Zpl final : public CXFA_Node {
public:
CXFA_Zpl(CXFA_Document* doc, XFA_PacketType packet);
~CXFA_Zpl() override;