Remove KeyUp event handling code.
All the KeyUp code is unused, so remove them.
- The middle of the call stack has a disconnect, so the two halves are
not hooked up.
- Even when hooked up, the call stack forms a big no-op.
Add comments to the FORM_OnKeyDown() documentation to mention this
function is a no-op, but do not deprecate/remove it, as it may become
useful in the future.
Change-Id: Idaf305fa1543c2d551a864d9d91a78192005399b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/92333
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_baannothandler.cpp b/fpdfsdk/cpdfsdk_baannothandler.cpp
index e090400..a7d906d 100644
--- a/fpdfsdk/cpdfsdk_baannothandler.cpp
+++ b/fpdfsdk/cpdfsdk_baannothandler.cpp
@@ -94,12 +94,6 @@
ba_annot->GetDestination(), GetFormFillEnvironment());
}
-bool CPDFSDK_BAAnnotHandler::OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) {
- return false;
-}
-
bool CPDFSDK_BAAnnotHandler::IsFocusableAnnot(
const CPDF_Annot::Subtype& annot_type) const {
DCHECK(annot_type != CPDF_Annot::Subtype::WIDGET);
diff --git a/fpdfsdk/cpdfsdk_baannothandler.h b/fpdfsdk/cpdfsdk_baannothandler.h
index 48c5f5d..7d12d5e 100644
--- a/fpdfsdk/cpdfsdk_baannothandler.h
+++ b/fpdfsdk/cpdfsdk_baannothandler.h
@@ -42,9 +42,6 @@
bool OnKeyDown(CPDFSDK_Annot* pAnnot,
FWL_VKEYCODE nKeyCode,
Mask<FWL_EVENTFLAG> nFlag) override;
- bool OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) override;
bool OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
Mask<FWL_EVENTFLAG> nFlag) override;
bool OnKillFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
diff --git a/fpdfsdk/cpdfsdk_pageview.cpp b/fpdfsdk/cpdfsdk_pageview.cpp
index 3eaaa47..a8d6ee1 100644
--- a/fpdfsdk/cpdfsdk_pageview.cpp
+++ b/fpdfsdk/cpdfsdk_pageview.cpp
@@ -536,11 +536,6 @@
return pAnnotHandlerMgr->Annot_OnKeyDown(pAnnot, nKeyCode, nFlag);
}
-bool CPDFSDK_PageView::OnKeyUp(FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) {
- return false;
-}
-
void CPDFSDK_PageView::LoadFXAnnots() {
CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr =
m_pFormFillEnv->GetAnnotHandlerMgr();
diff --git a/fpdfsdk/cpdfsdk_pageview.h b/fpdfsdk/cpdfsdk_pageview.h
index 9a8cc58..d5727c5 100644
--- a/fpdfsdk/cpdfsdk_pageview.h
+++ b/fpdfsdk/cpdfsdk_pageview.h
@@ -84,7 +84,6 @@
bool OnRButtonUp(Mask<FWL_EVENTFLAG> nFlag, const CFX_PointF& point);
bool OnChar(uint32_t nChar, Mask<FWL_EVENTFLAG> nFlag);
bool OnKeyDown(FWL_VKEYCODE nKeyCode, Mask<FWL_EVENTFLAG> nFlag);
- bool OnKeyUp(FWL_VKEYCODE nKeyCode, Mask<FWL_EVENTFLAG> nFlag);
bool OnMouseMove(Mask<FWL_EVENTFLAG> nFlag, const CFX_PointF& point);
bool OnMouseWheel(Mask<FWL_EVENTFLAG> nFlag,
const CFX_PointF& point,
diff --git a/fpdfsdk/cpdfsdk_widgethandler.cpp b/fpdfsdk/cpdfsdk_widgethandler.cpp
index f5adf2d..9b0d27a 100644
--- a/fpdfsdk/cpdfsdk_widgethandler.cpp
+++ b/fpdfsdk/cpdfsdk_widgethandler.cpp
@@ -78,12 +78,6 @@
pWidget, nKeyCode, nFlag);
}
-bool CPDFSDK_WidgetHandler::OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) {
- return false;
-}
-
bool CPDFSDK_WidgetHandler::OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
Mask<FWL_EVENTFLAG> nFlag) {
if (!IsFocusableAnnot(pAnnot->GetPDFAnnot()->GetSubtype()))
diff --git a/fpdfsdk/cpdfsdk_widgethandler.h b/fpdfsdk/cpdfsdk_widgethandler.h
index b879832..2275766 100644
--- a/fpdfsdk/cpdfsdk_widgethandler.h
+++ b/fpdfsdk/cpdfsdk_widgethandler.h
@@ -41,9 +41,6 @@
bool OnKeyDown(CPDFSDK_Annot* pAnnot,
FWL_VKEYCODE nKeyCode,
Mask<FWL_EVENTFLAG> nFlag) override;
- bool OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) override;
bool OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
Mask<FWL_EVENTFLAG> nFlag) override;
bool OnKillFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
diff --git a/fpdfsdk/fpdf_formfill.cpp b/fpdfsdk/fpdf_formfill.cpp
index 089c1d3..4b59b02 100644
--- a/fpdfsdk/fpdf_formfill.cpp
+++ b/fpdfsdk/fpdf_formfill.cpp
@@ -504,11 +504,7 @@
FPDF_PAGE page,
int nKeyCode,
int modifier) {
- CPDFSDK_PageView* pPageView = FormHandleToPageView(hHandle, page);
- return pPageView &&
- pPageView->OnKeyUp(
- static_cast<FWL_VKEYCODE>(nKeyCode),
- Mask<FWL_EVENTFLAG>::FromUnderlyingUnchecked(modifier));
+ return false;
}
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnChar(FPDF_FORMHANDLE hHandle,
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp
index 4aa7177..ade46c4 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.cpp
@@ -270,16 +270,6 @@
GetKeyFlags(nFlag));
}
-bool CPDFXFA_WidgetHandler::OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) {
- CPDFXFA_Widget* pXFAWidget = ToXFAWidget(pAnnot);
- CXFA_FFWidgetHandler* pWidgetHandler = GetXFAFFWidgetHandler();
- return pWidgetHandler->OnKeyUp(pXFAWidget->GetXFAFFWidget(),
- static_cast<XFA_FWL_VKEYCODE>(nKeyCode),
- GetKeyFlags(nFlag));
-}
-
bool CPDFXFA_WidgetHandler::OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
Mask<FWL_EVENTFLAG> nFlag) {
return true;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.h b/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.h
index 596bb9e..9153471 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_widgethandler.h
@@ -44,9 +44,6 @@
bool OnKeyDown(CPDFSDK_Annot* pAnnot,
FWL_VKEYCODE nKeyCode,
Mask<FWL_EVENTFLAG> nFlag) override;
- bool OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) override;
bool OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
Mask<FWL_EVENTFLAG> nFlag) override;
bool OnKillFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
diff --git a/fpdfsdk/ipdfsdk_annothandler.h b/fpdfsdk/ipdfsdk_annothandler.h
index 939f6f0..355998d 100644
--- a/fpdfsdk/ipdfsdk_annothandler.h
+++ b/fpdfsdk/ipdfsdk_annothandler.h
@@ -54,9 +54,6 @@
virtual bool OnKeyDown(CPDFSDK_Annot* pAnnot,
FWL_VKEYCODE nKeyCode,
Mask<FWL_EVENTFLAG> nFlag) = 0;
- virtual bool OnKeyUp(CPDFSDK_Annot* pAnnot,
- FWL_VKEYCODE nKeyCode,
- Mask<FWL_EVENTFLAG> nFlag) = 0;
virtual bool OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
Mask<FWL_EVENTFLAG> nFlag) = 0;
virtual bool OnKillFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot,
diff --git a/public/fpdf_formfill.h b/public/fpdf_formfill.h
index ee70ed9..03305e0 100644
--- a/public/fpdf_formfill.h
+++ b/public/fpdf_formfill.h
@@ -1480,6 +1480,9 @@
* flag values).
* Return Value:
* True indicates success; otherwise false.
+ * Comments:
+ * Currently unimplemented and always returns false. PDFium reserves this
+ * API and may implement it in the future on an as-needed basis.
*/
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FORM_OnKeyUp(FPDF_FORMHANDLE hHandle,
FPDF_PAGE page,
diff --git a/xfa/fwl/cfwl_combobox.cpp b/xfa/fwl/cfwl_combobox.cpp
index c0f26f8..541dc9b 100644
--- a/xfa/fwl/cfwl_combobox.cpp
+++ b/xfa/fwl/cfwl_combobox.cpp
@@ -406,8 +406,6 @@
case CFWL_Message::Type::kKey: {
backDefault = false;
CFWL_MessageKey* pKey = static_cast<CFWL_MessageKey*>(pMessage);
- if (pKey->m_dwCmd == CFWL_MessageKey::KeyCommand::kKeyUp)
- break;
if (IsDropListVisible() &&
pKey->m_dwCmd == CFWL_MessageKey::KeyCommand::kKeyDown) {
bool bListKey = pKey->m_dwKeyCodeOrChar == XFA_FWL_VKEY_Up ||
diff --git a/xfa/fwl/cfwl_messagekey.h b/xfa/fwl/cfwl_messagekey.h
index 2354f66..68503d6 100644
--- a/xfa/fwl/cfwl_messagekey.h
+++ b/xfa/fwl/cfwl_messagekey.h
@@ -13,7 +13,7 @@
class CFWL_MessageKey final : public CFWL_Message {
public:
- enum class KeyCommand : uint8_t { kKeyDown, kKeyUp, kChar };
+ enum class KeyCommand : uint8_t { kKeyDown, kChar };
CFWL_MessageKey(CFWL_Widget* pDstTarget,
KeyCommand subtype,
diff --git a/xfa/fxfa/cxfa_fffield.cpp b/xfa/fxfa/cxfa_fffield.cpp
index 7196e85..9265323 100644
--- a/xfa/fxfa/cxfa_fffield.cpp
+++ b/xfa/fxfa/cxfa_fffield.cpp
@@ -544,17 +544,6 @@
return true;
}
-bool CXFA_FFField::OnKeyUp(XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) {
- if (!GetNormalWidget() || !GetDoc()->GetXFADoc()->IsInteractive())
- return false;
-
- CFWL_MessageKey msg(GetNormalWidget(), CFWL_MessageKey::KeyCommand::kKeyUp,
- dwFlags, dwKeyCode);
- SendMessageToFWLWidget(&msg);
- return true;
-}
-
bool CXFA_FFField::OnChar(uint32_t dwChar, Mask<XFA_FWL_KeyFlag> dwFlags) {
if (!GetDoc()->GetXFADoc()->IsInteractive())
return false;
diff --git a/xfa/fxfa/cxfa_fffield.h b/xfa/fxfa/cxfa_fffield.h
index 36be0fb..0ab8b62 100644
--- a/xfa/fxfa/cxfa_fffield.h
+++ b/xfa/fxfa/cxfa_fffield.h
@@ -61,8 +61,6 @@
bool OnKillFocus(CXFA_FFWidget* pNewWidget) override WARN_UNUSED_RESULT;
bool OnKeyDown(XFA_FWL_VKEYCODE dwKeyCode,
Mask<XFA_FWL_KeyFlag> dwFlags) override;
- bool OnKeyUp(XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) override;
bool OnChar(uint32_t dwChar, Mask<XFA_FWL_KeyFlag> dwFlags) override;
FWL_WidgetHit HitTest(const CFX_PointF& point) override;
diff --git a/xfa/fxfa/cxfa_ffsignature.cpp b/xfa/fxfa/cxfa_ffsignature.cpp
index 960559b..44c2eac 100644
--- a/xfa/fxfa/cxfa_ffsignature.cpp
+++ b/xfa/fxfa/cxfa_ffsignature.cpp
@@ -99,11 +99,6 @@
return false;
}
-bool CXFA_FFSignature::OnKeyUp(XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) {
- return false;
-}
-
bool CXFA_FFSignature::OnChar(uint32_t nChar, Mask<XFA_FWL_KeyFlag> dwFlags) {
return false;
}
diff --git a/xfa/fxfa/cxfa_ffsignature.h b/xfa/fxfa/cxfa_ffsignature.h
index 96ff95e..d49842b 100644
--- a/xfa/fxfa/cxfa_ffsignature.h
+++ b/xfa/fxfa/cxfa_ffsignature.h
@@ -44,8 +44,6 @@
const CFX_PointF& point) override;
bool OnKeyDown(XFA_FWL_VKEYCODE dwKeyCode,
Mask<XFA_FWL_KeyFlag> dwFlags) override;
- bool OnKeyUp(XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) override;
bool OnChar(uint32_t dwChar, Mask<XFA_FWL_KeyFlag> dwFlags) override;
FWL_WidgetHit HitTest(const CFX_PointF& point) override;
FormFieldType GetFormFieldType() override;
diff --git a/xfa/fxfa/cxfa_ffwidget.cpp b/xfa/fxfa/cxfa_ffwidget.cpp
index f070c7c..d274595 100644
--- a/xfa/fxfa/cxfa_ffwidget.cpp
+++ b/xfa/fxfa/cxfa_ffwidget.cpp
@@ -455,11 +455,6 @@
return false;
}
-bool CXFA_FFWidget::OnKeyUp(XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) {
- return false;
-}
-
bool CXFA_FFWidget::OnChar(uint32_t dwChar, Mask<XFA_FWL_KeyFlag> dwFlags) {
return false;
}
diff --git a/xfa/fxfa/cxfa_ffwidget.h b/xfa/fxfa/cxfa_ffwidget.h
index 45fc009..3719a73 100644
--- a/xfa/fxfa/cxfa_ffwidget.h
+++ b/xfa/fxfa/cxfa_ffwidget.h
@@ -132,8 +132,6 @@
virtual bool OnKillFocus(CXFA_FFWidget* pNewWidget) WARN_UNUSED_RESULT;
virtual bool OnKeyDown(XFA_FWL_VKEYCODE dwKeyCode,
Mask<XFA_FWL_KeyFlag> dwFlags) WARN_UNUSED_RESULT;
- virtual bool OnKeyUp(XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) WARN_UNUSED_RESULT;
virtual bool OnChar(uint32_t dwChar,
Mask<XFA_FWL_KeyFlag> dwFlags) WARN_UNUSED_RESULT;
diff --git a/xfa/fxfa/cxfa_ffwidgethandler.cpp b/xfa/fxfa/cxfa_ffwidgethandler.cpp
index c413187..8371ef7 100644
--- a/xfa/fxfa/cxfa_ffwidgethandler.cpp
+++ b/xfa/fxfa/cxfa_ffwidgethandler.cpp
@@ -117,12 +117,6 @@
return bRet;
}
-bool CXFA_FFWidgetHandler::OnKeyUp(CXFA_FFWidget* hWidget,
- XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags) {
- return hWidget->OnKeyUp(dwKeyCode, dwFlags);
-}
-
bool CXFA_FFWidgetHandler::OnChar(CXFA_FFWidget* hWidget,
uint32_t dwChar,
Mask<XFA_FWL_KeyFlag> dwFlags) {
diff --git a/xfa/fxfa/cxfa_ffwidgethandler.h b/xfa/fxfa/cxfa_ffwidgethandler.h
index d26b2eb..3b77fd4 100644
--- a/xfa/fxfa/cxfa_ffwidgethandler.h
+++ b/xfa/fxfa/cxfa_ffwidgethandler.h
@@ -72,9 +72,6 @@
bool OnKeyDown(CXFA_FFWidget* hWidget,
XFA_FWL_VKEYCODE dwKeyCode,
Mask<XFA_FWL_KeyFlag> dwFlags);
- bool OnKeyUp(CXFA_FFWidget* hWidget,
- XFA_FWL_VKEYCODE dwKeyCode,
- Mask<XFA_FWL_KeyFlag> dwFlags);
bool OnChar(CXFA_FFWidget* hWidget,
uint32_t dwChar,
Mask<XFA_FWL_KeyFlag> dwFlags);