diff options
author | dsinclair <dsinclair@chromium.org> | 2016-10-18 19:26:30 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-18 19:26:31 -0700 |
commit | 09bad1cf251c68d1492af4049e1324a46d9c9725 (patch) | |
tree | 55465962c9010da1859a1fb3ffcf1f53d3fe414b /fpdfsdk/javascript/Document.cpp | |
parent | 4e903136cf0f02578c0e47c6738b633c96814b62 (diff) | |
download | pdfium-09bad1cf251c68d1492af4049e1324a46d9c9725.tar.xz |
Revert of Make Document::m_IconList a vector of IconElements. (patchset #2 id:20001 of https://codereview.chromium.org/2428743004/ )
Reason for revert:
Appears to be blocking the roll due to compile failure https://codereview.chromium.org/2429053002
Attempting to revert to see if the roll will pass.
Original issue's description:
> Make Document::m_IconList a vector of IconElements.
>
> There's no need for std::list<std::unique_ptr<IconElement>>.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/f328d0d378b8df8a3416988d96c34f1d3f9d26d1
TBR=npm@chromium.org,thestig@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://chromiumcodereview.appspot.com/2431913003
Diffstat (limited to 'fpdfsdk/javascript/Document.cpp')
-rw-r--r-- | fpdfsdk/javascript/Document.cpp | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp index 4b597ae127..0b08f66f33 100644 --- a/fpdfsdk/javascript/Document.cpp +++ b/fpdfsdk/javascript/Document.cpp @@ -1256,7 +1256,8 @@ FX_BOOL Document::addIcon(IJS_Context* cc, return FALSE; } - m_Icons.push_back(IconElement(swIconName, static_cast<Icon*>(pEmbedObj))); + m_IconList.push_back(std::unique_ptr<IconElement>( + new IconElement(swIconName, (Icon*)pEmbedObj))); return TRUE; } @@ -1269,7 +1270,7 @@ FX_BOOL Document::icons(IJS_Context* cc, } CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); - if (m_Icons.empty()) { + if (m_IconList.empty()) { vp.GetJSValue()->SetNull(pRuntime); return TRUE; } @@ -1277,7 +1278,7 @@ FX_BOOL Document::icons(IJS_Context* cc, CJS_Array Icons; int i = 0; - for (const auto& element : m_Icons) { + for (const auto& pIconElement : m_IconList) { v8::Local<v8::Object> pObj = pRuntime->NewFxDynamicObj(CJS_Icon::g_nObjDefnID); if (pObj.IsEmpty()) @@ -1288,12 +1289,12 @@ FX_BOOL Document::icons(IJS_Context* cc, if (!pJS_Icon) return FALSE; - Icon* pIcon = static_cast<Icon*>(pJS_Icon->GetEmbedObject()); + Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); if (!pIcon) return FALSE; - pIcon->SetStream(element.IconStream->GetStream()); - pIcon->SetIconName(element.IconName); + pIcon->SetStream(pIconElement->IconStream->GetStream()); + pIcon->SetIconName(pIconElement->IconName); Icons.SetElement(pRuntime, i++, CJS_Value(pRuntime, pJS_Icon)); } @@ -1310,34 +1311,35 @@ FX_BOOL Document::getIcon(IJS_Context* cc, return FALSE; } - if (m_Icons.empty()) + if (m_IconList.empty()) return FALSE; CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); CFX_WideString swIconName = params[0].ToCFXWideString(pRuntime); - for (const auto& element : m_Icons) { - if (element.IconName != swIconName) - continue; + for (const auto& pIconElement : m_IconList) { + if (pIconElement->IconName == swIconName) { + Icon* pRetIcon = pIconElement->IconStream; - 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 = static_cast<Icon*>(pJS_Icon->GetEmbedObject()); - if (!pIcon) - return FALSE; + Icon* pIcon = (Icon*)pJS_Icon->GetEmbedObject(); + if (!pIcon) + return FALSE; - pIcon->SetIconName(swIconName); - pIcon->SetStream(element.IconStream->GetStream()); - vRet = CJS_Value(pRuntime, pJS_Icon); - return TRUE; + pIcon->SetIconName(swIconName); + pIcon->SetStream(pRetIcon->GetStream()); + vRet = CJS_Value(pRuntime, pJS_Icon); + return TRUE; + } } return FALSE; |