summaryrefslogtreecommitdiff
path: root/core/include/fpdfapi
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-04-14 12:54:38 -0700
committerTom Sepez <tsepez@chromium.org>2015-04-14 12:54:38 -0700
commit4926900ab54a493d236291b5a24dfa4476792182 (patch)
treee53800a0569300516c934bfccbb036ce39d98cb3 /core/include/fpdfapi
parenteddab4425614e49146f904f00da4a664ba4b581b (diff)
downloadpdfium-4926900ab54a493d236291b5a24dfa4476792182.tar.xz
Kill CFX_Object.
CFX_Object is a type that implements its own new operators that return NULL on error. There's no need for this given the |new (std::nothrow)| syntax; in fact, the current code can only work if there is no activity in the constructors. This may explain the pervasive lack of constructors and reliance on Init() methods throughout the codebase. The activity takes place in fx_memory.h, where FX_NEW is mapped onto the std::nothrow syntax. The rest is just cleanup. Down the road, we will simply throw and remove all the error-checking paths for new objects. Landing this patch first will at least show a simple path back to the old behaviour without having to re-introduce CFX_Object should someone want to do so in their own fork. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1088733002
Diffstat (limited to 'core/include/fpdfapi')
-rw-r--r--core/include/fpdfapi/fpdf_module.h6
-rw-r--r--core/include/fpdfapi/fpdf_objects.h8
-rw-r--r--core/include/fpdfapi/fpdf_page.h6
-rw-r--r--core/include/fpdfapi/fpdf_pageobj.h16
-rw-r--r--core/include/fpdfapi/fpdf_parser.h18
-rw-r--r--core/include/fpdfapi/fpdf_render.h12
-rw-r--r--core/include/fpdfapi/fpdf_resource.h19
-rw-r--r--core/include/fpdfapi/fpdf_serial.h2
8 files changed, 44 insertions, 43 deletions
diff --git a/core/include/fpdfapi/fpdf_module.h b/core/include/fpdfapi/fpdf_module.h
index cec8155d41..9b3a5bf7dc 100644
--- a/core/include/fpdfapi/fpdf_module.h
+++ b/core/include/fpdfapi/fpdf_module.h
@@ -23,7 +23,7 @@ class ICodec_IccModule;
class ICodec_FlateModule;
#define ADDIN_NAME_CJK "Eastern Asian Language Support"
#define ADDIN_NAME_DECODER "JPEG2000 and JBIG2 Image Decoders"
-class CPDF_ModuleMgr : public CFX_Object
+class CPDF_ModuleMgr
{
public:
@@ -123,7 +123,7 @@ class CPDF_FontGlobals;
class IPDF_FontMgr;
class IPDF_FontMapper;
class CPDF_ColorSpace;
-class CPDF_PageModuleDef : public CFX_Object
+class CPDF_PageModuleDef
{
public:
virtual ~CPDF_PageModuleDef() {}
@@ -161,7 +161,7 @@ class CPDF_Stream;
class CFX_DIBSource;
class CPDF_RenderConfig;
class CPDF_Image;
-class CPDF_RenderModuleDef : public CFX_Object
+class CPDF_RenderModuleDef
{
public:
virtual ~CPDF_RenderModuleDef() {}
diff --git a/core/include/fpdfapi/fpdf_objects.h b/core/include/fpdfapi/fpdf_objects.h
index bb449dd457..df5803c76c 100644
--- a/core/include/fpdfapi/fpdf_objects.h
+++ b/core/include/fpdfapi/fpdf_objects.h
@@ -35,7 +35,7 @@ class CPDF_CryptoHandler;
#define PDFOBJ_NULL 8
#define PDFOBJ_REFERENCE 9
typedef IFX_FileStream* (*FPDF_LPFCloneStreamCallback)(CPDF_Stream *pStream, FX_LPVOID pUserData);
-class CPDF_Object : public CFX_Object
+class CPDF_Object
{
public:
@@ -568,7 +568,7 @@ protected:
friend class CPDF_StreamAcc;
friend class CPDF_AttachmentAcc;
};
-class CPDF_StreamAcc : public CFX_Object
+class CPDF_StreamAcc
{
public:
@@ -622,7 +622,7 @@ protected:
};
CFX_DataFilter* FPDF_CreateFilter(FX_BSTR name, const CPDF_Dictionary* pParam, int width = 0, int height = 0);
#define FPDF_FILTER_BUFFER_SIZE 20480
-class CPDF_StreamFilter : public CFX_Object
+class CPDF_StreamFilter
{
public:
@@ -705,7 +705,7 @@ protected:
FX_DWORD m_RefObjNum;
friend class CPDF_Object;
};
-class CPDF_IndirectObjects : public CFX_Object
+class CPDF_IndirectObjects
{
public:
diff --git a/core/include/fpdfapi/fpdf_page.h b/core/include/fpdfapi/fpdf_page.h
index 3fea866730..0bac0595c2 100644
--- a/core/include/fpdfapi/fpdf_page.h
+++ b/core/include/fpdfapi/fpdf_page.h
@@ -32,7 +32,7 @@ class CPDF_ResourceNaming;
#define PDF_CONTENT_NOT_PARSED 0
#define PDF_CONTENT_PARSING 1
#define PDF_CONTENT_PARSED 2
-class CPDF_PageObjects : public CFX_Object
+class CPDF_PageObjects
{
public:
@@ -199,7 +199,7 @@ protected:
CPDF_PageRenderCache* m_pPageRender;
};
-class CPDF_ParseOptions : public CFX_Object
+class CPDF_ParseOptions
{
public:
@@ -229,7 +229,7 @@ public:
CPDF_Form* Clone() const;
};
-class CPDF_PageContentGenerate : public CFX_Object
+class CPDF_PageContentGenerate
{
public:
CPDF_PageContentGenerate(CPDF_Page* pPage);
diff --git a/core/include/fpdfapi/fpdf_pageobj.h b/core/include/fpdfapi/fpdf_pageobj.h
index f211254791..bd11a209f0 100644
--- a/core/include/fpdfapi/fpdf_pageobj.h
+++ b/core/include/fpdfapi/fpdf_pageobj.h
@@ -99,7 +99,7 @@ public:
return m_pObject->IsRect();
}
};
-class CPDF_ClipPathData : public CFX_Object
+class CPDF_ClipPathData
{
public:
@@ -161,7 +161,7 @@ public:
void Transform(const CFX_AffineMatrix& matrix);
};
-class CPDF_ColorStateData : public CFX_Object
+class CPDF_ColorStateData
{
public:
@@ -208,7 +208,7 @@ class CPDF_GraphState : public CFX_CountRef<CFX_GraphStateData>
{
public:
};
-class CPDF_TextStateData : public CFX_Object
+class CPDF_TextStateData
{
public:
@@ -267,7 +267,7 @@ public:
};
class CPDF_TransferFunc;
-class CPDF_GeneralStateData : public CFX_Object
+class CPDF_GeneralStateData
{
public:
@@ -336,7 +336,7 @@ public:
return m_pObject ? FXSYS_round((bStroke ? m_pObject->m_StrokeAlpha : m_pObject->m_FillAlpha) * 255) : 255;
}
};
-class CPDF_ContentMarkItem : public CFX_Object
+class CPDF_ContentMarkItem
{
public:
@@ -388,7 +388,7 @@ private:
void* m_pParam;
};
-class CPDF_ContentMarkData : public CFX_Object
+class CPDF_ContentMarkData
{
public:
@@ -434,7 +434,7 @@ public:
#define PDFPAGE_SHADING 4
#define PDFPAGE_FORM 5
#define PDFPAGE_INLINES 6
-class CPDF_GraphicStates : public CFX_Object
+class CPDF_GraphicStates
{
public:
@@ -507,7 +507,7 @@ protected:
virtual ~CPDF_PageObject() {}
};
-struct CPDF_TextObjectItem : public CFX_Object {
+struct CPDF_TextObjectItem {
FX_DWORD m_CharCode;
diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h
index 4b91802601..c72acc834f 100644
--- a/core/include/fpdfapi/fpdf_parser.h
+++ b/core/include/fpdfapi/fpdf_parser.h
@@ -211,7 +211,7 @@ protected:
#define PDFWORD_TEXT 2
#define PDFWORD_DELIMITER 3
#define PDFWORD_NAME 4
-class CPDF_SimpleParser : public CFX_Object
+class CPDF_SimpleParser
{
public:
@@ -250,7 +250,7 @@ private:
FX_DWORD m_dwCurPos;
};
-class CPDF_SyntaxParser : public CFX_Object
+class CPDF_SyntaxParser
{
public:
@@ -372,7 +372,7 @@ struct PARSE_CONTEXT {
FX_FILESIZE m_DataEnd;
};
-class IPDF_DocParser : public CFX_Object
+class IPDF_DocParser
{
public:
virtual ~IPDF_DocParser() { }
@@ -613,7 +613,7 @@ protected:
#define FXCIPHER_RC4 1
#define FXCIPHER_AES 2
#define FXCIPHER_AES2 3
-class CPDF_SecurityHandler : public CFX_Object
+class CPDF_SecurityHandler
{
public:
@@ -715,7 +715,7 @@ private:
int m_KeyLen;
};
-class CPDF_CryptoHandler : public CFX_Object
+class CPDF_CryptoHandler
{
public:
@@ -772,7 +772,7 @@ protected:
FX_LPBYTE m_pAESContext;
};
-class CPDF_Point : public CFX_Object
+class CPDF_Point
{
public:
@@ -829,7 +829,7 @@ void FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideString&
void FlateEncode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
FX_DWORD FlateDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
FX_DWORD RunLengthDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
-class CPDF_NumberTree : public CFX_Object
+class CPDF_NumberTree
{
public:
@@ -885,7 +885,7 @@ protected:
IFX_FileAvail* m_pFileAvail;
IFX_FileRead* m_pFileRead;
};
-class CPDF_SortObjNumArray : public CFX_Object
+class CPDF_SortObjNumArray
{
public:
@@ -910,7 +910,7 @@ enum PDF_PAGENODE_TYPE {
PDF_PAGENODE_PAGES,
PDF_PAGENODE_ARRAY,
};
-class CPDF_PageNode : public CFX_Object
+class CPDF_PageNode
{
public:
CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {}
diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h
index e2801f61f2..2028550546 100644
--- a/core/include/fpdfapi/fpdf_render.h
+++ b/core/include/fpdfapi/fpdf_render.h
@@ -55,7 +55,7 @@ public:
#define RENDER_NOPATHSMOOTH 0x20000000
#define RENDER_NOIMAGESMOOTH 0x40000000
#define RENDER_LIMITEDIMAGECACHE 0x80000000
-class CPDF_RenderOptions : public CFX_Object
+class CPDF_RenderOptions
{
public:
@@ -81,7 +81,7 @@ public:
FX_ARGB TranslateColor(FX_ARGB argb) const;
};
-class CPDF_RenderContext : public CFX_Object
+class CPDF_RenderContext
{
public:
@@ -144,7 +144,7 @@ public:
const CFX_AffineMatrix* pOriginal2Bitmap
) = 0;
};
-class CPDF_ProgressiveRenderer : public CFX_Object
+class CPDF_ProgressiveRenderer
{
public:
@@ -201,7 +201,7 @@ protected:
void RenderStep();
};
-class CPDF_TextRenderer : public CFX_Object
+class CPDF_TextRenderer
{
public:
@@ -249,7 +249,7 @@ public:
virtual void SetCacheLimit(FX_DWORD limit) = 0;
};
-class CPDF_PageRenderCache : public CFX_Object
+class CPDF_PageRenderCache
{
public:
CPDF_PageRenderCache(CPDF_Page* pPage)
@@ -307,7 +307,7 @@ protected:
FX_DWORD m_nCacheSize;
FX_BOOL m_bCurFindCache;
};
-class CPDF_RenderConfig : public CFX_Object
+class CPDF_RenderConfig
{
public:
CPDF_RenderConfig();
diff --git a/core/include/fpdfapi/fpdf_resource.h b/core/include/fpdfapi/fpdf_resource.h
index 02edd558ba..86084d0b72 100644
--- a/core/include/fpdfapi/fpdf_resource.h
+++ b/core/include/fpdfapi/fpdf_resource.h
@@ -39,7 +39,7 @@ typedef struct FT_FaceRec_* FXFT_Face;
class CFX_CTTGSUBTable;
class CPDF_Page;
-template <class ObjClass> class CPDF_CountedObject : public CFX_Object
+template <class ObjClass> class CPDF_CountedObject
{
public:
ObjClass m_Obj;
@@ -76,7 +76,7 @@ typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedStreamAcc*> CPDF_FontFil
#define PDFFONT_USEEXTERNATTR 0x80000
FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name);
CFX_ByteString PDF_AdobeNameFromUnicode(FX_WCHAR unicode);
-class CPDF_Font : public CFX_Object
+class CPDF_Font
{
public:
@@ -323,7 +323,7 @@ protected:
#define PDFFONT_ENCODING_PDFDOC 7
#define PDFFONT_ENCODING_MS_SYMBOL 8
#define PDFFONT_ENCODING_UNICODE 9
-class CPDF_FontEncoding : public CFX_Object
+class CPDF_FontEncoding
{
public:
@@ -438,7 +438,7 @@ protected:
virtual FX_BOOL _Load();
virtual void LoadGlyphMap();
};
-class CPDF_Type3Char : public CFX_Object
+class CPDF_Type3Char
{
public:
@@ -582,7 +582,8 @@ protected:
#define PDFCS_DEVICEN 9
#define PDFCS_INDEXED 10
#define PDFCS_PATTERN 11
-class CPDF_ColorSpace : public CFX_Object
+
+class CPDF_ColorSpace
{
public:
@@ -677,7 +678,7 @@ protected:
FX_DWORD m_dwStdConversion;
};
-class CPDF_Color : public CFX_Object
+class CPDF_Color
{
public:
@@ -726,7 +727,7 @@ protected:
};
#define PATTERN_TILING 1
#define PATTERN_SHADING 2
-class CPDF_Pattern : public CFX_Object
+class CPDF_Pattern
{
public:
@@ -803,7 +804,7 @@ struct CPDF_MeshVertex {
FX_FLOAT x, y;
FX_FLOAT r, g, b;
};
-class CPDF_MeshStream : public CFX_Object
+class CPDF_MeshStream
{
public:
@@ -843,7 +844,7 @@ public:
FX_ARGB* pMatteColor;
FX_INT32 nQuality;
};
-class CPDF_Image : public CFX_Object
+class CPDF_Image
{
public:
diff --git a/core/include/fpdfapi/fpdf_serial.h b/core/include/fpdfapi/fpdf_serial.h
index a91870b5a5..50e5fbc346 100644
--- a/core/include/fpdfapi/fpdf_serial.h
+++ b/core/include/fpdfapi/fpdf_serial.h
@@ -113,7 +113,7 @@ protected:
#define FPDFCREATE_NO_ORIGINAL 2
#define FPDFCREATE_PROGRESSIVE 4
#define FPDFCREATE_OBJECTSTREAM 8
-class CPDF_Creator : public CFX_Object
+class CPDF_Creator
{
public: