summaryrefslogtreecommitdiff
path: root/xfa/fxfa/cxfa_fffield.cpp
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-04-10 16:10:36 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-04-10 16:10:36 +0000
commitd27f392c79ce53390f9de36778bb20f73f3e9324 (patch)
tree0e1b34a82134a0e170146e573414cf0461683047 /xfa/fxfa/cxfa_fffield.cpp
parent4027887ee29a7f4920b03041068bff9bde239782 (diff)
downloadpdfium-d27f392c79ce53390f9de36778bb20f73f3e9324.tar.xz
Break down CXFA_FFWidget::On{L|R}ButtonDown() into two steps.
The first step, AcceptsFocusOnButtonDown(), returns whether the widget wants focus on a mouse click. The second step, On{L|R}ButtonDown(), handles the click after focus has been assigned. Bug: chromium:820256 Change-Id: I9da1f1a930f198fc17b24acb7f1e3e6ef7f12ae4 Reviewed-on: https://pdfium-review.googlesource.com/29951 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'xfa/fxfa/cxfa_fffield.cpp')
-rw-r--r--xfa/fxfa/cxfa_fffield.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/xfa/fxfa/cxfa_fffield.cpp b/xfa/fxfa/cxfa_fffield.cpp
index 552a4e3f4b..e9a3c49c5c 100644
--- a/xfa/fxfa/cxfa_fffield.cpp
+++ b/xfa/fxfa/cxfa_fffield.cpp
@@ -382,7 +382,9 @@ CFX_PointF CXFA_FFField::FWLToClient(const CFX_PointF& point) {
: point;
}
-bool CXFA_FFField::OnLButtonDown(uint32_t dwFlags, const CFX_PointF& point) {
+bool CXFA_FFField::AcceptsFocusOnButtonDown(uint32_t dwFlags,
+ const CFX_PointF& point,
+ FWL_MouseCommand command) {
if (!m_pNormalWidget)
return false;
if (!m_pNode->IsOpenAccess() || !GetDoc()->GetXFADoc()->IsInteractive())
@@ -390,13 +392,16 @@ bool CXFA_FFField::OnLButtonDown(uint32_t dwFlags, const CFX_PointF& point) {
if (!PtInActiveRect(point))
return false;
+ return true;
+}
+
+void CXFA_FFField::OnLButtonDown(uint32_t dwFlags, const CFX_PointF& point) {
SetButtonDown(true);
CFWL_MessageMouse ms(nullptr, m_pNormalWidget.get());
ms.m_dwCmd = FWL_MouseCommand::LeftButtonDown;
ms.m_dwFlags = dwFlags;
ms.m_pos = FWLToClient(point);
TranslateFWLMessage(&ms);
- return true;
}
bool CXFA_FFField::OnLButtonUp(uint32_t dwFlags, const CFX_PointF& point) {
@@ -452,14 +457,7 @@ bool CXFA_FFField::OnMouseWheel(uint32_t dwFlags,
return true;
}
-bool CXFA_FFField::OnRButtonDown(uint32_t dwFlags, const CFX_PointF& point) {
- if (!m_pNormalWidget)
- return false;
- if (!m_pNode->IsOpenAccess() || !GetDoc()->GetXFADoc()->IsInteractive())
- return false;
- if (!PtInActiveRect(point))
- return false;
-
+void CXFA_FFField::OnRButtonDown(uint32_t dwFlags, const CFX_PointF& point) {
SetButtonDown(true);
CFWL_MessageMouse ms(nullptr, m_pNormalWidget.get());
@@ -467,7 +465,6 @@ bool CXFA_FFField::OnRButtonDown(uint32_t dwFlags, const CFX_PointF& point) {
ms.m_dwFlags = dwFlags;
ms.m_pos = FWLToClient(point);
TranslateFWLMessage(&ms);
- return true;
}
bool CXFA_FFField::OnRButtonUp(uint32_t dwFlags, const CFX_PointF& point) {