summaryrefslogtreecommitdiff
path: root/fpdfsdk/pdfwindow
AgeCommit message (Collapse)Author
2017-07-24Add FORM_DeleteSelectedText() and embedder tests.Diana Gage
This method deletes the current text selection in a form text field or user-editable form combobox text field. If there is no selection, this method does nothing. BUG=chromium:59266 Change-Id: I3229ffad990c62beac1cf769cd366458b9ee5daa Reviewed-on: https://pdfium-review.googlesource.com/8370 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Diana Gage <drgage@google.com>
2017-07-24Use named commands in CPWL_AppStream.Dan Sinclair
This Cl converts the individual letters to an enum named commands to make it easier to determine what each code chunk is doing. Change-Id: I1d23d17ea3ac9bf54b5ecfcc164ad921774d9197 Reviewed-on: https://pdfium-review.googlesource.com/8430 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-24Remove fxedit place classes in pdfwindow/Dan Sinclair
This CL removes the fpdfsdk/fxedit folder and moves the code to fpdfsdk/pdfwindow which is the primary consumer. The classes were renamed from CFX_* to CPWL_*. Change-Id: I6c6178adccf978193bbb9685204657ebd3f438bb Reviewed-on: https://pdfium-review.googlesource.com/8552 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-24Remove fx_edit.hDan Sinclair
This CL moves GetPDFWordString to be a method on CFX_Edit. The FX_EDIT_ISLATINWORD define is moved into fx_edit.h. CFWL_Edit::FX_EDIT_ISLATINWORD is renamed to FxEditIsLatinWord to make less confusing with the define. Change-Id: I47d12d41447b268894a1d0376ac4b2bdb409e2df Reviewed-on: https://pdfium-review.googlesource.com/8531 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-22Simplify code in CPDFSDK_FormFillEnvironment.chromium/3165Lei Zhang
This makes various IsFooKeyDown() methods static. Transitively apply that to callers too. Change-Id: Ia43b1fd62889c1943e0d8407e9696225b05125a8 Reviewed-on: https://pdfium-review.googlesource.com/7190 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-21Change Clear() to ClearSelection().Diana Gage
This CL renames Clear() in CPWL_EditCtrl, CPWL_ComboBox, and CFX_Edit to ClearSelection(), as this function's behavior is clearing text selection. Change-Id: Ia32f5347abc1960d7219684942df6a3fede9936c Reviewed-on: https://pdfium-review.googlesource.com/8611 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Diana Gage <drgage@google.com>
2017-07-21Change CFX_Edit::GetSelText() to CFX_Edit::GetSelectedText().Diana Gage
This CL renames the CFX_Edit::GetSelText() method so that it is more descriptive. Change-Id: I2086f7d036cd874aba1b7d7ec04d1cbb7e182d06 Reviewed-on: https://pdfium-review.googlesource.com/8612 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-07-21Change "Sel" abbreviation to "Selection".Diana Gage
This CL changes SetSel() and GetSel() to SetSelection() and GetSelection() in CFX_Edit and CPWL_EditCtrl, and SetEditSel() and GetEditSel() to SetEditSelection() and GetEditSelection() in CPWL_ComboBox. Change-Id: Idd984932bda139a04e99193e519756980b7d4397 Reviewed-on: https://pdfium-review.googlesource.com/8610 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-07-20Add helper class to closed stream commandsDan Sinclair
This CL adds two helper class to CPWL_AppStream to make sure we correctly close stream commands. Change-Id: I017477b16951e3e32a19e6264e63c9927bea5618 Reviewed-on: https://pdfium-review.googlesource.com/8315 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-20Make CPWL_Wnd classes be observable.Tom Sepez
This is another case where JS may lead to destruction of an object far away from where we are holding it. Bug: 737023 Change-Id: I994d5425184b8c00b5cfaeb95dbb5032a6e09edb Reviewed-on: https://pdfium-review.googlesource.com/8350 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2017-07-20Cleanup CPWL_Icon AppStream generationDan Sinclair
This CL moves the AppSteam generation code for CPWL_Icon to a separate method. The CPWL_Image code is also folded directly into CPWL_Icon as it is the only subclass. Change-Id: I7936bac4af76e34d0f73d48ca00f5713c5f20095 Reviewed-on: https://pdfium-review.googlesource.com/8314 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-20Consolidate Appearance Stream code in CPWL_AppStream.Dan Sinclair
This CL moves the remaining appearance stream code to CPWL_AppStream. The unused GetThisAppearanceStream methods have been removed. Change-Id: I0bdfbb11962ee7975394a40a1ea45d076ee9151d Reviewed-on: https://pdfium-review.googlesource.com/8312 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-07-19Remove unused GetThisAppearanceStreamDan Sinclair
This method is never called. Removed. Change-Id: Iff366d68b4865d195d50a6c37376e81a5a4408b2 Reviewed-on: https://pdfium-review.googlesource.com/8313 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-19Create CPWL_AppStream.Dan Sinclair
This CL creates a CPWL_AppStream and consolidates app stream generation code from CPDFSDK_Widget, CPDFSDK_BAAnnot and CPWL_Utils. The remaining app stream code from CPWL_Utils will be cleaned up in a future CL. Change-Id: I20cfdec09a351bd509241d2c667a182fba84b0c1 Reviewed-on: https://pdfium-review.googlesource.com/8310 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-07-17Move CPWL_Utils Draw methods to CFX_RenderDeviceDan Sinclair
This CL removes the drawing code from the AP stream generation code in CPWL_Utils and places it in CFX_RenderDevice. Change-Id: I5335fc38368740ba3ddc676ee856201a358979fc Reviewed-on: https://pdfium-review.googlesource.com/7715 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-17Add CFX_FloatRect::GetDeflateddan sinclair
This CL adds a method to CFX_FloatRect to get a new deflated rectangle from a given rectangle. Change-Id: I781222257c82baf94d5f77deede52fbe4e97c701 Reviewed-on: https://pdfium-review.googlesource.com/7850 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-13Rename CPWL_Color to CFX_ColorDan Sinclair
This CL moves fpdfsdk/pdfwindow/cpwl_color to core/fxge/cfx_color. Change-Id: Ia95b7fba2c76a1b9a438014d3598c7aa55bbb2ab Reviewed-on: https://pdfium-review.googlesource.com/7753 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-13Move CPWL_Utils::ScaleRect to CFX_FloatRectDan Sinclair
This CL moves the ScaleRect method to Scale on CFX_FloatRect and changes it to operate directly on the rect. Change-Id: Ie0f91c9319be08c9e2cc81cba2519ebb5f2c35eb Reviewed-on: https://pdfium-review.googlesource.com/7714 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-13Move CPWL_Utils::OverlapWordRange to CPVT_WordRange::IntersectDan Sinclair
This method only deals with CPVT_WordRange objects so move to the correct class. Change-Id: If5f28178301affa8633f8ef8e89894dfb94f1ac9 Reviewed-on: https://pdfium-review.googlesource.com/7713 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-13Move CPWL_Utils::GetCenterSquare to CFX_FloatRectDan Sinclair
This method is working on the FloatRect content so move it to CFX_FloatRect. Change-Id: I60aabf6e3b86aa9acc59f86cff69347ec5fe5033 Reviewed-on: https://pdfium-review.googlesource.com/7712 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-13Use Translate instead of OffsetRectdan sinclair
This CL removes CPWL_Utils::OffsetRect in favour of CFX_FloatRect::Translate. Change-Id: I10e654fcd32639f2121fa78cd343879562c54186 Reviewed-on: https://pdfium-review.googlesource.com/7711 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-13Remove CPWL_Utils::{In,De}flateRectdan sinclair
This CL removes the custom InflateRect and Deflate rect code in CPWL_Utils in favour of calling the CFX_FloatRect version. This required inlining some extra code at each callsite to check the rect size and normalize. Change-Id: I7f60e5de03fc1db0c1d8e51eaa1d0e0700ebf157 Reviewed-on: https://pdfium-review.googlesource.com/7710 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-10Fix nits in CFFL_FormFillerDan Sinclair
Cleanup nits in CFFL_FormFiller. Split CFFL_Button into own files. Change-Id: I41fa7118a46aa1f495c15f90a4c4b77b309a10d3 Reviewed-on: https://pdfium-review.googlesource.com/7339 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-10Change parameter type to IPWL_FocusHandler::OnSetFocus().Lei Zhang
The parameter is a CPWL_Wnd* but the only caller passes in a CPWL_Edit*, so change it to CPWL_Edit* and remove the type checks / casting. Change-Id: Ic2c85427bea5bf3d257b63c1e2ce9db5bee22136 Reviewed-on: https://pdfium-review.googlesource.com/7430 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-07-06Rename OnNotifySelChanged to OnNotifySelectionChangedDan Sinclair
Change-Id: I346bfb986754e7530bbfa5be0057422d968e0631 Reviewed-on: https://pdfium-review.googlesource.com/7338 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-06Convert OnBeforeKeyStoke to remove in-out paramDan Sinclair
This CL removes the in-out params from OnBeforeKeyStroke and instead returns a std::pair<bool, bool>. Change-Id: I246cf51652da7e05ea71f582b523aa428cbbd3b8 Reviewed-on: https://pdfium-review.googlesource.com/7337 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-06Remove in-out param from OnNotifySelChangedchromium/3151Dan Sinclair
This CL converts OnNotifySelChanged to return instead of accepting an in-out parameter. Change-Id: I42ab220b1f3af304493496ada5624677652bf10f Reviewed-on: https://pdfium-review.googlesource.com/7336 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-06Remove in-out param from OnCharWithExitDan Sinclair
This CL splits the OnCharWithExit method into IsChar and OnCharNotify and changes the in-out parameter to a return. Change-Id: Ifd5aafc6facf7a4d9acfe56118331b3935691965 Reviewed-on: https://pdfium-review.googlesource.com/7335 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-06Remove in-out param from OnKeyDownWithExitDan Sinclair
This CL splits OnKeyDownWithExit into IsMovementKey and OnMovementKeyDown and removes the in-out param in favour of returning a bool. Change-Id: If8a83acec2d424ebd338d93445f366428940fbca Reviewed-on: https://pdfium-review.googlesource.com/7334 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-06Remove in-out from OnPopup{Pre|Post}OpenDan Sinclair
This CL removes the bExit param from OnPopup{Pre|Post}Open in favour of using a return value. Change-Id: Icc99b137455343482fc1f60947c3b1f4246aeda1 Reviewed-on: https://pdfium-review.googlesource.com/7332 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-06Cleanup CPWL_SBButton::DrawThisAppearanceDan Sinclair
Change-Id: Id3acb0495da7650e42413f69d325bf404eae9ac0 Reviewed-on: https://pdfium-review.googlesource.com/7290 Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-05Cleanup IOn* methods and CPWL_CBEditDan Sinclair
This CL removes various IOn* methods and consolidates code where possible. The CPWL_CBEdit class is also removed as it was a subclass of CPWL_Edit which added no extra functionality. Change-Id: Ifac579ab252b7ca64f8c9b3caeac443683a39c58 Reviewed-on: https://pdfium-review.googlesource.com/7279 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-07-05Cleanup some CPWL_Wnd definesDan Sinclair
This CL removes unused #define's and moves ones that are only used in a single .cpp class to that file. Change-Id: I6c503d5d4c031a870b7a1362086205a810d31478 Reviewed-on: https://pdfium-review.googlesource.com/7256 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-05Remove PNM_ mouse methods and OnNotifyDan Sinclair
This CL removes the remaining PNM_* messages and converts them to individual methods. Change-Id: I44791a35bc720f29f8f5d4d7c26a8c899b54132d Reviewed-on: https://pdfium-review.googlesource.com/7255 Reviewed-by: Nicolás Peña <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-05Remove PNM_SETCARETINFO and call SetCaret directlyDan Sinclair
The PNM_SETCARETINFO message is only sent inside CPWL_EditCtrl and is only handled in that class. This CL removes the message from OnNotify and calls SetCaret directly. Change-Id: I7d48f4b9fcd9fe8e828163c957e7d46f369edb06 Reviewed-on: https://pdfium-review.googlesource.com/7254 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-05Remove PNM_SCROLLWINDOW and replace with direct methodDan Sinclair
This CL removes PNM_SCROLLWINDOW from OnNotify and replaces it with a call to ScrollWindowVerticallyTo. Change-Id: I62f6da60cdcd4926b0c74b980b3855a28a834411 Reviewed-on: https://pdfium-review.googlesource.com/7253 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
2017-07-05Move PNM_SETSCROLLPOS to custom methodDan Sinclair
This CL splits PNM_SETSCROLLPOS out of OnNotify and places into a method which is called as needed. Change-Id: Ic144bc30bca57869f0679bef40e07b6a130e944c Reviewed-on: https://pdfium-review.googlesource.com/7252 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-05Move PNM_SETSCROLLINFO out of OnNotifyDan Sinclair
This CL moves the SETSCROLLINFO from a OnNotify message to a method which is called directly. Change-Id: I5d793c1c7a54c0fa3bdadffac72aae934cb9da57 Reviewed-on: https://pdfium-review.googlesource.com/7251 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-07-05Remove PNM_{ADD|REMOVE}ChildDan Sinclair
This OnNotify message is only handled in CPWL_Wnd and it is only emited in CPWL_Wnd. This CL inlines the resulting calls into the original OnNotify callsites and removes the messages. Change-Id: If419f0f51db00dbecc960d80bb10b17ad8bec7e1 Reviewed-on: https://pdfium-review.googlesource.com/7232 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-06-30Add embedder tests for form combobox text selection.chromium/3149chromium/3148chromium/3147Diana Gage
These tests verify that CPWL_ComboBox::GetSelectedText() and FORM_GetSelectedText() behave as expected when selecting text in form combobox textfields. Text can be selected in both regular comboboxes and user-editable comboboxes. BUG=chromium:59266 Change-Id: I1a5e48baf8aa767283dc478b0872877a52c5b869 Reviewed-on: https://pdfium-review.googlesource.com/6971 Commit-Queue: Diana Gage <drgage@google.com> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-06-30Remove pointless CFX_FloatRect construction.Lei Zhang
Also just call CFX_FloatRect() instead of explicitly writing out all zeros. Change-Id: I7574e64791d0c9ba613b14d0a613737dfbf39b12 Reviewed-on: https://pdfium-review.googlesource.com/7172 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-06-29Change SetReverse to GetInverse in CFX_MatrixNicolas Pena
CFX_Matrix::GetInverse is much clearer. Change-Id: Id10ab1723735332e1a78de853f28415ec3a4d834 Reviewed-on: https://pdfium-review.googlesource.com/7090 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-06-29Converted low-hanging cpwl classes in CFX_ByteTextBuf to ostringstream.Henrique Nakashima
Bug: pdfium:731 Change-Id: I3faf5a4ec4b2af6145348e526f39ccbc2055e62e Reviewed-on: https://pdfium-review.googlesource.com/7050 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-06-20Add FORM_GetSelectedText() function.Diana Gage
This function copies the selected text from a form text field or form combobox text field into the buffer parameter and returns the length of the selected text string. When buffer is a nullptr or buflen is less than the length of the selected text, this function does not modify the buffer and only returns the selected text length. BUG=chromium:59266 Change-Id: Ie77de38e45bbe6f9ea033826c961435304eedfc7 Reviewed-on: https://pdfium-review.googlesource.com/6413 Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-06-13Implement CPWL_ComboBox::OnDestroy() to manage unowned pointers.Lei Zhang
CPWL_ComboBox's unowned pointers to other CPWL_Wnds need to be released at the right time. Also release the unowned pointer for CPWL_Wnd's vertical scroll bar at the right time. BUG=729041 Change-Id: I06a1da35fcb18dae8faf9cd4fbc0b75d38f115b0 Reviewed-on: https://pdfium-review.googlesource.com/6418 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-06-03Add a basic embedder test for CPWL_Edit.Lei Zhang
Change-Id: Ib381423b81e718410cb1d199aadbf396ee08b29a Reviewed-on: https://pdfium-review.googlesource.com/6251 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-06-02Rename PWL_FooBar files to cpwl_foo_bar.Lei Zhang
Change-Id: I7ed0ba0acbbee291e285555974ebf50c0073668f Reviewed-on: https://pdfium-review.googlesource.com/6250 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-06-02Remove unused bits from PWL_Edit headers.chromium/3120Lei Zhang
Change-Id: Ic2e1639ab003f0a4981be0c61714ca9cd0b04c5f Reviewed-on: https://pdfium-review.googlesource.com/6230 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-06-02Split timer classes out of PWL_Wnd.hLei Zhang
Rename CPWL_TimerHandler and simplify CPWL_Wnd. Change-Id: Ib3850570fc5afdc2fa30f47a5b8754fea3cbf3e6 Reviewed-on: https://pdfium-review.googlesource.com/6175 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-06-02Clean up CFFL formfiller classes.Lei Zhang
- Consolidate assertions for m_pFormFillEnv. - Remove check for m_pFormFillEnv being NULL. - Pass in a CPDFSDK_Widget* instead of an Annot* and then casting. - Remove unused LoadPopupMenuString() method. Change-Id: Ic22e75c9e41eb54002be812945a3ee80debeca8b Reviewed-on: https://pdfium-review.googlesource.com/6232 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>