diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-08-17 16:44:50 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-17 16:44:50 +0000 |
commit | 20736f7f5884cf1e2827543c92b6e47f8282aeaf (patch) | |
tree | 9a0f3cbd9262d1676f70ab02c3fa5b4e0acaa03a /fxjs/xfa/cjx_model.cpp | |
parent | 21068062a038db72b5ee40512fe638acbdd17c3d (diff) | |
download | pdfium-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.cpp | 17 |
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)); } |