summaryrefslogtreecommitdiff
path: root/fxjs/xfa/cjx_model.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-08-17 16:44:50 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-17 16:44:50 +0000
commit20736f7f5884cf1e2827543c92b6e47f8282aeaf (patch)
tree9a0f3cbd9262d1676f70ab02c3fa5b4e0acaa03a /fxjs/xfa/cjx_model.cpp
parent21068062a038db72b5ee40512fe638acbdd17c3d (diff)
downloadpdfium-20736f7f5884cf1e2827543c92b6e47f8282aeaf.tar.xz
Introduce safer CJS_Return::Success() and Failure().
Avoid the possibility of ever re-introducing the issue noticed last week. Remove some redundant JSGetStringFromID() calls. Change-Id: I56687c2191bd72e378f747083f34080e50cbe490 Reviewed-on: https://pdfium-review.googlesource.com/40490 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fxjs/xfa/cjx_model.cpp')
-rw-r--r--fxjs/xfa/cjx_model.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/fxjs/xfa/cjx_model.cpp b/fxjs/xfa/cjx_model.cpp
index d94a1b68fd..97d25175fe 100644
--- a/fxjs/xfa/cjx_model.cpp
+++ b/fxjs/xfa/cjx_model.cpp
@@ -28,14 +28,14 @@ CJX_Model::~CJX_Model() {}
CJS_Return CJX_Model::clearErrorList(
CFX_V8* runtime,
const std::vector<v8::Local<v8::Value>>& params) {
- return CJS_Return();
+ return CJS_Return::Success();
}
CJS_Return CJX_Model::createNode(
CFX_V8* runtime,
const std::vector<v8::Local<v8::Value>>& params) {
if (params.empty() || params.size() > 3)
- return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
+ return CJS_Return::Failure(JSMessage::kParamError);
WideString name;
if (params.size() > 1)
@@ -49,11 +49,11 @@ CJS_Return CJX_Model::createNode(
XFA_Element eType = CXFA_Node::NameToElement(tagName);
CXFA_Node* pNewNode = GetXFANode()->CreateSamePacketNode(eType);
if (!pNewNode)
- return CJS_Return(runtime->NewNull());
+ return CJS_Return::Success(runtime->NewNull());
if (!name.IsEmpty()) {
if (!pNewNode->HasAttribute(XFA_Attribute::Name))
- return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
+ return CJS_Return::Failure(JSMessage::kParamError);
pNewNode->JSObject()->SetAttribute(XFA_Attribute::Name, name.AsStringView(),
true);
@@ -64,22 +64,23 @@ CJS_Return CJX_Model::createNode(
CFXJSE_Value* value =
GetDocument()->GetScriptContext()->GetJSValueFromMap(pNewNode);
if (!value)
- return CJS_Return(runtime->NewNull());
+ return CJS_Return::Success(runtime->NewNull());
- return CJS_Return(value->DirectGetValue().Get(runtime->GetIsolate()));
+ return CJS_Return::Success(
+ value->DirectGetValue().Get(runtime->GetIsolate()));
}
CJS_Return CJX_Model::isCompatibleNS(
CFX_V8* runtime,
const std::vector<v8::Local<v8::Value>>& params) {
if (params.empty())
- return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
+ return CJS_Return::Failure(JSMessage::kParamError);
WideString nameSpace;
if (params.size() >= 1)
nameSpace = runtime->ToWideString(params[0]);
- return CJS_Return(
+ return CJS_Return::Success(
runtime->NewBoolean(TryNamespace().value_or(WideString()) == nameSpace));
}