summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-07Handle removed fonts correctly in GetFontByCodePageRyan Harrison
The existing code has a couple of issues that need to be addressed. First it assumes that for a hash, there will be an entry in the map and blindly calls the [] operator and takes the address of the result. If there isn't an entry for the hash then this will cause a crash. This has been converted to a call to find and returning nullptr, which is the fail result, if it cannot find an entry for the hash. The other issue is that it assumed that the first entry in the vector would be a valid pointer. When removing fonts from the vector, RemoveFont, first nulls out entries. Once all of the entries have been removed from a vector on subsequent calls to RemoveFont, then the vector is removed from the map. Thus the first entry in the vector might not be the correct value to return. This has been changed to a linear scan of the vector for a valid pointer. BUG=chromium:648177 Change-Id: Ife758636545f0d10fb726c243e3e0a5b7c1d1138 Reviewed-on: https://pdfium-review.googlesource.com/25930 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-07Clean up RenderPage methods in EmbedderTest.Lei Zhang
Add replacement methods that make themselves clear as to what they are rendering, and return unique_ptrs to help prevent leakage. Mark existing methods deprecated. Change-Id: I9055407e614dfbe765428fb32a7da64df3418d1d Reviewed-on: https://pdfium-review.googlesource.com/25470 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-02-07Restore assert when GetCharacterInfo is called on an empty edit.Henrique Nakashima
CFWL_Edit::UpdateCursorRect now checks if the edit is empty before getting the caret position. Bug: chromium:592750 Change-Id: I792e90537741a78141fa084a646380bfe7ce4637 Reviewed-on: https://pdfium-review.googlesource.com/25910 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-07Check that request sizes in ReadData don't overflowRyan Harrison
When a very large, bogus value, was being passed in for the number of bytes to read, this could cause an overflow in the check for if there is data available. BUG=chromium:809824 Change-Id: I54af6655b61d39275f3ae6fabb27be2bee3fef05 Reviewed-on: https://pdfium-review.googlesource.com/25871 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-07Make xfa_fxfa_parser target jumbo capable.Lei Zhang
Mechanically uniquify all the kFoo variables in xfa/fxfa/parser. BUG=pdfium:964 Change-Id: Iffe15015282d572147f31f2101fa0127f2198620 Reviewed-on: https://pdfium-review.googlesource.com/25890 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-02-07Remove unused return values from CXFA_NodeDan Sinclair
This CL removes the unused return values from InsertChild and RemoveChild methods in CXFA_Node. Bug: chromium:807863 Change-Id: Iac468afc5c48f51e7df3ea12d11b128a0ac124ea Reviewed-on: https://pdfium-review.googlesource.com/25670 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-02-07Revert "[v8-platform] Store the platform in a unique_ptr"Dan Sinclair
This reverts commit 608e8dd6b87b15772862dca9b7b2e6791a25dab6. Reason for revert: Breaks the roll into Chromium pdf/pdfium/fuzzers/pdfium_fuzzer_helper.cc:238:5: error: no matching function for call to 'InitializeV8ForPDFium' InitializeV8ForPDFium(ProgramPath(), "", &natives_blob, &snapshot_blob, ^~~~~~~~~~~~~~~~~~~~~ ../../third_party/pdfium/testing/test_support.h:94:31: note: candidate function not viable: requires 4 arguments, but 5 were provided std::unique_ptr<v8::Platform> InitializeV8ForPDFium( ^ https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.chromium.linux%2Flinux_chromium_compile_dbg_ng%2F461077%2F%2B%2Frecipes%2Fsteps%2Fcompile__with_patch_%2F0%2Fstdout Original change's description: > [v8-platform] Store the platform in a unique_ptr > > We want to change the signature of {CreateDefaultPlatform} in the V8 > API to return a unique_ptr instead of a raw pointer to indicate that the > caller owns the platform. With this change we prepare pdfium for this > change. > > R=​thestig@chromium.org > > Change-Id: I4a0a466dfc37b28387a91543623a7a481ca8035a > Reviewed-on: https://pdfium-review.googlesource.com/18191 > Commit-Queue: Lei Zhang <thestig@chromium.org> > Reviewed-by: Lei Zhang <thestig@chromium.org> TBR=thestig@chromium.org,ahaas@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I418c97653e8aba93560537f0d41e1aaa238bf3b4 Reviewed-on: https://pdfium-review.googlesource.com/25850 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-07More GetPageNumbers() clean up in fpdf_ppo.cpp.Lei Zhang
- Pass by const ref. - Simplify logic. - Return page number vector directly. Change-Id: If68c89437380b871ca6635f2355049dd19a9e512 Reviewed-on: https://pdfium-review.googlesource.com/24270 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Shirleen Lou <xlou@chromium.org>
2018-02-06Change MakeXObject to update reference from the root of the source page.xlou
The code changes include two parts: 1. Only updating resources' reference caused font not to clone properly. Hence changing to update reference from the root of the source page dictionary. 2. Since PDF objects are at document level, pObjNumberMap needs to be defined before pages are created to avoid same object being copied more than one times with different object numbers. Change-Id: I6f90aff2e3901cee73ce09fe550ad79add6be7eb Reviewed-on: https://pdfium-review.googlesource.com/25190 Commit-Queue: Shirleen Lou <xlou@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-02-06Use temporary iterator to avoid potential OOBRyan Harrison
In the existing code pCharPos is manipulated directly without being reset. This means that for the second iteration it is at the end of the range instead of the start. This CL introduces temporary iterators that are intialized to the value of pCharPos and then manipulated to avoid this issue and having to reset pCharPos. BUG=chromium:648177 Change-Id: I5c9344c1b67a015b01470a0dc337361552ffd447 Reviewed-on: https://pdfium-review.googlesource.com/25750 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-02-06Fix caret not appearing in XFA Edits.Henrique Nakashima
This makes the caret appear (again?), blink, and fixes its positioning to be a little spaced from the last character. Known issue: when the edit is empty, the caret is not necessarily aligned with where the text will be. Bug: chromium:592750 Change-Id: I950b0ea236db8855c6ed50f48ec1935d97e6ccf8 Reviewed-on: https://pdfium-review.googlesource.com/25451 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-06Avoid needless malloc for v8:Global array.Tom Sepez
They have move semantics, so they can directly be members of the array. Change-Id: Ia73cbc06fd22665693ae1a4efe6a6f64eca1b5fb Reviewed-on: https://pdfium-review.googlesource.com/25490 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-06Remove unused FreeObjectPrivate() overload.Tom Sepez
Change-Id: Idb1f6879a78e4ada8129250eedd37142b6f26588 Reviewed-on: https://pdfium-review.googlesource.com/25530 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-06IWYUMike Reed
Change-Id: I79c756153608a345f27c7ccac8009bf68512dba8 Reviewed-on: https://pdfium-review.googlesource.com/25790 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-06Make the CXFA_Node parent pointer UnownedDan Sinclair
This CL converts the CXFA_Node parent pointer to be an Unowned pointer instead of a raw pointer. Bug: chromium:807863 Change-Id: I266c9216cfe8153e234bf66b88fbac6c8d96ebb4 Reviewed-on: https://pdfium-review.googlesource.com/25650 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-02-06Break unneeded dep on Bmp codec in Gif codecRyan Harrison
BUG=pdfium:1006 Change-Id: I84d2a13ac7b24e7f2f5cba8765d6433860241b58 Reviewed-on: https://pdfium-review.googlesource.com/25710 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-06Account for skip size before getting image ifh sizeRyan Harrison
BUG=chromium:808336 Change-Id: I84443a00e2ebaf0a1e8590464486ec92bcb0e3b5 Reviewed-on: https://pdfium-review.googlesource.com/25690 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-06Extract classes in fx_bmp.h into their own filesRyan Harrison
BUG=chromium:808336 Change-Id: I3201805a374b5403149eca701714ef4369a2e337 Reviewed-on: https://pdfium-review.googlesource.com/25630 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-06Convert BMP class name style to match other codecsRyan Harrison
BMPDecompressor -> CFX_BmpDecompressor CBmpContext -> CFX_BmpContext BUG=chromium:808336 Change-Id: If8ef5294171e3619ae1d7c5175ddf23b7673ec78 Reviewed-on: https://pdfium-review.googlesource.com/25611 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-06Move core/fxcodec/lbmp/ -> core/fxcodec/bmp/Ryan Harrison
BUG=chromium:808336 Change-Id: Id721787dd77d1bcac6daf6e3c149f79e8d1d9fe4 Reviewed-on: https://pdfium-review.googlesource.com/25610 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-06Changing the member naming style in BMPDecompressorRyan Harrison
Currently there is no indication in the name of it being a member variable and the capitalization is inconsistent. This CL brings them all into line with Chromium style. BUG=chromium:808336 Change-Id: Iaed0272b69350f316371a67eb513934a0169f451 Reviewed-on: https://pdfium-review.googlesource.com/25430 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-06Fix an infinite recursion in pdfium_test.Lei Zhang
Mark pages as loaded before calling FORM_DoPageAAction(). BUG=chromium:808898 Change-Id: I82c481ba759842ea794b5578120101465b37f16a Reviewed-on: https://pdfium-review.googlesource.com/25511 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-02-06Add rendering embeddertests for FPDF_ImportNPagesToOne.xlou
One test is added to render the output pdf of FPDF_ImportNPagesToOne, and check the width, height and hash value of the rendered image. Change-Id: Idd3f953d62ecd4e85ad52a9323eb13243dc49597 Reviewed-on: https://pdfium-review.googlesource.com/25330 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-02-05Limit dest buffer to 1GB in FlateOrLZWDecode.Henrique Nakashima
Bug: chromium:802094 Change-Id: I99d2d75cd431afe1cdb966e1431143ab43dd9a73 Reviewed-on: https://pdfium-review.googlesource.com/24730 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-05Fold CJS_EmbedObj classes into CJS_Object classesDan Sinclair
This CL removes the CJS_EmbedObj class and various subclasses and folds the subclasses into their CJS_Object counterparts. Change-Id: If6b882a4995c0b1bf83ac783f5c27ba9216c2d5c Reviewed-on: https://pdfium-review.googlesource.com/25410 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-02-05Remove the CJS_EmbedObj template param from JSConstructor.Dan Sinclair
Each of the CJS_Objects can create their CJS_EmbedObj's internally and we don't need to do it though the JSConstructor. This also removes the need for the SetEmbedObj method in CJS_Object. Change-Id: Ib0535ad922b370634fd1e622a04860a96c4f2825 Reviewed-on: https://pdfium-review.googlesource.com/25370 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-02-05Make EmbedderTest class member style consistent.Lei Zhang
The class started with |foo_bar_| but now has a mixture of |foo_bar_| and |m_FooBar|. Change them all to |foo_bar_|. While making this change, also initialize the members in the header when possible. Change-Id: I202ff5dc5e945175ad4da2f3245724f3493aa8aa Reviewed-on: https://pdfium-review.googlesource.com/25390 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-02-05Fix testing.cpp build with v8_use_external_startup_data=false.Lei Zhang
Also change the InitializeV8ForPDFium() for use with startup data to InitializeV8ForPDFiumWithStartupData(). Change-Id: I594c2bf9470b6549195b7361bb7fcb45def50c61 Reviewed-on: https://pdfium-review.googlesource.com/25371 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-02-05Use unique pointer in CFXJS_PerObjectData.Tom Sepez
Also use the actual type information, not void* and remove casts. Template function not required to wrap virtual dtors. Change-Id: I9397cae136c3c395a368a1ef0ce8162d9b586076 Reviewed-on: https://pdfium-review.googlesource.com/25290 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-05Fix some formcalc constant naming.Lei Zhang
Mark one constant as actually constant. Change-Id: Icf046dbd6751d07d6652ce24e4217a717a58b699 Reviewed-on: https://pdfium-review.googlesource.com/25310 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-05[v8-platform] Store the platform in a unique_ptrAndreas Haas
We want to change the signature of {CreateDefaultPlatform} in the V8 API to return a unique_ptr instead of a raw pointer to indicate that the caller owns the platform. With this change we prepare pdfium for this change. R=thestig@chromium.org Change-Id: I4a0a466dfc37b28387a91543623a7a481ca8035a Reviewed-on: https://pdfium-review.googlesource.com/18191 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-02-05Add FPDFAnnotationDeleter for use with std::unique_ptr.Lei Zhang
Use it in existing code where appropriate. BUG=chromium:808269 Change-Id: I55b67db05267f4f05a98c9bf8bbd43f6524cbc65 Reviewed-on: https://pdfium-review.googlesource.com/25210 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-02-05[XFA] dot_accessor may not provide a valid object.Dan Sinclair
If the object being accessed through the dot_accessor does not exist it's possible to receive a nullptr in ResolveObject. Instead of ASSERTing just return false and let the caller handle the failure. Bug: chromium::778904 Change-Id: I918c1c5dcb23b86082793c5037d58e0ab043559e Reviewed-on: https://pdfium-review.googlesource.com/25350 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-05Include time.h on wasm.chromium/3342chromium/3341Henrique Nakashima
Bug: chromium:804907 Change-Id: Id9b496f14134631d3308c073b8780bf18c2305c8 Reviewed-on: https://pdfium-review.googlesource.com/25270 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-05Move const arrays to CFXJS_Engine from CJS_V8Tom Sepez
CJS_V8 is shared by both the non-xfa and xfa-side JS engines, but the const arrays are only used by the non-xfa side. Change-Id: Ic5ed8238df1a14dde8a4463b2388b4a7a923e392 Reviewed-on: https://pdfium-review.googlesource.com/25250 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-02Teach the presubmit check to look for checkdeps in other places.chromium/3340chromium/3339chromium/3338Lei Zhang
When PDFium source is not part of a standalone checkout, uploading CLs fail because the presubmit check cannot find the checkdeps tool. Detect the common case where PDFium is in third_party/pdfium, and look in the embedder source tree for checkdeps. BUG=pdfium:999 Change-Id: I972282aef9e62f99dce282d556ca2e68de3acbb0 Reviewed-on: https://pdfium-review.googlesource.com/24910 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org>
2018-02-02Remove third_party/build/build_config.h.Lei Zhang
Use build/build_config.h instead. Having two build_config.h files is confusing. Change-Id: I4bd9c76ab6d913ee0aaa8b2f9c17b94bfba2d128 Reviewed-on: https://pdfium-review.googlesource.com/25111 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Chris Palmer <palmer@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-02-02Small tidy of fxjsTom Sepez
Use correct include style for v8 headers. Use incomplete type to avoid including header. Change-Id: Ibd58aa25b2a17fbd1cf6a20643b6f25ca008974f Reviewed-on: https://pdfium-review.googlesource.com/25230 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-02Remove V8 context from CJS_V8Tom Sepez
Makes CFXJS_Engine and CFXJSE_Engine consistent with each other in that both have a V8 context to themselves, and not one inheritted from the CJS_V8 (which is now more per-isolate than per-context). Consolidate NewLocalContext() and GetPersistentContext(), which both did the exact same thing under the covers once inside v8 land. Rename a few things to make it simpler. Change-Id: I68905db9ad44253063da235fcb276a75627a2dbc Reviewed-on: https://pdfium-review.googlesource.com/25170 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-02Make global object function names clearer.Tom Sepez
Also tidy some sub-expressions. Change-Id: Ieabd5f6cea60e8ec03c8ce5ebe372fc80b05a7bb Reviewed-on: https://pdfium-review.googlesource.com/25150 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-02Add asm.js to third_party/build/build_config.h.Henrique Nakashima
This reflects changes in the build_config.h from chromium/build/src. Bug: chromium:804907 Change-Id: I892bcf3bbf5d260c904f40536fa1f3c9e49a5ac6 Reviewed-on: https://pdfium-review.googlesource.com/25130 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-02Fix IWYU errors in fpdfppo.cpp.Lei Zhang
Also rename the file to fpdf_ppo.cpp so it is consistent with the public header file name. This makes the linter happy. Change-Id: Ib3608c78111842579898c55f1399982ab2549310 Reviewed-on: https://pdfium-review.googlesource.com/24970 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-01Make CFXJSE-created contexts refer to their CFXJS counteparts.chromium/3337Tom Sepez
Bug: 773229 Change-Id: Ic3774c7f6abe3a195bbe09b91d91c549d4d7ac46 Reviewed-on: https://pdfium-review.googlesource.com/25110 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-01Change internal usages of GetPageIndexDeprecated() to new method.Henrique Nakashima
The new GetDestPageIndex() method does the same thing, but has a consistent form of returning an error (returns -1). Bug: pdfium:938 Change-Id: I31583e1c544d9173a28582b849edd5f73c40e174 Reviewed-on: https://pdfium-review.googlesource.com/25070 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-01Introduce CXFJS_Engine::EngineFromContext/SetEngineInContext helpersTom Sepez
No functional change, but expose helpers likely to be needed by next steps. Rename CXFJS_Engine::CurrentEngineFromIsolate to be more accurately named along the way. Change-Id: Iaf2d15a09cfed85705d24ee056e78edf0660ce59 Reviewed-on: https://pdfium-review.googlesource.com/25090 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-02-01Make FXJSE_Engine constructed from FXJS_Engine.Tom Sepez
No change in functionality yet, just passing higher level object. Precursor to maybe sharing v8 context between fxjs / fxjse. Mark unimplemented ctors / assignment operator as "delete". Change-Id: I100de7755909eec2eed96f6f51216d85923ffbb2 Reviewed-on: https://pdfium-review.googlesource.com/25050 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-01Change return of FPDFDest_GetDestPageIndex to int.Henrique Nakashima
Bug: pdfium:938 Change-Id: Ic530788313157ce2513f91217705401da7a05ef8 Reviewed-on: https://pdfium-review.googlesource.com/25030 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-02-01Convert CFX_CSSPropertyTable to CFX_CSSDataRyan Harrison
This converts the existing class naming and references. The ::Entry struct is converted to ::Property. The GetBy* methods are renamed to GetPropertyBy*. Free functions from other parts of the CSS code base are merged into the class. GetCSSPropertyValueByName becomes ::GetPropertyValueByName with a return value of ::PropertyValue*. GetCSSLengthUnitByName becomes ::GetLengthUnitByName with a return value of ::LengthUnit*. GetCSSColorByName becomes ::GetColorByName with a return value of ::Color*. BUG=pdfium:998 Change-Id: I5b78c69d0fe53ad714ac3545cfdda8c26b95e4d5 Reviewed-on: https://pdfium-review.googlesource.com/25010 Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-02-01Deprecate FPDFDest_GetPageIndex and create a fixed version.Henrique Nakashima
FPDFDest_GetDestPageIndex() has a well defined return value for errors (-1). Keeping FPDFDest_GetPageIndex() to avoid changing behavior of the old API for whoever relies on it. Bug: pdfium:938 Change-Id: Iad528923cb156e957a419540c262a65f45cb777d Reviewed-on: https://pdfium-review.googlesource.com/24811 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-02-01[jumbo] Compile fix: Move a GetPageContent to a more limited scopeDaniel Bratell
There is a GetPageContent in pdfsdk/fpdfppo.cpp and one in fpdfsdk/fpdf_transformpage.cpp, both in the anonymous namespace. In jumbo builds those two files compile in the same translation unit and then they share the same anonymous namespace and clash. Given that the function is small and that I saw no natural place to share it, this patch moves one instance into the class that is using it. Change-Id: Icbdf69bd83887c6e5cf31d2080a5b12b5710691e Reviewed-on: https://pdfium-review.googlesource.com/24990 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>