summaryrefslogtreecommitdiff
path: root/fpdfsdk/cpdfsdk_pageview.h
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-05-25 22:38:49 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-05-25 22:38:49 +0000
commit2aa4b2f3928ccd8393f60db8f7b740c75f4e8a8d (patch)
tree3c31b98ac48d5bb95c782cfe3c754037e66119d9 /fpdfsdk/cpdfsdk_pageview.h
parentb1ec280837cc6e1932754ef40de26d12b77aa910 (diff)
downloadpdfium-2aa4b2f3928ccd8393f60db8f7b740c75f4e8a8d.tar.xz
Make CPDF_Page retainable.
Small step to reducing the differences between XFA and non-XFA. We still use the RetainPtr pretty much as if it were an unique_ptr, in that we're not yet caching pages and handing out multiple pointers to the same page in the non-XFA case. The one change is in page view cleanup, where we no longer need a boolean and can take (sufficient) page ownership with a RetainPtr. Tidy up some document.h -> page.h -> document.h circular inclusion while we're at it. NOTE: Wait for imminent branch to pass before landing. We'll want this to bake a while. Change-Id: I64a2f12ac3424ece1063d40583995b834117cf34 Reviewed-on: https://pdfium-review.googlesource.com/32790 Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fpdfsdk/cpdfsdk_pageview.h')
-rw-r--r--fpdfsdk/cpdfsdk_pageview.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/fpdfsdk/cpdfsdk_pageview.h b/fpdfsdk/cpdfsdk_pageview.h
index e85b32aa78..afb200e43b 100644
--- a/fpdfsdk/cpdfsdk_pageview.h
+++ b/fpdfsdk/cpdfsdk_pageview.h
@@ -102,8 +102,7 @@ class CPDFSDK_PageView final : public CPDF_Page::View {
bool IsBeingDestroyed() const { return m_bBeingDestroyed; }
#ifndef PDF_ENABLE_XFA
- bool OwnsPage() const { return m_bOwnsPage; }
- void TakePageOwnership() { m_bOwnsPage = true; }
+ void TakePageOwnership() { m_pOwnsPage.Reset(m_page); }
#endif // PDF_ENABLE_XFA
private:
@@ -126,12 +125,12 @@ class CPDFSDK_PageView final : public CPDF_Page::View {
UnownedPtr<CPDFSDK_FormFillEnvironment> const m_pFormFillEnv;
CPDFSDK_Annot::ObservedPtr m_pCaptureWidget;
#ifndef PDF_ENABLE_XFA
- bool m_bOwnsPage;
+ RetainPtr<CPDF_Page> m_pOwnsPage;
#endif // PDF_ENABLE_XFA
- bool m_bOnWidget;
- bool m_bValid;
- bool m_bLocked;
- bool m_bBeingDestroyed;
+ bool m_bOnWidget = false;
+ bool m_bValid = false;
+ bool m_bLocked = false;
+ bool m_bBeingDestroyed = false;
};
#endif // FPDFSDK_CPDFSDK_PAGEVIEW_H_