diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-07-23 23:12:14 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-23 23:12:14 +0000 |
commit | c62aa207e9acb919c33df5f3694fe159619dda86 (patch) | |
tree | 8584f29b95261d6504e5a88679c12140928b22a1 /xfa/fxfa/parser/cxfa_thisproxy.cpp | |
parent | 1116ef0b1c45a4968d45a21d995193a7670126b3 (diff) | |
download | pdfium-c62aa207e9acb919c33df5f3694fe159619dda86.tar.xz |
Tighten up ThisProxy casts.
Previous CLs have shown that the "lpClass" checks aren't sufficient
here, so ensure we are always checking C++ enum value before
downcasting this type.
Change-Id: I418127c5e7131e0a3363363a60d1976719d6837c
Reviewed-on: https://pdfium-review.googlesource.com/38550
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_thisproxy.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_thisproxy.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xfa/fxfa/parser/cxfa_thisproxy.cpp b/xfa/fxfa/parser/cxfa_thisproxy.cpp index 314c98c9f0..a3593e99b5 100644 --- a/xfa/fxfa/parser/cxfa_thisproxy.cpp +++ b/xfa/fxfa/parser/cxfa_thisproxy.cpp @@ -10,6 +10,12 @@ #include "third_party/base/ptr_util.h" #include "xfa/fxfa/parser/cxfa_node.h" +// static +CXFA_ThisProxy* CXFA_ThisProxy::FromCXFAObject(CXFA_Object* that) { + return that && that->IsVariablesThis() ? static_cast<CXFA_ThisProxy*>(that) + : nullptr; +} + CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode) : CXFA_Object(pThisNode->GetDocument(), XFA_ObjectType::VariablesThis, @@ -19,4 +25,4 @@ CXFA_ThisProxy::CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode) m_pThisNode(pThisNode), m_pScriptNode(pScriptNode) {} -CXFA_ThisProxy::~CXFA_ThisProxy() {} +CXFA_ThisProxy::~CXFA_ThisProxy() = default; |