Index: fpdfsdk/javascript/Document.cpp |
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp |
index 0b08f66f338a7142a2ec76e187ab0d856a6c5fe5..0c2e3f7399add2166c5151fc876ce1a69c9f2484 100644 |
--- a/fpdfsdk/javascript/Document.cpp |
+++ b/fpdfsdk/javascript/Document.cpp |
@@ -33,6 +33,7 @@ |
#include "fpdfsdk/javascript/cjs_runtime.h" |
#include "fpdfsdk/javascript/resource.h" |
#include "third_party/base/numerics/safe_math.h" |
+#include "third_party/base/ptr_util.h" |
BEGIN_JS_STATIC_CONST(CJS_PrintParamsObj) |
END_JS_STATIC_CONST() |
@@ -1256,8 +1257,8 @@ FX_BOOL Document::addIcon(IJS_Context* cc, |
return FALSE; |
} |
- m_IconList.push_back(std::unique_ptr<IconElement>( |
- new IconElement(swIconName, (Icon*)pEmbedObj))); |
+ m_Icons.push_back(pdfium::MakeUnique<IconElement>( |
+ swIconName, static_cast<Icon*>(pEmbedObj))); |
return TRUE; |
} |
@@ -1270,7 +1271,7 @@ FX_BOOL Document::icons(IJS_Context* cc, |
} |
CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
- if (m_IconList.empty()) { |
+ if (m_Icons.empty()) { |
vp.GetJSValue()->SetNull(pRuntime); |
return TRUE; |
} |
@@ -1278,7 +1279,7 @@ FX_BOOL Document::icons(IJS_Context* cc, |
CJS_Array Icons; |
int i = 0; |
- for (const auto& pIconElement : m_IconList) { |
+ for (const auto& pIconElement : m_Icons) { |
v8::Local<v8::Object> pObj = |
pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); |
if (pObj.IsEmpty()) |
@@ -1289,7 +1290,7 @@ FX_BOOL Document::icons(IJS_Context* cc, |
if (!pJS_Icon) |
return FALSE; |
- Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); |
+ Icon* pIcon = static_cast<Icon*>(pJS_Icon->GetEmbedObject()); |
if (!pIcon) |
return FALSE; |
@@ -1311,35 +1312,35 @@ FX_BOOL Document::getIcon(IJS_Context* cc, |
return FALSE; |
} |
- if (m_IconList.empty()) |
+ if (m_Icons.empty()) |
return FALSE; |
CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
CFX_WideString swIconName = params[0].ToCFXWideString(pRuntime); |
- for (const auto& pIconElement : m_IconList) { |
- if (pIconElement->IconName == swIconName) { |
- Icon* pRetIcon = pIconElement->IconStream; |
+ for (const auto& pIconElement : m_Icons) { |
+ if (pIconElement->IconName != swIconName) |
+ continue; |
- v8::Local<v8::Object> pObj = |
- pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); |
- if (pObj.IsEmpty()) |
- return FALSE; |
+ v8::Local<v8::Object> pObj = |
+ pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); |
+ if (pObj.IsEmpty()) |
+ return FALSE; |
- CJS_Icon* pJS_Icon = |
- static_cast<CJS_Icon*>(pRuntime->GetObjectPrivate(pObj)); |
- if (!pJS_Icon) |
- return FALSE; |
+ CJS_Icon* pJS_Icon = |
+ static_cast<CJS_Icon*>(pRuntime->GetObjectPrivate(pObj)); |
+ if (!pJS_Icon) |
+ return FALSE; |
- Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); |
- if (!pIcon) |
- return FALSE; |
+ Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); |
+ if (!pIcon) |
+ return FALSE; |
- pIcon->SetIconName(swIconName); |
- pIcon->SetStream(pRetIcon->GetStream()); |
- vRet = CJS_Value(pRuntime, pJS_Icon); |
- return TRUE; |
- } |
+ pIcon->SetIconName(swIconName); |
+ pIcon->SetStream(pIconElement->IconStream->GetStream()); |
+ |
+ vRet = CJS_Value(pRuntime, pJS_Icon); |
+ return TRUE; |
} |
return FALSE; |