summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2016-03-25Fix FXSYS_StrToInt()Wei Li
Correctly handle sign and out of range values. R=dsinclair@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1828873002 .
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-25Remove unused params of CPDF_Image::SetImage.dsinclair
The last 3 params of CPDF_Image::SetImage are unused, remove and cleanup logic. BUG=pdfium:194 Review URL: https://codereview.chromium.org/1831263002
2016-03-25Cleanup some extern method declarations.dsinclair
This CL removes _FPDFAPI_GetInternalFontData which is not implemented, FWL_PostMessageToMainRoop which has no body and the PostMessage which was the only caller. FWL_ShowCaret is moved to the only place where it's used. BUG=pdfium:112 Review URL: https://codereview.chromium.org/1827343003
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-24Remove strange integral constants for "true", "false", "%PDF".Tom Sepez
Compilers have good inline memcmp nowadays, so we don't have to resort to old tricks. Remove FXDWORD_FROM_LSBFIRST and FXDWORD_FROM_MSBFIRST while we're at it. MSBFIRST was technically wrong due to promotion to int. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1834553002 .
2016-03-24Add missing comma.dan sinclair
We'd skip a test as the two strings would get joined, add the missing comma so all tests are run correctly. Found by: etienneb@ R=etienneb@chromium.org Review URL: https://codereview.chromium.org/1826193002 .
2016-03-24fix windows build; add blend modesCary Clark
Use FreeType instead of Direct Write on Windows. Since PDFium currently uses the graphics engine to draw but not to measure, the graphics engine needs to always use FreeType to get consistent metrics. Add a translation from PDF's blend modes to Skia's xfer modes. Turn on subpixel positioning for text to get more precise glyph placement. Pass the alpha through to get proper bitmap transparency. Address earlier nits. R=dsinclair@chromium.org, tsepez@chromium.org, dsinclair Review URL: https://codereview.chromium.org/1812263002 .
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-23Fix win/clang part 2.Dan Sinclair
After moving EmbeddedUnicodeFromCharcode the IsValidEmbeddedCharcodeFromUnicodeCharset method is no longer used on windows. TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1827823002 .
2016-03-23Fix build on win/clangDan Sinclair
EmbeddedCharcodeFromUnicode is not used on windows anymore and clang complains. TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1828673002 .
2016-03-22Re-enable MSVC warning 4702Wei Li
BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1821423002 .
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-21Re-enable several MSVC warningsWei Li
Re-enable the following warnings: 4245: signed/unsigned conversion mismatch; 4310: cast may truncate data; 4389: operator on signed/unsigned mismatch; 4701: use potentially uninitialized local variable; 4706: assignment within conditional expression Clean up the code to avoid those warnings. BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1801383002 .
2016-03-21Handle empty objects in IsSameTextObject() and free from warningWei Li
When both text objects have no items, directly return TRUE; The last if statement moved inside loop to make the intent more obvious and free from warning (msvc warns using potentially uninitialized var itemPer) R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1815453002 .
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-18Reduce size of several PDFium constant tables.Tom Sepez
Either by using the smallest possible data type, or By accurately calcuating the bounds, or Moving to array of pointers for varying length rows. Notes: The 929 is reassuring since PDF417 barcode uses GF(929). FX_WCHAR is 4 bytes on unix (2 on windows). Binary looks to be about 240k smaller on linux/64 R=ochang@chromium.org Review URL: https://codereview.chromium.org/1807373002 .
2016-03-17fix paths and remove dead codeCary Clark
More Skia driver cleanup. Fix the GN build for Skia. Remove unused functions from header. Remove agg setup that is not required. Change path construction to use the SkCanvas matrix to position the path rather than converting the points directly. Draw stroked paths using Skia rather than generated the filled path. Pin the minimum stroke width to 1 px in device space to mimic PDF's stroke dropout control. Factor out flipped and non-flipped matrices. Add some debugging code. Set the bitmap filter quality to high. This helps a lot with 1 bit sources. R=dsinclair@chromium.org, dsinclair, tsepez Review URL: https://codereview.chromium.org/1806843002 .
2016-03-16Enable building pdf_use_skia in the standalone build.Dan Sinclair
This CL adds the necessary pieces so you can add pdf_use_skia=1 to GYP_DEFINES and do a standalone build. R=caryclark@google.com Review URL: https://codereview.chromium.org/1812563002 .
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-15Remove -Wno-inconsistent-missing-override for clang-cl builds.Oliver Chang
Fix warnings in win32_int.h R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1809473002 .
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-15Modify xfa code to avoid c4800 warningsWei Li
BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1800793002 .
2016-03-15Reland "Fix sycc{420,422}_to_rgb issues."chromium/2680Oliver Chang
Fix an incorrect unit test result. This reverts commit 2df269c52741c12d63300cee806e96ae5d0b038f. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1803043002 .
2016-03-15Split CPDF_Stream/CPDF_StreamAcc into separate filesTom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1783933003 .
2016-03-15Revert "Fix sycc{420,422}_to_rgb issues."Oliver Chang
This reverts commit 48b934135171b55b1ffc510226317fdddef5f5b8. Broke unit tests. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1800153002 .
2016-03-15Fix sycc{420,422}_to_rgb issues.Oliver Chang
sycc422_to_rgb was incorrect. This patch adds a similar check to the one in sycc420, and fixes an issue with the previous sycc_420_size_is_valid function where truncation from division wasn't accounted for. BUG=591785 R=jun_fang@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/1785323003 .
2016-03-15Tidy fpdftext/ directoryTom Sepez
Make .h/.cpp filenames match. Add header for unicodenormalization.cpp Remove dead code. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1796303002 .
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-14Add missing DEPS files; enable checkdeps.Dan Sinclair
This CL adds the needed DEPS files to make checkdeps pass correctly. The checkdeps PRESUBMIT method has been copied from Chromium and is enabled on CL upload. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1801923002 .
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-14Move core/src/ up to core/.Dan Sinclair
This CL moves the core/src/ files up to core/ and fixes up the include guards, includes and build files. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1800523005 .
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-09Convert NULLs to nullptrs in fx_xml_parser.cppOliver Chang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1780703002 .
2016-03-09Fix build broken at ca78d9a52893Tom Sepez
Move time.h inclusion to new file. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1778893003 .