summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-27Workaround dubious casting between CXFA_Object and void* in FXJSEtsepez
This is just a crock to get things working until we fix the underlying issue. When there's single-inheritance, it may often work in practice to C-style (reinterpret) cast a Derived* ptr to void* and then back to a Base* ptr. One place where this blows up is if Derived has virtual functions but Base does not, in which case the world will be offset by the size of a vtable ptr. Because of the use of void* types in FXJSE, the above was happening when setting a CXFA_ThisProxy (Derived, virtual) to be a global object (void*). This would then be cast back to a CFXA_Object (Base, non-virtual) and chaos is ensured. Not sure how far back this goes. Along the way, pick up some tidying which was necessary for simplicity while tracking this down. BUG=613607 Review-Url: https://codereview.chromium.org/2015143005
2016-05-27Avoid two C-style FX_WCHAR* casts in pdfiumbrucedawson
FX_WCHAR* casts were hiding a number of misuses of narrow strings in pdfium, which /analyze identified. Now that those are fixed I did a search for other instances of (FX_WCHAR*) to see if any other bugs were lurking. No bugs were found but one unnecessary cast and one that should be a const_cast were identified. This change fixes those. No behavioral change. Review-Url: https://codereview.chromium.org/2024463002
2016-05-27Clean up some Android/Windows code.thestig
Review-Url: https://codereview.chromium.org/2004313007
2016-05-27Fix two bugs found by /analyze toolweili
The first one is about bitwise AND on zero, the result would always be zero. The second one is about using wrong bitmasks, the result would cause branches never get executed. BUG=chromium:613623, chromium:427616 Review-Url: https://codereview.chromium.org/2016243003
2016-05-27Change to disable a warning for GCC compilationchromium/2754chromium/2753chromium/2752chromium/2751weili
The warning was only shown and asked not to be treated as an error. However, some recent flag change of chromeos toolchain has some interference with the warning. To avoid future problem, disable the warning for GCC. BUG=chromium:615424 Review-Url: https://codereview.chromium.org/2013163003
2016-05-27Add back-pointer to "Associated widget" to CFWL_WidgetImp.tsepez
This is the last use of CFX_PrivateData, which is now removed. Review-Url: https://codereview.chromium.org/2016743002
2016-05-27Make sure CFDE_XMLSyntaxParser's buffer is null terminated.ochang
BUG=chromium:614962 Review-Url: https://codereview.chromium.org/2017803002
2016-05-26Fix MSVC C4800 build warnings.thestig
TBR=weili@chromium.org Review-Url: https://codereview.chromium.org/2017863002
2016-05-26Remove default arguments from CFX_FxgeDevice.thestig
Remove unused dithering code. Review-Url: https://codereview.chromium.org/2010813003
2016-05-26Fix a bug which may cause infinite loopweili
When the condition is "status == FXCODEC_STATUS_DECODE_TOBECONTINUE" while |status| never gets updated in the loop, it would enter infinite loop. Also, since Start_decode_MMR() never returns FXCODEC_STATUS_DECODE_TOBECONTINUE, there is no point to check on the return value for that. Review-Url: https://codereview.chromium.org/2013263002
2016-05-26Add opaque "layout item" to widgets for caller's use.tsepez
This avoids another use of CFX_PrivateData. Note that in the old code, we'd be calling through a m_pImpl onto the same underlying object as we passed as the "key" argument when setting the value, which explains why the get calls, happening one object lower, pass the same argument as which they are being inovked against. Review-Url: https://codereview.chromium.org/2010923002
2016-05-26Remove checks for _WIN32_WCE.thestig
Review-Url: https://codereview.chromium.org/2011563006
2016-05-26Make CPDF_IndirectObjectHolder::InsertIndirectObject return a bool.thestig
Fix some nits in CPDF_Parser::LoadCrossRefV5() and other callers. Review-Url: https://codereview.chromium.org/2019443002
2016-05-26skia: add bitmap color table supportcaryclark
Fix 2/4/8 bits per pixel bitmaps that PDFium transposes into 8 bpp indexed. R=tsepez@chromium.org,dsinclair@chromium.org,reed@google.com Review-Url: https://codereview.chromium.org/2011153002
2016-05-26Make additional FXJSE_CLASS_DESCRIPTORS constanttsepez
Also, no need to track these in the contexts since they are global. Review-Url: https://codereview.chromium.org/2014363002
2016-05-26Make fm2jscontext's class descriptor a static constant.tsepez
Review-Url: https://codereview.chromium.org/2010183002
2016-05-26Rename FXJSE_CLASS to avoid confusion with CFXJSE_CLASStsepez
BUG= Review-Url: https://codereview.chromium.org/2010013003
2016-05-26Enable chromium_code standard for XFA codeweili
Clean up the left code which causes warnings. Enable using chromium_code for XFA compilation, also re-enable all the msvs warning flags except 4267 (same as the main pdfium code). BUG=pdfium:29,pdfium:475 Review-Url: https://codereview.chromium.org/2009813004
2016-05-26Clean up CPDF_TextRenderer slightly.thestig
- Remove dead code - Remove default arguments - Move code into anonymous namespace Review-Url: https://codereview.chromium.org/2013023002
2016-05-26Remove unused FWL_Error::OutOfMemorytsepez
Interestingly, callers don't take different action based on the specific code, but that's a matter for another day. Review-Url: https://codereview.chromium.org/2010973003
2016-05-26Remove FXJSE_HOBJECT and FXJSE_HVALUE for CFXJSE_Value*dsinclair
This CL replaces FXJSE_HOBJECT and FXJSE_HVALUE with the concrete CFXJSE_Value* type. All variables are renamed to match. Review-Url: https://codereview.chromium.org/2012253002
2016-05-26Remove default arguments in CFX_RenderDevice.thestig
Review-Url: https://codereview.chromium.org/2011943004
2016-05-26Remove default argument from RestoreState() methods.thestig
Review-Url: https://codereview.chromium.org/2009803003
2016-05-26Replace FXJSE_HCLASS with CFXJSE_Class*dsinclair
This CL removes FXJSE_HCLASS and replaces with CFXJSE_Class*. All variables have been updated to the new type. Review-Url: https://codereview.chromium.org/2014213002
2016-05-26Remove one (of several) usages of SetPrivateData from IFWL_Widgettsepez
Allow an upper layer to store an "event key" directly in the widget. Also fix some dubious logic in key allocation. Review-Url: https://codereview.chromium.org/2012143003
2016-05-26Replace FXJSE_HCONTEXT with CFXJSE_Context*dsinclair
This Cl removes FXJSE_HCONTEXT and replaces it with the concrete CFXJSE_Context. All varibles have been updated as well to match the new type. Review-Url: https://codereview.chromium.org/2013963005
2016-05-26Fix windows build breakage at 25fa42f398d1Tom Sepez
TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/2018563002 .
2016-05-26Revert of Remove parameters which are always null (patchset #1 id:1 of ↵dsinclair
https://codereview.chromium.org/2009413002/ ) Reason for revert: Suspect that the lack of this parameter being passed accurately to GetObject is leading to https://bugs.chromium.org/p/chromium/issues/detail?id=613607, and that the right fix will be to pass it. Original issue's description: > Remove parameters which are always null > > These parameters are never set, remove them and their supporting code. > > Committed: https://pdfium.googlesource.com/pdfium/+/818e1900a3811e1bde1e594e4966db612f845966 TBR=tsepez@chromium.org,thestig@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2014863002
2016-05-25Clean up fx_ge.h and IWYU.thestig
Review-Url: https://codereview.chromium.org/2009253003
2016-05-25Remove parameters which are always nulldsinclair
These parameters are never set, remove them and their supporting code. Review-Url: https://codereview.chromium.org/2009413002
2016-05-25Remove FX_GAMMA() and friends. They do nothing.thestig
Review-Url: https://codereview.chromium.org/2017503002
2016-05-25Fix a Skia build error from commit 1e2c557.thestig
Review-Url: https://codereview.chromium.org/2014113002
2016-05-25Banish CFX_PrivateData to the XFA sidetsepez
Remove an unused inheritance. The remaining usages are a little more intricate. Review-Url: https://codereview.chromium.org/2015743002
2016-05-25Rename FXJSE_HRUNTIME to v8::Isolatedsinclair
This CL renames all of the instances of FXJSE_HRUNTIME to be v8::Isolate* and updates the various varible names to match the new type. Review-Url: https://codereview.chromium.org/2010833002
2016-05-25Remove CFX_PrivateData inheritance from CPDF_InterFormtsepez
It wasn't being used. Also rename a static member from m_ to s_, just because. Review-Url: https://codereview.chromium.org/2009393002
2016-05-25Remove CFX_PrivateData from CPDF_Documenttsepez
Replace it with two generic slots for Links and Codec usage. Since the codec is at a lower layer than the document, we don't provide separate get/set methods, since having a document upon which to call these would be a layering violation. Do the same for the Links for simplicity. Review-Url: https://codereview.chromium.org/2005193003
2016-05-25Complete or comment a couple Script_NodeClass functionsweili
There are a few functions which are not completed in CXFA_Node class. Complete or comment two functions in this change list. The implementation follows Adobe's XFA 2.1 references here: http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=001363.html. Also, remove a data structure no longer needed -- the code which used it has been removed. BUG=pdfium:29 Review-Url: https://codereview.chromium.org/2011553004
2016-05-25Rename fwl_widgetmgrimp.{cpp,h} to cfwl_widgetmgr.{cpp,h}tsepez
Review-Url: https://codereview.chromium.org/2004293004
2016-05-25Remove CFX_PrivateData from CPDF_Pagetsepez
CFX_PrivateData served two purposes here: The first was to hold an opaque pointer to the corresponding page structure in the next higher layer, of which it knows no details. Introduce an empty CPDF_Page::View class to represent this higher class, so as to get type safety while preserving layering. The second was to hold an opaque render context, which it also happened to own. Make this a CFX_Deletable to help with management. Also remove an unused inheritance from CFX_PrivateData in CPDF_Annot. Review-Url: https://codereview.chromium.org/2008553008
2016-05-25get skia buildingcaryclark
Resolve changes to cpdf_shadingpattern.h that prevent Skia from building. R=thestig@chromium.org,dsinclair@chromium.org,reed@google.com BUG= Review-Url: https://codereview.chromium.org/2017463002
2016-05-25fix rotated and alpha bitmapscaryclark
Match the matrix supplied by PDFium to the one expected by Skia to draw bitmaps. Set up the color if the bitmap is an image mask. Additional work required to figure out when bitmap filtering should be applied. R=reed@google.com,dsinclair@chromium.org BUG= Review-Url: https://codereview.chromium.org/2004203003
2016-05-24Remove CFX_PrivateData from CPDF_ModuleMgrtsepez
Its only used to store one object, so replace it with a unique_ptr to a class with a virtual dtor. Rename the prototypical class with virtual dtor from CFX_DestructObject to CFX_Deletable. Rename the fx_basic_module.cpp to cfx_modulemgr.cpp to match the one class in it. Review-Url: https://codereview.chromium.org/2013483003
2016-05-24Correctly implement GetPartState() functionweili
The original function doesn't seem right. Re-implement it. Review-Url: https://codereview.chromium.org/2001203002
2016-05-24Replace CFX_DSPATemplate with std::binary_search.dsinclair
This CL replaces the last instance of CFX_DSPATemplate with std::binary_search. Review-Url: https://codereview.chromium.org/2007443003
2016-05-24Remove IWFL_WidgetMgr in favor of CFWL_WidgetMgr.tsepez
The pure virtual class isn't buying us anything, and is costing us an otherwise unneeded vtable. Fix pre-existing presubmit warning in fwl_noteimp.cpp:88: If statement had no body and no else clause ... Remove switch on enum() and make separate GetWidget() methods. Review-Url: https://codereview.chromium.org/2004213002
2016-05-23Change CPDF_Boolean to use bool instead of FX_BOOL.thestig
Review-Url: https://codereview.chromium.org/1999313002
2016-05-23Rename IFX_Unknown to IFX_Retainable.tsepez
Rename addRef() method to Retain() to match Release(). This CL does not convert to CFX_RetainPtrs, which will happen in a follow-on. Review-Url: https://codereview.chromium.org/2005933002
2016-05-23Remove dead code from CPDF_InterForm.thestig
Clean up related code. Review-Url: https://codereview.chromium.org/2003853003
2016-05-23Distinguish between user and owner passwords.thestig
BUG=pdfium:496 Review-Url: https://codereview.chromium.org/2005653002
2016-05-23Make CPDF_Function::Load() return an unique_ptr.chromium/2750chromium/2749chromium/2748thestig
Review-Url: https://codereview.chromium.org/2000973002