summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-05-20 13:58:28 -0700
committerCommit bot <commit-bot@chromium.org>2016-05-20 13:58:28 -0700
commit92b54029289a312d5dbb5e1d7dc4a8e9b8c73db4 (patch)
tree8a6f6e139afacbdd2e296f5e2b58d36e1f6841ac
parent192bb33e621f7d29a7c940eba8b8a6050e430bf3 (diff)
downloadpdfium-92b54029289a312d5dbb5e1d7dc4a8e9b8c73db4.tar.xz
Use std::set to track uniqueness in xfa_script_layoutpseudomodel.cpp
Review-Url: https://codereview.chromium.org/2001743002
-rw-r--r--xfa/fxfa/parser/xfa_script_layoutpseudomodel.cpp39
1 files changed, 17 insertions, 22 deletions
diff --git a/xfa/fxfa/parser/xfa_script_layoutpseudomodel.cpp b/xfa/fxfa/parser/xfa_script_layoutpseudomodel.cpp
index e48d3d5ffa..ffb3a9e588 100644
--- a/xfa/fxfa/parser/xfa_script_layoutpseudomodel.cpp
+++ b/xfa/fxfa/parser/xfa_script_layoutpseudomodel.cpp
@@ -6,6 +6,9 @@
#include "xfa/fxfa/parser/xfa_script_layoutpseudomodel.h"
+#include <set>
+
+#include "third_party/base/stl_util.h"
#include "xfa/fxfa/app/xfa_ffnotify.h"
#include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
#include "xfa/fxfa/parser/xfa_doclayout.h"
@@ -232,8 +235,7 @@ void CScript_LayoutPseudoModel::Script_LayoutPseudoModel_GetObjArray(
}
return;
}
- CFX_MapPtrToPtr formItems;
- formItems.InitHashTable(256, TRUE);
+ std::set<CXFA_Node*> formItems;
if (wsType.IsEmpty()) {
if (CXFA_Node* pMasterPage = pLayoutPage->m_pFormNode) {
retArray.Add(pMasterPage);
@@ -258,10 +260,10 @@ void CScript_LayoutPseudoModel::Script_LayoutPseudoModel_GetObjArray(
eElementType != XFA_ELEMENT_Area) {
continue;
}
- if (formItems.GetValueAt(pItemChild->m_pFormNode)) {
+ if (pdfium::ContainsValue(formItems, pItemChild->m_pFormNode))
continue;
- }
- formItems.SetAt(pItemChild->m_pFormNode, this);
+
+ formItems.insert(pItemChild->m_pFormNode);
retArray.Add(pItemChild->m_pFormNode);
}
}
@@ -282,10 +284,9 @@ void CScript_LayoutPseudoModel::Script_LayoutPseudoModel_GetObjArray(
eElementType != XFA_ELEMENT_Area) {
continue;
}
- if (formItems.GetValueAt(pItemChild->m_pFormNode)) {
+ if (pdfium::ContainsValue(formItems, pItemChild->m_pFormNode))
continue;
- }
- formItems.SetAt(pItemChild->m_pFormNode, this);
+ formItems.insert(pItemChild->m_pFormNode);
retArray.Add(pItemChild->m_pFormNode);
}
}
@@ -313,16 +314,13 @@ void CScript_LayoutPseudoModel::Script_LayoutPseudoModel_GetObjArray(
iterator((CXFA_ContentLayoutItem*)pItem->m_pFirstChild);
for (CXFA_ContentLayoutItem* pItemChild = iterator.GetCurrent();
pItemChild; pItemChild = iterator.MoveToNext()) {
- if (!pItemChild->IsContentLayoutItem()) {
+ if (!pItemChild->IsContentLayoutItem())
continue;
- }
- if (pItemChild->m_pFormNode->GetClassID() != eType) {
+ if (pItemChild->m_pFormNode->GetClassID() != eType)
continue;
- }
- if (formItems.GetValueAt(pItemChild->m_pFormNode)) {
+ if (pdfium::ContainsValue(formItems, pItemChild->m_pFormNode))
continue;
- }
- formItems.SetAt(pItemChild->m_pFormNode, this);
+ formItems.insert(pItemChild->m_pFormNode);
retArray.Add(pItemChild->m_pFormNode);
}
}
@@ -333,16 +331,13 @@ void CScript_LayoutPseudoModel::Script_LayoutPseudoModel_GetObjArray(
iterator((CXFA_ContentLayoutItem*)pItem);
for (CXFA_ContentLayoutItem* pItemChild = iterator.GetCurrent();
pItemChild; pItemChild = iterator.MoveToNext()) {
- if (!pItemChild->IsContentLayoutItem()) {
+ if (!pItemChild->IsContentLayoutItem())
continue;
- }
- if (pItemChild->m_pFormNode->GetClassID() != eType) {
+ if (pItemChild->m_pFormNode->GetClassID() != eType)
continue;
- }
- if (formItems.GetValueAt(pItemChild->m_pFormNode)) {
+ if (pdfium::ContainsValue(formItems, pItemChild->m_pFormNode))
continue;
- }
- formItems.SetAt(pItemChild->m_pFormNode, this);
+ formItems.insert(pItemChild->m_pFormNode);
retArray.Add(pItemChild->m_pFormNode);
}
}