De-virtualize IsSignatureWidget()
Change-Id: I0b81f5fdaacb59a6b5d9f21cc92f72502990c06b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/85410
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_annotiterator.cpp b/fpdfsdk/cpdfsdk_annotiterator.cpp
index 1c20f4c..aa373d4 100644
--- a/fpdfsdk/cpdfsdk_annotiterator.cpp
+++ b/fpdfsdk/cpdfsdk_annotiterator.cpp
@@ -12,6 +12,7 @@
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "fpdfsdk/cpdfsdk_annot.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
+#include "fpdfsdk/cpdfsdk_widget.h"
#include "third_party/base/containers/contains.h"
namespace {
@@ -69,9 +70,10 @@
void CPDFSDK_AnnotIterator::CollectAnnots(
std::vector<UnownedPtr<CPDFSDK_Annot>>* pArray) {
for (auto* pAnnot : m_pPageView->GetAnnotList()) {
- if (pdfium::Contains(m_subtypes, pAnnot->GetAnnotSubtype()) &&
- !pAnnot->IsSignatureWidget()) {
- pArray->emplace_back(pAnnot);
+ if (pdfium::Contains(m_subtypes, pAnnot->GetAnnotSubtype())) {
+ CPDFSDK_Widget* pWidget = ToCPDFSDKWidget(pAnnot);
+ if (!pWidget || !pWidget->IsSignatureWidget())
+ pArray->emplace_back(pAnnot);
}
}
}