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

Unified Diff: fpdfsdk/formfiller/cffl_interactiveformfiller.h

Issue 2368403002: Watch destruction of widgets around OnAAction() method (Closed)
Patch Set: Pass everywhere Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: fpdfsdk/formfiller/cffl_interactiveformfiller.h
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.h b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
index 1594cfda179a391c48db8a5fa8a4a9534741a1f6..e3d57b59fb8e365022c091ca24ca978cc55d8645 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.h
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
@@ -10,12 +10,12 @@
#include <map>
#include <memory>
+#include "fpdfsdk/include/cpdfsdk_annot.h"
#include "fpdfsdk/include/fsdk_define.h"
#include "fpdfsdk/pdfwindow/PWL_Edit.h"
class CFFL_FormFiller;
class CPDFSDK_Environment;
-class CPDFSDK_Annot;
class CPDFSDK_PageView;
class CPDFSDK_Widget;
@@ -33,45 +33,43 @@ class CFFL_InteractiveFormFiller : public IPWL_Filler_Notify {
CPDFSDK_Annot* pAnnot,
CFX_RenderDevice* pDevice,
CFX_Matrix* pUser2Device);
-
virtual void OnCreate(CPDFSDK_Annot* pAnnot);
virtual void OnLoad(CPDFSDK_Annot* pAnnot);
virtual void OnDelete(CPDFSDK_Annot* pAnnot);
virtual void OnMouseEnter(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlag);
virtual void OnMouseExit(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlag);
-
virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point);
virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point);
virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point);
virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point);
virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
short zDelta,
const CFX_FloatPoint& point);
virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point);
virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
+ CPDFSDK_Annot::ObservedPtr& pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point);
@@ -82,8 +80,10 @@ class CFFL_InteractiveFormFiller : public IPWL_Filler_Notify {
uint32_t nChar,
uint32_t nFlags);
- virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag);
- virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag);
+ virtual FX_BOOL OnSetFocus(CPDFSDK_Annot::ObservedPtr& pAnnot,
+ uint32_t nFlag);
+ virtual FX_BOOL OnKillFocus(CPDFSDK_Annot::ObservedPtr& pAnnot,
+ uint32_t nFlag);
CFFL_FormFiller* GetFormFiller(CPDFSDK_Annot* pAnnot, FX_BOOL bRegister);
void RemoveFormFiller(CPDFSDK_Annot* pAnnot);
@@ -94,12 +94,12 @@ class CFFL_InteractiveFormFiller : public IPWL_Filler_Notify {
static FX_BOOL IsValidAnnot(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot);
- void OnKeyStrokeCommit(CPDFSDK_Widget* pWidget,
+ void OnKeyStrokeCommit(CPDFSDK_Annot::ObservedPtr& pWidget,
CPDFSDK_PageView* pPageView,
FX_BOOL& bRC,
FX_BOOL& bExit,
uint32_t nFlag);
- void OnValidate(CPDFSDK_Widget* pWidget,
+ void OnValidate(CPDFSDK_Annot::ObservedPtr& pWidget,
CPDFSDK_PageView* pPageView,
FX_BOOL& bRC,
FX_BOOL& bExit,
@@ -113,7 +113,7 @@ class CFFL_InteractiveFormFiller : public IPWL_Filler_Notify {
CPDFSDK_PageView* pPageView,
FX_BOOL& bExit,
uint32_t nFlag);
- void OnButtonUp(CPDFSDK_Widget* pWidget,
+ void OnButtonUp(CPDFSDK_Annot::ObservedPtr& pWidget,
CPDFSDK_PageView* pPageView,
FX_BOOL& bReset,
FX_BOOL& bExit,

Powered by Google App Engine
This is Rietveld 408576698