From 313c42553b5355fc7e2625114d58da6f8dc71e51 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Mon, 27 Feb 2017 16:37:36 -0800 Subject: Remove unused IconElement::IconStream. Follow up to https://pdfium-review.googlesource.com/c/2829/ Change-Id: Ic743a5931f743c3e0e3f24246dca768cec09be4f Reviewed-on: https://pdfium-review.googlesource.com/2843 Commit-Queue: Lei Zhang Reviewed-by: Tom Sepez --- fpdfsdk/javascript/Document.cpp | 44 +++++++++++++++++------------------------ fpdfsdk/javascript/Document.h | 18 ++++------------- 2 files changed, 22 insertions(+), 40 deletions(-) diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp index 6928a061a2..a45b8b9ea7 100644 --- a/fpdfsdk/javascript/Document.cpp +++ b/fpdfsdk/javascript/Document.cpp @@ -6,6 +6,7 @@ #include "fpdfsdk/javascript/Document.h" +#include #include #include @@ -1215,14 +1216,12 @@ bool Document::addIcon(CJS_Runtime* pRuntime, return false; } - CJS_EmbedObj* pEmbedObj = params[1].ToCJSObject(pRuntime)->GetEmbedObject(); - if (!pEmbedObj) { + if (!params[1].ToCJSObject(pRuntime)->GetEmbedObject()) { sError = JSGetStringFromID(IDS_STRING_JSTYPEERROR); return false; } - m_Icons.push_back(pdfium::MakeUnique( - swIconName, static_cast(pEmbedObj))); + m_IconNames.push_back(swIconName); return true; } @@ -1233,14 +1232,14 @@ bool Document::icons(CJS_Runtime* pRuntime, sError = JSGetStringFromID(IDS_STRING_JSREADONLY); return false; } - if (m_Icons.empty()) { + if (m_IconNames.empty()) { vp.GetJSValue()->SetNull(pRuntime); return true; } CJS_Array Icons; int i = 0; - for (const auto& pIconElement : m_Icons) { + for (const auto& name : m_IconNames) { v8::Local pObj = pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); if (pObj.IsEmpty()) @@ -1249,7 +1248,7 @@ bool Document::icons(CJS_Runtime* pRuntime, CJS_Icon* pJS_Icon = static_cast(pRuntime->GetObjectPrivate(pObj)); Icon* pIcon = static_cast(pJS_Icon->GetEmbedObject()); - pIcon->SetIconName(pIconElement->IconName); + pIcon->SetIconName(name); Icons.SetElement(pRuntime, i++, CJS_Value(pRuntime, pJS_Icon)); } @@ -1266,28 +1265,21 @@ bool Document::getIcon(CJS_Runtime* pRuntime, return false; } - if (m_Icons.empty()) - return false; - CFX_WideString swIconName = params[0].ToCFXWideString(pRuntime); - for (const auto& pIconElement : m_Icons) { - if (pIconElement->IconName != swIconName) - continue; - - v8::Local pObj = - pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); - if (pObj.IsEmpty()) - return false; + auto it = std::find(m_IconNames.begin(), m_IconNames.end(), swIconName); + if (it == m_IconNames.end()) + return false; - CJS_Icon* pJS_Icon = - static_cast(pRuntime->GetObjectPrivate(pObj)); - Icon* pIcon = static_cast(pJS_Icon->GetEmbedObject()); - pIcon->SetIconName(swIconName); - vRet = CJS_Value(pRuntime, pJS_Icon); - return true; - } + v8::Local pObj = + pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); + if (pObj.IsEmpty()) + return false; - return false; + CJS_Icon* pJS_Icon = static_cast(pRuntime->GetObjectPrivate(pObj)); + Icon* pIcon = static_cast(pJS_Icon->GetEmbedObject()); + pIcon->SetIconName(*it); + vRet = CJS_Value(pRuntime, pJS_Icon); + return true; } bool Document::removeIcon(CJS_Runtime* pRuntime, diff --git a/fpdfsdk/javascript/Document.h b/fpdfsdk/javascript/Document.h index 661307e62a..91ca778c79 100644 --- a/fpdfsdk/javascript/Document.h +++ b/fpdfsdk/javascript/Document.h @@ -41,20 +41,9 @@ class CJS_PrintParamsObj : public CJS_Object { DECLARE_JS_CLASS(); }; -class Icon; -class Field; - -struct IconElement { - IconElement(const CFX_WideString& name, Icon* stream) - : IconName(name), IconStream(stream) {} - - const CFX_WideString IconName; - Icon* const IconStream; -}; - -struct CJS_DelayData; -struct CJS_DelayAnnot; struct CJS_AnnotObj; +struct CJS_DelayAnnot; +struct CJS_DelayData; class Document : public CJS_EmbedObj { public: @@ -318,7 +307,8 @@ class Document : public CJS_EmbedObj { CPDFSDK_FormFillEnvironment::ObservedPtr m_pFormFillEnv; CFX_WideString m_cwBaseURL; std::list> m_DelayData; - std::list> m_Icons; // For iterator stability. + // Needs to be a std::list for iterator stability. + std::list m_IconNames; bool m_bDelay; }; -- cgit v1.2.3