diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-04-04 16:38:40 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-04 16:38:40 +0000 |
commit | dc566b0a76f9d2ad112c8cc35fa6dc8eaf942316 (patch) | |
tree | 60e72e3b14db2f3cb26fbd595ea84fed58bd9548 /xfa/fxfa/cxfa_ffdocview.h | |
parent | 1a2e4945f16f5dff4aba518a36edf938c9234ac3 (diff) | |
download | pdfium-dc566b0a76f9d2ad112c8cc35fa6dc8eaf942316.tar.xz |
Fix XFA caret blinking only while mouse moves.chromium/3389
Currently rect invalidations in XFA are only sent to the embedder
only when RunInvalidate() is executed.
For things which redraw on a timer, such as the caret, there was
no user event to call RunInvalidate() so the page would not redraw.
This CL changes the XFA code to send the invalidations to the
embedder immediately and expects the embedder to combine the
invalidations to limit overdraw.
Bug: chromium:828561
Change-Id: I298052fd7d0c373b029eec191cc6c74c63978348
Reviewed-on: https://pdfium-review.googlesource.com/29670
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/cxfa_ffdocview.h')
-rw-r--r-- | xfa/fxfa/cxfa_ffdocview.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/xfa/fxfa/cxfa_ffdocview.h b/xfa/fxfa/cxfa_ffdocview.h index bccbe33cb9..dbc7672caa 100644 --- a/xfa/fxfa/cxfa_ffdocview.h +++ b/xfa/fxfa/cxfa_ffdocview.h @@ -68,9 +68,8 @@ class CXFA_FFDocView { void OnPageEvent(CXFA_ContainerLayoutItem* pSender, uint32_t dwEvent); void LockUpdate() { m_iLock++; } void UnlockUpdate() { m_iLock--; } - void AddInvalidateRect(CXFA_FFPageView* pPageView, - const CFX_RectF& rtInvalidate); - void RunInvalidate(); + void InvalidateRect(CXFA_FFPageView* pPageView, + const CFX_RectF& rtInvalidate); void RunDocClose(); void ProcessValueChanged(CXFA_Node* node); @@ -120,7 +119,6 @@ class CXFA_FFDocView { UnownedPtr<CXFA_Node> m_pFocusNode; UnownedPtr<CXFA_FFWidget> m_pFocusWidget; UnownedPtr<CXFA_FFWidget> m_pOldFocusWidget; - std::map<CXFA_FFPageView*, std::unique_ptr<CFX_RectF>> m_mapPageInvalidate; std::vector<CXFA_Node*> m_ValidateNodes; std::vector<CXFA_Node*> m_CalculateNodes; std::vector<CXFA_BindItems*> m_BindItems; |