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

Unified Diff: fpdfsdk/cpdfsdk_baannot.cpp

Issue 2306663002: Add observer for BAAnnots from Javascript (Closed)
Patch Set: 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/cpdfsdk_baannot.cpp
diff --git a/fpdfsdk/cpdfsdk_baannot.cpp b/fpdfsdk/cpdfsdk_baannot.cpp
index a2fd7c79bbae37d6f04b45f16ada3b6ab09a06cb..f5aa4e8fc72b4ecee419fb845c938733ef64ebcd 100644
--- a/fpdfsdk/cpdfsdk_baannot.cpp
+++ b/fpdfsdk/cpdfsdk_baannot.cpp
@@ -13,6 +13,22 @@
#include "fpdfsdk/include/cpdfsdk_datetime.h"
#include "fpdfsdk/include/fsdk_mgr.h"
+CPDFSDK_BAAnnot::Observer::Observer(CPDFSDK_BAAnnot** pWatchedPtr)
+ : m_pWatchedPtr(pWatchedPtr) {
+ (*m_pWatchedPtr)->AddObserver(this);
+}
+
+CPDFSDK_BAAnnot::Observer::~Observer() {
+ if (m_pWatchedPtr)
+ (*m_pWatchedPtr)->RemoveObserver(this);
+}
+
+void CPDFSDK_BAAnnot::Observer::OnAnnotDestroyed() {
+ ASSERT(m_pWatchedPtr);
+ *m_pWatchedPtr = nullptr;
+ m_pWatchedPtr = nullptr;
+}
+
CPDFSDK_BAAnnot::CPDFSDK_BAAnnot(CPDF_Annot* pAnnot,
CPDFSDK_PageView* pPageView)
: CPDFSDK_Annot(pPageView), m_pAnnot(pAnnot) {}

Powered by Google App Engine
This is Rietveld 408576698