summaryrefslogtreecommitdiff
path: root/xfa/fwl/cfwl_datetimepicker.h
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-07-16 21:17:46 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-07-16 21:17:46 +0000
commit31781107f6bda92e732fed805f62e8512bc78149 (patch)
tree7a08649ac5a490ce68925b9c762f176ee6629316 /xfa/fwl/cfwl_datetimepicker.h
parentc30b4e16885c8fd5f59965f48b61ec033ae4691a (diff)
downloadpdfium-31781107f6bda92e732fed805f62e8512bc78149.tar.xz
Fix crash when typing letters into an XFA datetime field.
The root of the issue is that CXFA_FFDateTimeEdit inherits from CXFA_FFTextEdit and methods in the former treat its widget as a CFWL_Edit, while it can be a CFWL_DateTimePicker. Bug: chromium:857521 Change-Id: I764b6c03095b16f6a9cf72ff36768ca4c57c4070 Reviewed-on: https://pdfium-review.googlesource.com/37910 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'xfa/fwl/cfwl_datetimepicker.h')
-rw-r--r--xfa/fwl/cfwl_datetimepicker.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/xfa/fwl/cfwl_datetimepicker.h b/xfa/fwl/cfwl_datetimepicker.h
index 00e7f61d73..f80f09d1bf 100644
--- a/xfa/fwl/cfwl_datetimepicker.h
+++ b/xfa/fwl/cfwl_datetimepicker.h
@@ -49,13 +49,24 @@ class CFWL_DateTimePicker : public CFWL_Widget {
void SetCurSel(int32_t iYear, int32_t iMonth, int32_t iDay);
void SetEditText(const WideString& wsText);
+ int32_t GetEditTextLength() const;
WideString GetEditText() const;
+ void ClearText();
+ void SelectAll();
+ void ClearSelection();
bool HasSelection() const { return m_pEdit->HasSelection(); }
// Returns <start, count> of the selection.
std::pair<size_t, size_t> GetSelection() const {
return m_pEdit->GetSelection();
}
+ Optional<WideString> Copy();
+ Optional<WideString> Cut();
+ bool Paste(const WideString& wsPaste);
+ bool Undo();
+ bool Redo();
+ bool CanUndo();
+ bool CanRedo();
CFX_RectF GetBBox() const;
void SetEditLimit(int32_t nLimit) { m_pEdit->SetLimit(nLimit); }