summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_node.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-07-26 19:34:26 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-07-26 19:34:26 +0000
commitc9171e16d9d4477501d326d8d456fdc03e0f832e (patch)
tree89a91af4803e820b2e7f8c6e9901915c3415d72c /xfa/fxfa/parser/cxfa_node.cpp
parentea360af9048e7083107f9e27f8967351df241f70 (diff)
downloadpdfium-c9171e16d9d4477501d326d8d456fdc03e0f832e.tar.xz
Use moar ToXMLElement() in place of static_cast<>.
Introduces checks in a few new places, but mainly just consolidates checking/casting logic. Change-Id: I634a03060d254db099972c6978249992367e146c Reviewed-on: https://pdfium-review.googlesource.com/38900 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_node.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 363af54028..9fdea14cae 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -1259,11 +1259,9 @@ void CXFA_Node::RemoveChild(CXFA_Node* pNode, bool bNotify) {
return;
}
- ASSERT(pNode->xml_node_.Get() == xml_node_.Get() &&
- xml_node_->GetType() == FX_XMLNODE_Element);
- if (pNode->xml_node_->GetType() == FX_XMLNODE_Element) {
- CFX_XMLElement* pXMLElement =
- static_cast<CFX_XMLElement*>(pNode->xml_node_.Get());
+ ASSERT(pNode->xml_node_.Get() == xml_node_.Get());
+ CFX_XMLElement* pXMLElement = ToXMLElement(pNode->xml_node_.Get());
+ if (pXMLElement) {
WideString wsAttributeName =
pNode->JSObject()->GetCData(XFA_Attribute::QualifiedName);
pXMLElement->RemoveAttribute(wsAttributeName);
@@ -4700,10 +4698,10 @@ bool CXFA_Node::PresenceRequiresSpace() const {
}
void CXFA_Node::SetToXML(const WideString& value) {
- auto* elem = static_cast<CFX_XMLElement*>(GetXMLMappingNode());
- FX_XMLNODETYPE eXMLType = elem->GetType();
- switch (eXMLType) {
+ auto* pNode = GetXMLMappingNode();
+ switch (pNode->GetType()) {
case FX_XMLNODE_Element: {
+ auto* elem = static_cast<CFX_XMLElement*>(pNode);
if (IsAttributeInXML()) {
elem->SetAttribute(JSObject()->GetCData(XFA_Attribute::QualifiedName),
value);