Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(633)

Unified Diff: xfa/src/fxfa/src/parser/xfa_layout_itemlayout.cpp

Issue 1712913002: Move m_rgPendingNodes off of CFX_PtrList. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Delcaration ordering. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « xfa/src/fxfa/src/parser/xfa_layout_itemlayout.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: xfa/src/fxfa/src/parser/xfa_layout_itemlayout.cpp
diff --git a/xfa/src/fxfa/src/parser/xfa_layout_itemlayout.cpp b/xfa/src/fxfa/src/parser/xfa_layout_itemlayout.cpp
index f3b1276797d2debcab7103f8171d111231f87c7a..6f2a5010a1facf5bbf8024d7c60698cb751fdbd3 100644
--- a/xfa/src/fxfa/src/parser/xfa_layout_itemlayout.cpp
+++ b/xfa/src/fxfa/src/parser/xfa_layout_itemlayout.cpp
@@ -5,6 +5,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include <algorithm>
+#include <memory>
#include "xfa/src/foxitlib.h"
#include "xfa/src/fxfa/src/common/xfa_utils.h"
@@ -1752,14 +1753,14 @@ static void XFA_ItemLayoutProcessor_AddPendingNode(
CXFA_ItemLayoutProcessor* pProcessor,
CXFA_Node* pPendingNode,
FX_BOOL bBreakPending) {
- pProcessor->m_rgPendingNodes.AddTail(pPendingNode);
+ pProcessor->m_PendingNodes.push_back(pPendingNode);
pProcessor->m_bBreakPending = bBreakPending;
}
static FX_FLOAT XFA_ItemLayoutProcessor_InsertPendingItems(
CXFA_ItemLayoutProcessor* pProcessor,
CXFA_Node* pCurChildNode) {
FX_FLOAT fTotalHeight = 0;
- if (pProcessor->m_rgPendingNodes.GetCount() < 1) {
+ if (pProcessor->m_PendingNodes.empty()) {
return fTotalHeight;
}
if (pProcessor->m_pLayoutItem == NULL) {
@@ -1767,22 +1768,19 @@ static FX_FLOAT XFA_ItemLayoutProcessor_InsertPendingItems(
pProcessor->CreateContentLayoutItem(pCurChildNode);
pProcessor->m_pLayoutItem->m_sSize.Set(0, 0);
}
- while (pProcessor->m_rgPendingNodes.GetCount() > 0) {
- FX_POSITION pos = pProcessor->m_rgPendingNodes.GetHeadPosition();
- CXFA_Node* pPendingNode =
- reinterpret_cast<CXFA_Node*>(pProcessor->m_rgPendingNodes.GetAt(pos));
- pProcessor->m_rgPendingNodes.RemoveAt(pos);
- CXFA_ContentLayoutItem* pPendingLayoutItem = NULL;
- CXFA_ItemLayoutProcessor* pPendingProcessor =
- new CXFA_ItemLayoutProcessor(pPendingNode, NULL);
+ while (!pProcessor->m_PendingNodes.empty()) {
+ std::unique_ptr<CXFA_ItemLayoutProcessor> pPendingProcessor(
+ new CXFA_ItemLayoutProcessor(pProcessor->m_PendingNodes.front(),
+ nullptr));
+ pProcessor->m_PendingNodes.pop_front();
#ifndef _XFA_LAYOUTITEM_ProcessCACHE_
pPendingProcessor->m_pPageMgrCreateItem = pProcessor->m_pPageMgrCreateItem;
#endif
pPendingProcessor->DoLayout(FALSE, XFA_LAYOUT_FLOAT_MAX);
- pPendingLayoutItem = pPendingProcessor->HasLayoutItem()
- ? pPendingProcessor->ExtractLayoutItem()
- : NULL;
- delete pPendingProcessor;
+ CXFA_ContentLayoutItem* pPendingLayoutItem =
+ pPendingProcessor->HasLayoutItem()
+ ? pPendingProcessor->ExtractLayoutItem()
+ : nullptr;
if (pPendingLayoutItem) {
XFA_ItemLayoutProcessor_AddLeaderAfterSplit(pProcessor,
pPendingLayoutItem);
@@ -2715,8 +2713,8 @@ XFA_ItemLayoutProcessorResult CXFA_ItemLayoutProcessor::DoLayoutFlowedContainer(
}
}
FX_BOOL bRetValue =
- (m_nCurChildNodeStage == XFA_ItemLayoutProcessorStages_Done &&
- m_rgPendingNodes.GetCount() == 0);
+ m_nCurChildNodeStage == XFA_ItemLayoutProcessorStages_Done &&
+ m_PendingNodes.empty();
if (bBreakDone) {
bRetValue = FALSE;
}
« no previous file with comments | « xfa/src/fxfa/src/parser/xfa_layout_itemlayout.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698