diff options
author | dsinclair <dsinclair@chromium.org> | 2016-11-01 18:48:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-01 18:48:20 -0700 |
commit | 6fe8795d9022105a0061a0a81be9a49d49fda345 (patch) | |
tree | b1fc8d51560fbf0a9e4a163f887e763f565d5234 /xfa/fwl/core/ifwl_form.cpp | |
parent | 919e48d877e503f1ca250bc37324c9f7dc96d7a9 (diff) | |
download | pdfium-6fe8795d9022105a0061a0a81be9a49d49fda345.tar.xz |
Fold IFWL*::{Initialize|Finalize} into constructor/destructor
This Cl moves the ::Initialize method into the constructors and the
::Finalize method into the destructors. The |m_pDelegate| is made private and
a unique_ptr. A |SetDelegate| and |GetDelegate| method are added.
Review-Url: https://codereview.chromium.org/2464703006
Diffstat (limited to 'xfa/fwl/core/ifwl_form.cpp')
-rw-r--r-- | xfa/fwl/core/ifwl_form.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/xfa/fwl/core/ifwl_form.cpp b/xfa/fwl/core/ifwl_form.cpp index 2ded30e6d6..125f7c4cab 100644 --- a/xfa/fwl/core/ifwl_form.cpp +++ b/xfa/fwl/core/ifwl_form.cpp @@ -6,6 +6,7 @@ #include "xfa/fwl/core/ifwl_form.h" +#include "third_party/base/ptr_util.h" #include "xfa/fde/tto/fde_textout.h" #include "xfa/fwl/core/cfwl_message.h" #include "xfa/fwl/core/cfwl_themebackground.h" @@ -64,26 +65,16 @@ IFWL_Form::IFWL_Form(const IFWL_App* app, m_rtRestore.Reset(); m_rtCaptionText.Reset(); m_rtIcon.Reset(); -} - -IFWL_Form::~IFWL_Form() { - RemoveSysButtons(); -} - -void IFWL_Form::Initialize() { - IFWL_Widget::Initialize(); RegisterForm(); RegisterEventTarget(); - m_pDelegate = new CFWL_FormImpDelegate(this); + SetDelegate(pdfium::MakeUnique<CFWL_FormImpDelegate>(this)); } -void IFWL_Form::Finalize() { - delete m_pDelegate; - m_pDelegate = nullptr; +IFWL_Form::~IFWL_Form() { UnregisterEventTarget(); UnRegisterForm(); - IFWL_Widget::Finalize(); + RemoveSysButtons(); } FWL_Type IFWL_Form::GetClassID() const { |