Age | Commit message (Collapse) | Author |
|
This CL changes FindNextBreakPos to return the found index instead of
requiring a call to GetAt(). This also fixes the issue that we may
return -1 from GetAt which would cause issues in the BoundsForWordAt
method when it gets shoved into a size_t variable.
Change-Id: I29e09de5d0837921a027208fc2471a9b1de287f1
Reviewed-on: https://pdfium-review.googlesource.com/14293
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The ePreType flag is only used if bFirst is true. After the first
iteration of the loop bFirst is always false. This CL removes the
updating of ePreType as it will never be used.
Also bFirst is only set false at the end of the loop and the do {} while is
changed into a while {}
Change-Id: Iaced1b38bddcc6f5483ae20993ac69c93b2e3f97
Reviewed-on: https://pdfium-review.googlesource.com/14292
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes the IsEOF flag to match the semantics of the
FindNextBreakPos flag.
Change-Id: I1a8aba91171baeacf80bdea4b9468d6093599c90
Reviewed-on: https://pdfium-review.googlesource.com/14291
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes the Text Edit Engine code to use a count instead of an
end index for the selection range. Using count lets us differentiate a
selection at the beginning of 1 character and an empty selection.
A few new tests were added to test unicode word break behaviour, some are not
working yet and are commented out.
Change-Id: Icce8f5003102ef0a850151ccdf16d3c2226d94bf
Reviewed-on: https://pdfium-review.googlesource.com/13491
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL attempts to clarify the contents of the gs_FX_WordBreak_Table
and adds static_asserts that each entry in the WordBreakProperty table
has the value we expect.
Change-Id: I33c1f12a9e18240b01969be9902204eba5074eb7
Reviewed-on: https://pdfium-review.googlesource.com/13430
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
Automated using git grep & sed.
Replace StringC classes with StringView classes.
Remove the CFX_ prefix and put string classes in fxcrt namespace.
Change AsStringC() to AsStringView().
Rename tests from TEST(fxcrt, *String*Foo) to TEST(*String*,
Foo).
Couple of tests needed to have their names regularlized.
BUG=pdfium:894
Change-Id: I7ca038685c8d803795f3ed02545124f7a224c83d
Reviewed-on: https://pdfium-review.googlesource.com/14151
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
AKA roll clang 310694:312679
Fix virtual dtor warning in xfa/fde/cfde_texteditengine.h
Bug: pdfium:896
Change-Id: Ib5fb9433b2c138ca46ccb281b8c0a852daeb623e
Reviewed-on: https://pdfium-review.googlesource.com/13850
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
This CL moves the CFX_WordBreak::FindNextBreakPos into the text edit
engine iterator. The word break data was moved to cfde_wordbreak_data.
Change-Id: Ie022f5f761479f97b9d4bc7789f890cb2ef99106
Reviewed-on: https://pdfium-review.googlesource.com/13250
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL implements the needed logic in CFDE_TextEditEngine to handle
word selection.
Change-Id: I6b388c23655037fec107d68ec07d33638b959374
Reviewed-on: https://pdfium-review.googlesource.com/13211
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL rebuilds the text edit engine in a simpler fashion. Instead of
depending on multiple pages, paragraphs and buffer fields there is a
single text edit engine which contains a gap buffer.
This makes the code easier to understand and follow.
Change-Id: I10fe85603fa9ed15a647eaac2d931f113cd0c7b0
Reviewed-on: https://pdfium-review.googlesource.com/11990
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Through out the code base there are numerous places where variables
are declared using a signed integer type when interacting with the
string classes, since they assume that FX_STRSIZE is 'int'. As part of
changing the underling type of FX_STRSIZE to be unsigned, these
locations are being changed to use FX_STRSIZE. This is necessary as
part of converting the type, but has been broken off into a separate CL,
since it should be low risk.
Some related cleanups that are low risk are included as part of
this CL.
BUG=pdfium:828
Change-Id: Ifaae54ad195ccde0fe8672f71271d29a6ebd65fd
Reviewed-on: https://pdfium-review.googlesource.com/12210
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL updates the text edit engine to load and unload the page
directly instead of calling through the edit widget.
Change-Id: I636c8e8b0e635968222430098d3d268c75224b42
Reviewed-on: https://pdfium-review.googlesource.com/11590
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up the GetPre* methods in CFDE_TextEdtEngine. In
particular:
* GetPreDeleteText was inlined as it was very simple
* GetPreReplaceText was removed as unused
* GetPreInsertText was renamed to InsertIntoTextCopy to make clear
that this was doing the insert into a copy of the text.
Change-Id: Icde0126b6ddb0ec9d4956238ebff53c9fe51c051
Reviewed-on: https://pdfium-review.googlesource.com/11531
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Previously text break was a unique_ptr inside the CFDE_TxtEdtEngine.
This CL converts it to be a member instead of a unique_ptr. We never
replace the pointer after it's created.
Change-Id: I89ab73e81c63c24abfacd38a1141db6473d77640
Reviewed-on: https://pdfium-review.googlesource.com/11530
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL converts the return value to be an enum class and updates the
usages to use the names instead of values.
Change-Id: I8b6927551679ac4103775a04187daad2e0d6c569
Reviewed-on: https://pdfium-review.googlesource.com/11512
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Currently, all three of CFX_Matrix::TransformRect() take in rect values
and modify them in place.
This CL converts them to take in constant values and return the
transformed values instead, and fixes all the call sites.
Bug=pdfium:874
Change-Id: I9c274df3b14e9d88c100ba0530068e06e8fec32b
Reviewed-on: https://pdfium-review.googlesource.com/11550
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Jane Liu <janeliulwq@google.com>
|
|
This CL converts the enum to an enum class and updates the usage as
needed.
Change-Id: I7ba883e7d1debee00d3d9baafe941620109df8b8
Reviewed-on: https://pdfium-review.googlesource.com/11511
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up nits in CFDE_TxtEdtBuf and simplifies some of the
methods.
Change-Id: I2092da8e27281a577752fc331fec0612a349dfd6
Reviewed-on: https://pdfium-review.googlesource.com/11335
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
Converted CFDE_TxtEdtBuf::Insert(), CFDE_TxtEdtEngine::Insert(), and
CFDE_TxtEdtEngine::Inner_Insert() to take in CFX_WideString instead of
a wchar_t* and length.
Bug=pdfium:757
Change-Id: I6097e9b0d4e584b920b2117b4c5489eedef37767
Reviewed-on: https://pdfium-review.googlesource.com/11411
Commit-Queue: Jane Liu <janeliulwq@google.com>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up formatting and simplifies logic in CFDE_TextOut.
Change-Id: Ib675a35da79df77854f51e86bf24e5dc90b33b06
Reviewed-on: https://pdfium-review.googlesource.com/11334
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Bug: pdfium:872
Change-Id: Ib7f0e3708cea2d16d7536ae26777ddc48d7e2c1d
Reviewed-on: https://pdfium-review.googlesource.com/11370
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This CL removes a bunch of redundant members from the text edit engine.
The change information tracking was removed as most of it was unused or
was used inconsistently.
Change-Id: I92460594e46accff0b78e1183c8574fc83ce728a
Reviewed-on: https://pdfium-review.googlesource.com/11275
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes caret movement into an enum class and removes the
MoveNone flag.
Change-Id: I8a01b057942d45ceae9a6c3b95cfe3b8dc9ce9a5
Reviewed-on: https://pdfium-review.googlesource.com/11274
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up CFDE_TxtEdtEngine::{Insert|Delete} to cleanup return
values, input params and other unused bits.
Change-Id: I53c4475ce3dc6518058bc130e9710842df841032
Reviewed-on: https://pdfium-review.googlesource.com/11273
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The GetTextLength method just proxies to GetTextBufLength. This CL
removes GetTextBufLength and puts the functionality into GetTextLength.
Change-Id: If324fbeddd05cd63570b6942dc613e273a1fbce7
Reviewed-on: https://pdfium-review.googlesource.com/11272
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL fixes the visibility of some methods in xfa/fde along with
removing unused methods. Unused params are also removed.
Change-Id: Ic6e6d2ac8d07dc4bdabb3e0121831e4bf3fbb8ec
Reviewed-on: https://pdfium-review.googlesource.com/11271
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves several methods from the CFDE_TxtEdt* classes from the
.cpp to .h files. As well, the GetCaretRect method is updated to return
the rect instead of using an out param.
Change-Id: I1288701f47d9ac1c413fbf06627f20b295b18b86
Reviewed-on: https://pdfium-review.googlesource.com/11270
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
The three CFDE_TxtEdtEngine layout methods are always called in
sequence. Update to only have a single Layout() method. Simplify the
layout code to use existing helpers.
Change-Id: I0f4d9714f231ca3cebf43579d215d97bd2fe525a
Reviewed-on: https://pdfium-review.googlesource.com/11231
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL removes the remaining friendship in CFDE_TxtEdtEngine but adding
public methods for CFDE_TxtEdtPage to access.
Change-Id: I9e6420921bc4567a499c8e688c6db51029659ae8
Reviewed-on: https://pdfium-review.googlesource.com/11230
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=pdfium:864
Change-Id: Iab03e1977c859f150452825650afed3520024cca
Reviewed-on: https://pdfium-review.googlesource.com/11030
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL moves the implementation of the records which handle undo/redo
in the text edit engine into an anonymous namespace in the engine.
Change-Id: I299b9738b72e3eccbbec972fd3ea956c491859fa
Reviewed-on: https://pdfium-review.googlesource.com/11010
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the default params from methods in xfa/fde.
Change-Id: Ide93a51430c62753656b9e9c0bcd842d8179aa3c
Reviewed-on: https://pdfium-review.googlesource.com/10952
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes CFDE_RenderDevice. For most of the proxy'd calls we call
the CFX_RenderDevice directly now. To set the clip rect an overload was
added to accept a CFX_RectF and handle the casting to FX_RECT. The one
needed method, DrawString, is move to a static on CFDE_TextOut.
Change-Id: I95ea7e1fa1fd4702074b797c06423c9c9cb51db9
Reviewed-on: https://pdfium-review.googlesource.com/10951
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes CFDE_RenderContext and moves the ::Render method to be
::RenderText on the CFWL_Edit class which was the only caller.
Change-Id: Ic940a3f0d10cfce169f5e491de90803fc8a7940d
Reviewed-on: https://pdfium-review.googlesource.com/10950
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL starts cleaning up the visual set iterator code.
Change-Id: I643dc9edeeb0c7ff06ccd34a1977f811675413d8
Reviewed-on: https://pdfium-review.googlesource.com/10615
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
No code sets the visual object type of Canvas. Remove.
Change-Id: I213bf7bb93adbb08e949807f53a9e94579d59c1d
Reviewed-on: https://pdfium-review.googlesource.com/10614
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL cleans up more defines and shuffles some fde code around to
better locations.
Change-Id: I6af0e991d9fa489ca45d1d0f9d041657beef3b7e
Reviewed-on: https://pdfium-review.googlesource.com/10613
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL removes unused CFDE_TextOut methods and merges some single use
methods.
Change-Id: Ie625ad737aeb1dc163b03f15f4774744062a9491
Reviewed-on: https://pdfium-review.googlesource.com/10570
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL replaceds FDE_TTOSTYLE defines with a FDE_TextStyle struct which
is used to set the needed flags. The FDE_TTOALIGNMENT defines are
replaced with an enum class and unused members have been removed.
Change-Id: Ib0e2818a82e7f1961de57f8d15703477f8235a03
Reviewed-on: https://pdfium-review.googlesource.com/10530
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the unused FDE_TTOSTYLE_ flags and their supporting
code.
Change-Id: Ib5ff1af77ceab5a526a845c1fc316a3742ab810a
Reviewed-on: https://pdfium-review.googlesource.com/10455
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes CFDE_Path. There is only one method, AddLine which is
required, the rest can be removed. That method is moved to CFX_PathData
which is what CFDE_Path is appending to anyway.
Change-Id: If50af8cf856a9f7379791fe1999174db5fd13e38
Reviewed-on: https://pdfium-review.googlesource.com/10454
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the two default nullptr values in CFDE_RenderDevice.
Change-Id: I32e7cf5f45fcf1fbddd0c9070024647ac06203c5
Reviewed-on: https://pdfium-review.googlesource.com/10453
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Unused code, remove.
Change-Id: Icbe53982f932eded350fc67e8022549178b92344
Reviewed-on: https://pdfium-review.googlesource.com/10452
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
These classes just hold a color value. Instead of creating the class to
pass the color we just pass the colors.
Change-Id: I7f65ca4100bfbdcb02171c1e7e46150508e338f4
Reviewed-on: https://pdfium-review.googlesource.com/10451
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The xfa/fde/css code has no other links into xfa/. This CL moves the css
code to core/fxcrt/css and sets to only build when pdf_enable_xfa is
enabled.
Change-Id: Iefd208e1f83a28b80b567c574e841e87bce310be
Reviewed-on: https://pdfium-review.googlesource.com/9251
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL removes the default param value for this method, which was
negative. It also adds in a method to get buffer lengths, so that the
callsites can explictly passing in the length of the buffer if they
were using the default value previously.
BUG=pdfium:828
Change-Id: I0170771ee81970b8b601631015ab3e6e39fea8ea
Reviewed-on: https://pdfium-review.googlesource.com/9790
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
The CFGAS_FontMgr is being provided to the CSS style selector in order
to pas it to the RulesCollection. The RulesCollection does not use the
font manager so remove the font manager from the CSS code.
Change-Id: I61a4a5060053615935902cb31fbc12d9856acded
Reviewed-on: https://pdfium-review.googlesource.com/9270
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I6cdb439c4bccfb3708fb855d03aa65f220e6ff48
Reviewed-on: https://pdfium-review.googlesource.com/9250
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The TagProvider is only used in CXFA_TextParser. This CL moves the code
to a private inner class and renames to TagProvider.
Change-Id: Idd1926250fc59592cc923fde9ec6f8750cb10abf
Reviewed-on: https://pdfium-review.googlesource.com/9231
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
There currently exists a weird split where some files exist in xfa/fxfa
and some files exist in xfa/fxfa/app. This CL removes the app/ folder
and moves all files up to the parent directory.
Change-Id: I00c87851a1ebc5a7a636eb9a17b58ba3f1708a84
Reviewed-on: https://pdfium-review.googlesource.com/8810
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|