summaryrefslogtreecommitdiff
path: root/core/include
AgeCommit message (Collapse)Author
2016-04-05Remove core/include/fpdfdoc/fpdf_vt.hdsinclair
This CL removes the core/include/fpdfdoc/fpdf_vt.h file. The IPDF_VariableText class was removed in favour of the only concrete class of CPD_VariableText. CPVT_Provider was moved to CPDF_VariableText::Provider and CPDF_VariableText_Iterator was moved to CPDF_VariableText::Iterator. The IFX_Edit_FontMap interface was merged into the IPVT_FontMap interface so there is only one. Other classes were split out as needed in order to keep things compiling. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1860063002
2016-04-04Make IPDF_VariableText_{Provider,Iterator} inner classes.dsinclair
This CL moves the IPDF_VariableText_Provider and IPDF_VariableText_Iterator classes to be nested sub-classes of IPDF_VariableText. BUG=pdfium:455 Review URL: https://codereview.chromium.org/1855403002
2016-04-04Support the device font cachecaryclark
Reuse the Skia typeface on sucessive text draw calls. This reduces the SKP size by 100x for some documents. Note that this does not use a smart pointer for the Skia typeface object. The downside of doing so is that it requires all clients that include fx_font.h to also have access to Skia. In this specific case, it is preferable to have a forward declared class to isolate Skia from the rest of PDFium. R=dsinclair,tsepez@chromium.org Review URL: https://codereview.chromium.org/1837113004
2016-03-31Split core/include/fpdfdoc/fpdf_ap.hdsinclair
This CL splits the fpdf_ap.h file apart into individual pieces and moves the implementations to their own CPP files. Review URL: https://codereview.chromium.org/1840413002
2016-03-29Code change to avoid signed/unsigned mismatch warnings.Wei Li
This makes pdfium code on Linux and Mac sign-compare warning free. The warning flag will be re-enabled after checking on windows clang build. BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1841643002 .
2016-03-25Remove FX_DWORD from core/ and delete definitionchromium/2695chromium/2694chromium/2693chromium/2692tsepez
Review URL: https://codereview.chromium.org/1832173003
2016-03-25support gradients and stroke+fillcaryclark
To draw paths that are stroked and filled with a pair of colors, reduce the fill by the width of the stroke. This is implemented with path ops subtracting the resolved stroke shape from the fill shape. This permits rendering the result without requiring an offscreen bitmap. The implementation for stroke+fill requires a new entry into the graphics engine, so a bit was added to device caps for that. Extract the gradient information out of the axial gradient function descriptions, and when possible, use Skia to draw the linear gradient directly. This requires making the function descriptions non-opaque, and adding a bit to device caps for another entry into the graphics engine. BUG= Review URL: https://codereview.chromium.org/1828283002
2016-03-25Replace CFX_DWordArray with CFX_ArrayTemplate<FX_DWORD>.Tom Sepez
First step to getting rid of FX_DWORD. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1832113003 .
2016-03-24Added bounds checking to GetNameFromTT to handle corrupt files.Tom Sepez
Patch by forshaw. This patch adds bounds checking to the names buffer passed to GetNameFromTT. There are observed crashes in this function where data is read outside of the bounds allocated and passed to GetNameFromTT. There's no reason that this function should ever try and read outside of the allocated bounds. BUG=583037 TBR=forshaw@chromium.org patch from issue 1829013002 at patchset 40001 (http://crrev.com/1829013002#ps40001) Review URL: https://codereview.chromium.org/1830243003 .
2016-03-23Split core/include/fpdfapi/fpdf_resource.hdan sinclair
This CL splits apart the core/include/fpdfapi/fpdf_resource.h file and places the classes into individual files. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1824033002 .
2016-03-23Move core/include/fxcrt to core/fxcrt/include.Dan Sinclair
This CL moves the fxcrt code into the core/fxcrt directory. The only exception was fx_bidi.h which was moved into core/fxcrt as it is not used outside of core/. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1825953002 .
2016-03-21Make predefined character table slightly smaller.Tom Sepez
Add a few missing consts and remove a few extra externs. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1817283002 .
2016-03-21Remove FX_WORD in favor of uint16_t.Tom Sepez
It isn't buying us anthing, and it looks strange in a struct when other uint types are already present. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1821043003 .
2016-03-21Make a few more const tables smaller.chromium/2689chromium/2688Tom Sepez
Remove some tables from .h file (risk of duplication). R=ochang@chromium.org Review URL: https://codereview.chromium.org/1814233005 .
2016-03-21Remove unused FXDIB_PALETTE_ optionsTom Sepez
The only one that is ever used is FXDIB_PALETTE_loc, so remove the option entirely. In turn, this allows deleting about 2KB of unused constant tables. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1809943007 .
2016-03-21Move core/include/fpdfapi/fpdf_pageobj.h into core/fpdfapi.Dan Sinclair
This CL splits the file into individual classes and moves them into core/fpdfapi/fpdf_page as needed. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1811053002 .
2016-03-18Replace additional FX_WCHAR tables with uint16_t.Tom Sepez
Saves a few bytes here and there because the tables need only 16 bits but wchar is 32 bits (except on windows). R=ochang@chromium.org Review URL: https://codereview.chromium.org/1815313003 .
2016-03-16Move core/include/fpdfapi/fpdf_page.h to correct locations.Dan Sinclair
This CL splits the fpdf_page.h header into the individual classes and moves them to the correct core/fpdfapi locations. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1805663002 .
2016-03-15Fix CJS_PublicMethods::IsNumber() with unit test and some cleanupWei Li
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1797423002 .
2016-03-15core/include/fdpfapi cleanup Part I.Dan Sinclair
This Cl moves a bunch of the files from core/include/fpdfapi to their correct location outside the core/include tree. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1805603002 .
2016-03-15Split CPDF_Stream/CPDF_StreamAcc into separate filesTom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1783933003 .
2016-03-14Add bitmaps and skp output to Skia portCary Clark
This is a first-cut at supporting bitmaps. Also added a --skp option to pdfium_test to generate a Skia picture file. The picture file can be loaded in Skia's SampleApp, debugger, or skiaserver to examine the generated picture. (This also includes fixes suggested in the prior Skia CL. My apologies for fat-fingers abandoning that one.) R=dsinclair@chromium.org, tsepez@chromium.org, dsinclair Review URL: https://codereview.chromium.org/1776313002 .
2016-03-14Move fx_crypto.h and fpdf_text.h out of core/include.Dan Sinclair
This CL moves the two files and breaks fpdf_text.h apart into individual pieces. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1801973002 .
2016-03-14Move fpdfsdk/src up to fpdfsdk/.Dan Sinclair
This CL moves the files in fpdfsdk/src/ up one level to fpdfsdk/ and fixes up the include paths, include guards and build files. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1799773002 .
2016-03-14Fix offset outside bounds warning on GCCTom Sepez
Alterntive to part of https://codereview.chromium.org/1785943002/ BUG=589724 R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1802553004 .
2016-03-11Re-enable MSVC warning 4800 for compiling with chromium_codeWei Li
Mainly change the code to avoid the warnings; in a few cases we have to use explicit casts. BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1783023002 .
2016-03-10Split fpdf_parser_objects.cpp into per-class .cpp/.h files.Tom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1776913007 .
2016-03-10Change colorspace's number of components to be unsignedWei Li
Also remove unnecessary casts. BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1783933002 .
2016-03-10Split apart the remainder of fpdf_render_render.cpp into per-class files.Tom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1778173002 .
2016-03-09Split off IPDF_CryptoHandler into its own .cpp/.h files.Tom Sepez
CPDF_CryptoHandler was always a pure-virtual class, now it is named as IPDF_ to indicate this. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1782673002 .
2016-03-09Move ScopedSetInsertion to third_party/base/stl_util.hTom Sepez
Also move ScopedFileStream, since it isn't specific to the parser, and belongs with the fxcrt object it manipulates. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1780063003 .
2016-03-09Move CPDF_NumberTree to fpdfdoc.Tom Sepez
It's not used anywhere in fpdfapi, and can become restricted to fpdfoc/. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1776713004 .
2016-03-09Split off IPDF_SecurityHandler and CPDF_StandardSecurityHandler.Tom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1781593003 .
2016-03-09Split off CPDF_Parser and CPDF_SimpleParser into .h/.cpp filesTom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1773103003 .
2016-03-09Review and cleanup lint warnings.Dan Sinclair
This CL goes through the remaining list of list warnings and records why they are currently blacklisted, or fixes and enables them. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1773733002 .
2016-03-08Split off CPDF_Document into its own .cpp/.h files.Tom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1780503002 .
2016-03-08Re-land "Split CPDF_SyntaxParser into its own named .cpp/.h files."Tom Sepez
This reverts commit 06fae28d307fe051f0c7e890344cd487c2260910. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1775023003 .
2016-03-08Revert "Split CPDF_SyntaxParser into its own named .cpp/.h files."Tom Sepez
This reverts commit d50095fb151688e119a7097aabce11e4b3d36244. Reason for revert: build broken. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1774293002 .
2016-03-08Split CPDF_SyntaxParser into its own named .cpp/.h files.Tom Sepez
BUG= R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1774753002 .
2016-03-08Reland "Fix chromium-style errors."Dan Sinclair
This reverts commit 594912241cd7d409b5f58a48ccffdc1904d844b2. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1769273002 .
2016-03-08Update cast to fix lint warning.Dan Sinclair
The current cast confused runtime/casting. Update to use static_cast and enable the lint warning. BUG=pdfium:426 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1770253003 .
2016-03-07Completely de-virtualize CPDF_SyntaxParser.Tom Sepez
It isn't sub-classed. Making GetNextChar() non-virtual may save a virtual fn call per character if the compilers aren't able to do so themselves. Make members private, not protected. BUG= R=ochang@chromium.org Review URL: https://codereview.chromium.org/1772973002 .
2016-03-07Revert "Fix chromium-style errors."Dan Sinclair
This reverts commit c582c0ddfea8ba01c8449ed7841cdb33c12e0a98. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1769263002 .
2016-03-07Fix chromium-style errors.Dan Sinclair
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1772543003 .
2016-03-03Combine StrToInt methods.Dan Sinclair
This Cl combines the two StrToInt implementations. In doing so I had to add some more overrides to toDecimalDigit() and add a isDecimalDigit(). BUG=pdfium:423 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1757283002 .
2016-03-03Fixup chromium-style warnings in fpdf_objects.hDan Sinclair
This CL fixes up chromium-style warnings in fpdf_object.h Specifically, the warnings fixed were: * Complex constructor has an inlined body. * Complex destructor has an inline body. * virtual methods with non-empty bodies shouldn't be declared inline. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1764793002 .
2016-03-03Fix O(n^2) behaviour in parser.Tom Sepez
Despite what the c++11 spec says, std::list::size() is still O(n), not O(1). R=dsinclair@chromium.org, ochang@chromium.org Review URL: https://codereview.chromium.org/1763443003 .
2016-03-03Fix parsing of object numbers > 16,777,216.Dan Sinclair
Currently, there is a check that an object number is <= 0x1000000. If that check fails, we end up putting the parser into a bad state and fail to load documents. The object does not need to be in the XRef table, or referenced from the document, just be in the document. This Cl removes the size check and updates the various atoi calls to use a uint32_t instead of an int32_t so we don't end up getting strange values when converting from a string. BUG=455199 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1755273002 .
2016-03-02Remove unused CFX_GrowOnlyPool.dan sinclair
The CFX_GrowOnlyPool class is never used, removed. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1757043002 .
2016-03-01Remove implicit conversions and some cleanupWei Li
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1751753002 .