summaryrefslogtreecommitdiff
path: root/fpdfsdk
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 /fpdfsdk
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>
Diffstat (limited to 'fpdfsdk')
-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
38 files changed, 58 insertions, 58 deletions
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() {}