summaryrefslogtreecommitdiff
path: root/fxjs/xfa/cjx_packet.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 /fxjs/xfa/cjx_packet.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 'fxjs/xfa/cjx_packet.cpp')
-rw-r--r--fxjs/xfa/cjx_packet.cpp50
1 files changed, 23 insertions, 27 deletions
diff --git a/fxjs/xfa/cjx_packet.cpp b/fxjs/xfa/cjx_packet.cpp
index b27cfbadfb..2288de4c8d 100644
--- a/fxjs/xfa/cjx_packet.cpp
+++ b/fxjs/xfa/cjx_packet.cpp
@@ -35,11 +35,10 @@ CJS_Return CJX_Packet::getAttribute(
return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
WideString attributeValue;
- CFX_XMLNode* pXMLNode = GetXFANode()->GetXMLMappingNode();
- if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) {
- attributeValue = static_cast<CFX_XMLElement*>(pXMLNode)->GetAttribute(
- runtime->ToWideString(params[0]));
- }
+ CFX_XMLElement* element = ToXMLElement(GetXFANode()->GetXMLMappingNode());
+ if (element)
+ attributeValue = element->GetAttribute(runtime->ToWideString(params[0]));
+
return CJS_Return(
runtime->NewString(attributeValue.UTF8Encode().AsStringView()));
}
@@ -50,10 +49,10 @@ CJS_Return CJX_Packet::setAttribute(
if (params.size() != 2)
return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
- CFX_XMLNode* pXMLNode = GetXFANode()->GetXMLMappingNode();
- if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) {
- static_cast<CFX_XMLElement*>(pXMLNode)->SetAttribute(
- runtime->ToWideString(params[1]), runtime->ToWideString(params[0]));
+ CFX_XMLElement* element = ToXMLElement(GetXFANode()->GetXMLMappingNode());
+ if (element) {
+ element->SetAttribute(runtime->ToWideString(params[1]),
+ runtime->ToWideString(params[0]));
}
return CJS_Return(runtime->NewNull());
}
@@ -64,12 +63,11 @@ CJS_Return CJX_Packet::removeAttribute(
if (params.size() != 1)
return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
- CFX_XMLNode* pXMLNode = GetXFANode()->GetXMLMappingNode();
- if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) {
+ CFX_XMLElement* pElement = ToXMLElement(GetXFANode()->GetXMLMappingNode());
+ if (pElement) {
WideString name = runtime->ToWideString(params[0]);
- CFX_XMLElement* pXMLElement = static_cast<CFX_XMLElement*>(pXMLNode);
- if (pXMLElement->HasAttribute(name))
- pXMLElement->RemoveAttribute(name);
+ if (pElement->HasAttribute(name))
+ pElement->RemoveAttribute(name);
}
return CJS_Return(runtime->NewNull());
}
@@ -77,25 +75,23 @@ CJS_Return CJX_Packet::removeAttribute(
void CJX_Packet::content(CFXJSE_Value* pValue,
bool bSetting,
XFA_Attribute eAttribute) {
- CFX_XMLNode* pXMLNode = GetXFANode()->GetXMLMappingNode();
+ CFX_XMLElement* element = ToXMLElement(GetXFANode()->GetXMLMappingNode());
if (bSetting) {
- if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) {
- auto* text = GetXFANode()
- ->GetDocument()
- ->GetNotify()
- ->GetHDOC()
- ->GetXMLDocument()
- ->CreateNode<CFX_XMLText>(pValue->ToWideString());
- pXMLNode->AppendChild(text);
+ if (element) {
+ element->AppendChild(
+ GetXFANode()
+ ->GetDocument()
+ ->GetNotify()
+ ->GetHDOC()
+ ->GetXMLDocument()
+ ->CreateNode<CFX_XMLText>(pValue->ToWideString()));
}
return;
}
WideString wsTextData;
- if (pXMLNode && pXMLNode->GetType() == FX_XMLNODE_Element) {
- CFX_XMLElement* pXMLElement = static_cast<CFX_XMLElement*>(pXMLNode);
- wsTextData = pXMLElement->GetTextData();
- }
+ if (element)
+ wsTextData = element->GetTextData();
pValue->SetString(wsTextData.UTF8Encode().AsStringView());
}