Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: xfa/fxfa/include/xfa_ffpageview.h

Issue 1976123003: Remove { delete this; } anti-pattern from IXFA_WidgetIterator (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Restore page Release(). Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxfa/include/xfa_ffdocview.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef XFA_FXFA_INCLUDE_XFA_FFPAGEVIEW_H_ 7 #ifndef XFA_FXFA_INCLUDE_XFA_FFPAGEVIEW_H_
8 #define XFA_FXFA_INCLUDE_XFA_FFPAGEVIEW_H_ 8 #define XFA_FXFA_INCLUDE_XFA_FFPAGEVIEW_H_
9 9
10 #include "xfa/fxfa/parser/xfa_doclayout.h" 10 #include "xfa/fxfa/parser/xfa_doclayout.h"
(...skipping 18 matching lines...) Expand all
29 XFA_WIDGETFILTER_Viewable | 29 XFA_WIDGETFILTER_Viewable |
30 XFA_WIDGETFILTER_AllType); 30 XFA_WIDGETFILTER_AllType);
31 31
32 protected: 32 protected:
33 CXFA_FFDocView* const m_pDocView; 33 CXFA_FFDocView* const m_pDocView;
34 }; 34 };
35 35
36 typedef CXFA_NodeIteratorTemplate<CXFA_LayoutItem, 36 typedef CXFA_NodeIteratorTemplate<CXFA_LayoutItem,
37 CXFA_TraverseStrategy_LayoutItem> 37 CXFA_TraverseStrategy_LayoutItem>
38 CXFA_LayoutItemIterator; 38 CXFA_LayoutItemIterator;
39
39 class CXFA_FFPageWidgetIterator : public IXFA_WidgetIterator { 40 class CXFA_FFPageWidgetIterator : public IXFA_WidgetIterator {
40 public: 41 public:
41 CXFA_FFPageWidgetIterator(CXFA_FFPageView* pPageView, uint32_t dwFilter); 42 CXFA_FFPageWidgetIterator(CXFA_FFPageView* pPageView, uint32_t dwFilter);
42 virtual ~CXFA_FFPageWidgetIterator(); 43 ~CXFA_FFPageWidgetIterator() override;
43
44 void Release() override { delete this; }
45 44
46 void Reset() override; 45 void Reset() override;
47 CXFA_FFWidget* MoveToFirst() override; 46 CXFA_FFWidget* MoveToFirst() override;
48 CXFA_FFWidget* MoveToLast() override; 47 CXFA_FFWidget* MoveToLast() override;
49 CXFA_FFWidget* MoveToNext() override; 48 CXFA_FFWidget* MoveToNext() override;
50 CXFA_FFWidget* MoveToPrevious() override; 49 CXFA_FFWidget* MoveToPrevious() override;
51 CXFA_FFWidget* GetCurrentWidget() override; 50 CXFA_FFWidget* GetCurrentWidget() override;
52 FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget) override; 51 FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget) override;
53 52
54 protected: 53 protected:
(...skipping 11 matching lines...) Expand all
66 CXFA_TabParam() : m_pWidget(NULL) {} 65 CXFA_TabParam() : m_pWidget(NULL) {}
67 ~CXFA_TabParam() {} 66 ~CXFA_TabParam() {}
68 67
69 CXFA_FFWidget* m_pWidget; 68 CXFA_FFWidget* m_pWidget;
70 CXFA_WidgetArray m_Children; 69 CXFA_WidgetArray m_Children;
71 }; 70 };
72 class CXFA_FFTabOrderPageWidgetIterator : public IXFA_WidgetIterator { 71 class CXFA_FFTabOrderPageWidgetIterator : public IXFA_WidgetIterator {
73 public: 72 public:
74 CXFA_FFTabOrderPageWidgetIterator(CXFA_FFPageView* pPageView, 73 CXFA_FFTabOrderPageWidgetIterator(CXFA_FFPageView* pPageView,
75 uint32_t dwFilter); 74 uint32_t dwFilter);
76 virtual ~CXFA_FFTabOrderPageWidgetIterator(); 75 ~CXFA_FFTabOrderPageWidgetIterator() override;
77
78 void Release() override;
79 76
80 void Reset() override; 77 void Reset() override;
81 CXFA_FFWidget* MoveToFirst() override; 78 CXFA_FFWidget* MoveToFirst() override;
82 CXFA_FFWidget* MoveToLast() override; 79 CXFA_FFWidget* MoveToLast() override;
83 CXFA_FFWidget* MoveToNext() override; 80 CXFA_FFWidget* MoveToNext() override;
84 CXFA_FFWidget* MoveToPrevious() override; 81 CXFA_FFWidget* MoveToPrevious() override;
85 CXFA_FFWidget* GetCurrentWidget() override; 82 CXFA_FFWidget* GetCurrentWidget() override;
86 FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget) override; 83 FX_BOOL SetCurrentWidget(CXFA_FFWidget* hWidget) override;
87 84
88 protected: 85 protected:
(...skipping 11 matching lines...) Expand all
100 FX_BOOL bMarsterPage = FALSE); 97 FX_BOOL bMarsterPage = FALSE);
101 98
102 CXFA_WidgetArray m_TabOrderWidgetArray; 99 CXFA_WidgetArray m_TabOrderWidgetArray;
103 CXFA_FFPageView* m_pPageView; 100 CXFA_FFPageView* m_pPageView;
104 uint32_t m_dwFilter; 101 uint32_t m_dwFilter;
105 int32_t m_iCurWidget; 102 int32_t m_iCurWidget;
106 FX_BOOL m_bIgnorerelevant; 103 FX_BOOL m_bIgnorerelevant;
107 }; 104 };
108 105
109 #endif // XFA_FXFA_INCLUDE_XFA_FFPAGEVIEW_H_ 106 #endif // XFA_FXFA_INCLUDE_XFA_FFPAGEVIEW_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/include/xfa_ffdocview.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698