Remove CFX_ArrayTemplate from xfa_layoutpagemgr.cpp

Change-Id: I0956ecff82a11376a3d7b9176b4a13ee4e707cc3
Reviewed-on: https://pdfium-review.googlesource.com/3241
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
index 7b4cf26..a0d67d2 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
+++ b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
@@ -553,17 +553,16 @@
 void CXFA_LayoutPageMgr::AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord,
                                                CXFA_Node* pNewPageArea) {
   CXFA_ContainerLayoutItem* pNewPageAreaLayoutItem = nullptr;
-  if (m_PageArray.GetSize() > m_nAvailPages) {
+  if (pdfium::IndexInBounds(m_PageArray, m_nAvailPages)) {
     CXFA_ContainerLayoutItem* pContainerItem = m_PageArray[m_nAvailPages];
     pContainerItem->m_pFormNode = pNewPageArea;
     m_nAvailPages++;
     pNewPageAreaLayoutItem = pContainerItem;
   } else {
     CXFA_FFNotify* pNotify = pNewPageArea->GetDocument()->GetNotify();
-    CXFA_ContainerLayoutItem* pContainerItem =
-        static_cast<CXFA_ContainerLayoutItem*>(
-            pNotify->OnCreateLayoutItem(pNewPageArea));
-    m_PageArray.Add(pContainerItem);
+    auto* pContainerItem = static_cast<CXFA_ContainerLayoutItem*>(
+        pNotify->OnCreateLayoutItem(pNewPageArea));
+    m_PageArray.push_back(pContainerItem);
     m_nAvailPages++;
     pNotify->OnPageEvent(pContainerItem, XFA_PAGEVIEWEVENT_PostRemoved);
     pNewPageAreaLayoutItem = pContainerItem;
@@ -648,7 +647,7 @@
             }
           }
           bool bUsable = true;
-          CFX_ArrayTemplate<float> rgUsedHeights;
+          std::vector<float> rgUsedHeights;
           for (CXFA_LayoutItem* pChildLayoutItem =
                    pLastPageAreaLayoutItem->m_pFirstChild;
                pChildLayoutItem;
@@ -668,7 +667,7 @@
                 fUsedHeight += pContent->m_sSize.height;
               }
             }
-            rgUsedHeights.Add(fUsedHeight);
+            rgUsedHeights.push_back(fUsedHeight);
           }
           int32_t iCurContentAreaIndex = -1;
           for (CXFA_Node* pContentAreaNode =
@@ -724,19 +723,19 @@
 }
 
 int32_t CXFA_LayoutPageMgr::GetPageCount() const {
-  return m_PageArray.GetSize();
+  return pdfium::CollectionSize<int32_t>(m_PageArray);
 }
 
 CXFA_ContainerLayoutItem* CXFA_LayoutPageMgr::GetPage(int32_t index) const {
-  if (index < 0 || index >= m_PageArray.GetSize())
+  if (!pdfium::IndexInBounds(m_PageArray, index))
     return nullptr;
   return m_PageArray[index];
 }
 
 int32_t CXFA_LayoutPageMgr::GetPageIndex(
     const CXFA_ContainerLayoutItem* pPage) const {
-  // FIXME: Find() method should take const.
-  return m_PageArray.Find(const_cast<CXFA_ContainerLayoutItem*>(pPage));
+  auto it = std::find(m_PageArray.begin(), m_PageArray.end(), pPage);
+  return it != m_PageArray.end() ? it - m_PageArray.begin() : -1;
 }
 
 bool CXFA_LayoutPageMgr::RunBreak(XFA_Element eBreakType,
@@ -1923,10 +1922,10 @@
     }
   }
 
-  int32_t nPage = m_PageArray.GetSize();
+  int32_t nPage = pdfium::CollectionSize<int32_t>(m_PageArray);
   for (int32_t i = nPage - 1; i >= m_nAvailPages; i--) {
     CXFA_ContainerLayoutItem* pPage = m_PageArray[i];
-    m_PageArray.RemoveAt(i);
+    m_PageArray.erase(m_PageArray.begin() + i);
     pNotify->OnPageEvent(pPage, XFA_PAGEVIEWEVENT_PostRemoved);
     delete pPage;
   }
@@ -1963,7 +1962,7 @@
       m_pPageSetLayoutItemRoot = nullptr;
       pRootLayoutItem = nullptr;
       pPageSetFormNode = nullptr;
-      m_PageArray.RemoveAll();
+      m_PageArray.clear();
     }
     while (pPageSetFormNode) {
       CXFA_Node* pNextPageSet =
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.h b/xfa/fxfa/parser/cxfa_layoutpagemgr.h
index ae967b5..7428374 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.h
+++ b/xfa/fxfa/parser/cxfa_layoutpagemgr.h
@@ -10,6 +10,7 @@
 #include <iterator>
 #include <list>
 #include <map>
+#include <vector>
 
 #include "xfa/fxfa/parser/xfa_layout_itemlayout.h"
 
@@ -140,7 +141,7 @@
   XFA_ATTRIBUTEENUM m_ePageSetMode;
   bool m_bCreateOverFlowPage;
   std::map<CXFA_Node*, int32_t> m_pPageSetMap;
-  CFX_ArrayTemplate<CXFA_ContainerLayoutItem*> m_PageArray;
+  std::vector<CXFA_ContainerLayoutItem*> m_PageArray;
 };
 
 #endif  // XFA_FXFA_PARSER_CXFA_LAYOUTPAGEMGR_H_