diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-04-14 12:54:38 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-04-14 12:54:38 -0700 |
commit | 4926900ab54a493d236291b5a24dfa4476792182 (patch) | |
tree | e53800a0569300516c934bfccbb036ce39d98cb3 /core/src/reflow | |
parent | eddab4425614e49146f904f00da4a664ba4b581b (diff) | |
download | pdfium-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/src/reflow')
-rw-r--r-- | core/src/reflow/autoreflow.h | 6 | ||||
-rw-r--r-- | core/src/reflow/layoutprovider_taggedpdf.h | 4 | ||||
-rw-r--r-- | core/src/reflow/reflowedpage.h | 17 |
3 files changed, 13 insertions, 14 deletions
diff --git a/core/src/reflow/autoreflow.h b/core/src/reflow/autoreflow.h index d98f33bf4e..6a137e9ae2 100644 --- a/core/src/reflow/autoreflow.h +++ b/core/src/reflow/autoreflow.h @@ -12,7 +12,7 @@ class CPDF_AutoReflowElement; class CPDF_AutoReflowLayoutProvider; typedef CFX_ArrayTemplate<CPDF_AutoReflowElement*> CAR_ElmPtrArray; typedef CFX_ArrayTemplate<CPDF_PageObject*> CAR_ObjPtrArray; -class CRF_CELL : public CFX_Object +class CRF_CELL { public: CRF_CELL() { }; @@ -21,7 +21,7 @@ public: int m_CellWritingMode; FX_RECT m_BBox; }; -class CPDF_AutoReflowElement : public IPDF_LayoutElement, public CFX_Object +class CPDF_AutoReflowElement : public IPDF_LayoutElement { public: CPDF_AutoReflowElement(LayoutType layoutType = LayoutUnknown , CPDF_AutoReflowElement* pParent = NULL) ; @@ -68,7 +68,7 @@ public: #define AUTOREFLOW_STEP_GENERATEParagraph 2 #define AUTOREFLOW_STEP_CREATEELEMENT 3 #define AUTOREFLOW_STEP_REMOVEDATA 4 -class CPDF_AutoReflowLayoutProvider : public IPDF_LayoutProvider, public CFX_Object +class CPDF_AutoReflowLayoutProvider : public IPDF_LayoutProvider { public: CPDF_AutoReflowLayoutProvider(CPDF_PageObjects* pPage, FX_BOOL bReadOrder); diff --git a/core/src/reflow/layoutprovider_taggedpdf.h b/core/src/reflow/layoutprovider_taggedpdf.h index b2c8947a82..b573c3e5bf 100644 --- a/core/src/reflow/layoutprovider_taggedpdf.h +++ b/core/src/reflow/layoutprovider_taggedpdf.h @@ -7,7 +7,7 @@ #ifndef LayoutProvider_TaggedPDF_H #define LayoutProvider_TaggedPDF_H #include "../../include/reflow/reflowengine.h" -class CPDF_LayoutElement : public IPDF_LayoutElement, public CFX_Object +class CPDF_LayoutElement : public IPDF_LayoutElement { public: CPDF_LayoutElement(); @@ -47,7 +47,7 @@ protected: FX_COLORREF GetDefaultColorValue(LayoutAttr attr_type); CFX_PtrArray m_ObjArray; }; -class CPDF_LayoutProvider_TaggedPDF : public IPDF_LayoutProvider, public CFX_Object +class CPDF_LayoutProvider_TaggedPDF : public IPDF_LayoutProvider { public: CPDF_LayoutProvider_TaggedPDF(); diff --git a/core/src/reflow/reflowedpage.h b/core/src/reflow/reflowedpage.h index b76834132e..5ca7a8d947 100644 --- a/core/src/reflow/reflowedpage.h +++ b/core/src/reflow/reflowedpage.h @@ -18,7 +18,6 @@ class CRF_AttrOperation; class CRF_OperationDate; class CPDF_ReflowedPage; class CPDF_Rect; -class CFX_Object; typedef CFX_SegmentedArray<CRF_Data*> CRF_DataPtrArray; class CRF_CharState; typedef CFX_SegmentedArray<CRF_CharState> CRF_CharStateArray; @@ -26,7 +25,7 @@ typedef CFX_SegmentedArray<CRF_CharState> CRF_CharStateArray; #define SST_BLSE 2 #define SST_ILSE 3 #define SST_IE 4 -class CPDF_LayoutProcessor_Reflow : public IPDF_LayoutProcessor, public CFX_Object +class CPDF_LayoutProcessor_Reflow : public IPDF_LayoutProcessor { public: CPDF_LayoutProcessor_Reflow(); @@ -106,7 +105,7 @@ struct RF_TableCell { LayoutEnum m_InlineAlign; }; typedef CFX_ArrayTemplate<RF_TableCell*> CRF_TableCellArray; -class CRF_Table : public CFX_Object +class CRF_Table { public: CRF_Table() @@ -120,7 +119,7 @@ public: FX_FLOAT m_TableWidth; FX_FLOAT m_ReflowPageHeight; }; -class CRF_CharState : public CFX_Object +class CRF_CharState { public: CPDF_Font* m_pFont; @@ -132,7 +131,7 @@ public: CPDF_TextObject* m_pTextObj; }; -class CRF_PageInfo : public CFX_Object +class CRF_PageInfo { public: CRF_PageInfo(CPDF_PageObject* pPageObj, CRF_PageInfo* pParent = NULL) @@ -158,7 +157,7 @@ protected: CPDF_PageObject* m_pPageObj; CRF_PageInfo* m_pParent; }; -class CPDF_ReflowedPage : public IPDF_ReflowedPage, public CFX_PrivateData, public CFX_Object +class CPDF_ReflowedPage : public IPDF_ReflowedPage, public CFX_PrivateData { public: @@ -192,7 +191,7 @@ public: CFX_MapPtrToPtr* m_pPageInfos; }; -class CPDF_ProgressiveReflowPageParser : public IPDF_ProgressiveReflowPageParser, public CFX_Object +class CPDF_ProgressiveReflowPageParser : public IPDF_ProgressiveReflowPageParser { public: CPDF_ProgressiveReflowPageParser(); @@ -227,7 +226,7 @@ protected: int m_nObjProcessed; int m_flags; }; -class CPDF_ProgressiveReflowPageRender : public IPDF_ProgressiveReflowPageRender, public CFX_Object +class CPDF_ProgressiveReflowPageRender : public IPDF_ProgressiveReflowPageRender { public: CPDF_ProgressiveReflowPageRender(); @@ -292,7 +291,7 @@ protected: #define TYPE_PATH 2 #define TYPE_IMAGE 3 #define TYPE_LINE 4 -class CRF_Data : public CFX_Object +class CRF_Data { public: typedef enum {Unknow, Text, Image, Path, Line, paragraph} RF_DataType; |