summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_document.h
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-07-02 23:08:53 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-07-02 23:08:53 +0000
commitc9aa2f8bfdf74ffae633c7bb1a4d908dda9caed5 (patch)
treed7e5045ac8add9395b2a62242fbdee0eecfd8bfb /core/fpdfapi/parser/cpdf_document.h
parent555b41aebe002918c806a8239dcab9ec2c032252 (diff)
downloadpdfium-c9aa2f8bfdf74ffae633c7bb1a4d908dda9caed5.tar.xz
Virtualize Observable<T>::ObservedPtr::OnDestroy() for CPDF_Avail cleanup
This enables more complicated cleanup when an observed object is destroyed. Use it to make documents observable and to allow the CPDF_Avail to cleanup without the need for intermediate class. Change-Id: I3a8e758b7ff542e0a58710eff1ac8017205cbd45 Reviewed-on: https://pdfium-review.googlesource.com/36373 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_document.h')
-rw-r--r--core/fpdfapi/parser/cpdf_document.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/fpdfapi/parser/cpdf_document.h b/core/fpdfapi/parser/cpdf_document.h
index 401f37d0cf..a40993da17 100644
--- a/core/fpdfapi/parser/cpdf_document.h
+++ b/core/fpdfapi/parser/cpdf_document.h
@@ -18,6 +18,7 @@
#include "core/fpdfapi/parser/cpdf_object.h"
#include "core/fpdfapi/parser/cpdf_parser.h"
#include "core/fpdfdoc/cpdf_linklist.h"
+#include "core/fxcrt/observable.h"
#include "core/fxcrt/retain_ptr.h"
class CFX_Font;
@@ -40,7 +41,8 @@ class JBig2_DocumentContext;
#define FPDFPERM_FILL_FORM 0x0100
#define FPDFPERM_EXTRACT_ACCESS 0x0200
-class CPDF_Document : public CPDF_Parser::ParsedObjectsHolder {
+class CPDF_Document : public Observable<CPDF_Document>,
+ public CPDF_Parser::ParsedObjectsHolder {
public:
// Type from which the XFA extension can subclass itself.
class Extension {