diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-04-10 16:10:36 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-10 16:10:36 +0000 |
commit | d27f392c79ce53390f9de36778bb20f73f3e9324 (patch) | |
tree | 0e1b34a82134a0e170146e573414cf0461683047 /xfa/fxfa/cxfa_fffield.cpp | |
parent | 4027887ee29a7f4920b03041068bff9bde239782 (diff) | |
download | pdfium-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.cpp | 19 |
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) { |